Статус
Закрыто для дальнейших ответов.

Rust

Новичок форума
Уникальная проблема !

Уважаемые профессионалы !
В ветках форумов для начинающих моя просьба больше не рассматривается... Очевидно сложная она все таки для ветки начинающих. Закрывалка всего лишь не закрывает...
Прошу посмотреть на код и если кому ведома наука машинных закрывалок и та ошибка кода(внизу по тексту), которая колебает меня уже около месяца времени,
- растолкуйте пожалуйста что она такое и как с ней общаться ?
Оччень хочется доработать закрывалку до рабочего состояния, чтоб закрывала наконец-то открытые позиции. В отличие от всех других, широко известных рабочих закрывалок в этой только индикатор другой, - индикатор Хала (HMA), - та же Наша "машка".

СПАСИБО !

//+------------------------------------------------------------------+
//| zakrivalka2_buy.mq4 |
//+------------------------------------------------------------------+
extern double Lots = 0.01;
double price,result,COLOR;
int ticket,cnt,MagicNumber = 7;

int init() { return(0); }int deinit() { return(0); }

void start()
{
if (!IsTradeAllowed()) Sleep(5000);
RefreshRates();

double val1=iCustom(NULL, 0, "hma",8,3,0,0,0);
double val2=iCustom(NULL, 0, "hma",8,3,0,0,4);

if(val2>val1) Print("красный");
{
for(cnt=0; cnt < OrdersTotal(); cnt++)
{
if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderMagicNumber() == MagicNumber && OrderType()==OP_BUY)
result=OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
}
if(result!=true)
{
int err=GetLastError();
Print("LastError = ",err);
}
}
}
}
 
Последнее редактирование:

alexshell

Элитный участник
Уважаемые профессионалы !
В ветках форумов для начинающих моя просьба больше не рассматривается... Очевидно сложная она все таки для ветки начинающих. Закрывалка всего лишь не закрывает...
Прошу посмотреть на код и если кому ведома наука машинных закрывалок и та ошибка кода(внизу по тексту), которая колебает меня уже около месяца времени,
- растолкуйте пожалуйста что она такое и как с ней общаться ?
Оччень хочется доработать закрывалку до рабочего состояния, чтоб закрывала наконец-то открытые позиции. В отличие от всех других, широко известных рабочих закрывалок в этой только индикатор другой, - индикатор Хала (HMA), - та же Наша "машка".

СПАСИБО !


result=OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
да уж. Сам писал? Красное замени на Bid
Сейчас посмотрел твои условия закрытия: Она будет закрывать сразу же твои ордера Независимо от условий. Сделай так:
if(val2>val1) {
Print("красный");
for(cnt=0; cnt < OrdersTotal(); cnt++)
{
if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderMagicNumber() == MagicNumber && OrderType()==OP_BUY)
result=OrderClose(OrderTicket(),OrderLots(),Bid,3, Red);
}
if(result!=true)
{
int err=GetLastError();
Print("LastError = ",err);
}
}
}
}
 
Последнее редактирование:

k_34

Новичок форума
Вопрос такой, иногда происходит проскальзывание на тейк профит, т.е. он не выставляется в сделке, из-за большого потока ордеров в один момент, есть советник который будет мониторить и выставлять фиксированный тейк профит в случае если он не был выставлен?
 

Rust

Новичок форума
да уж. Сам писал? Красное замени на Bid
Сейчас посмотрел твои условия закрытия: Она будет закрывать сразу же твои ордера Независимо от условий. Сделай так:
if(val2>val1) {
Print("красный");
for(cnt=0; cnt < OrdersTotal(); cnt++)
{
if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderMagicNumber() == MagicNumber && OrderType()==OP_BUY)
result=OrderClose(OrderTicket(),OrderLots(),Bid,3, Red);
}
if(result!=true)
{
int err=GetLastError();
Print("LastError = ",err);
}
}
}
}

Да, писали вдвоём и вот она какая простая, - но ошибка...
Сейчас поправлю и установлю на тест, результаты сообщю.
СПАСИБО ВАМ !
Удачи и профитов !
 

baydin1111

Интересующийся
Вопрос не понятен. Он и так при заданной просадке закроет позиции или при заданном профите.

:-( Да точно както не так
Ну попробую на примере: допустим работает советник (не этот) в 2 окна со своими настройками открывает и закрывает ордера, но как только общая просадка доходит допустим до 50% активируется e-CloseByPercentProfit и он закроет все сразу вместе с терминалом при достижении цели допустим 0 , профит или не большой минус , как задашь в настройках. Мысль такова что бы после просадки советники не ждали профита а закрывались в 0, или минус. Вроде все изложил)
 

alexshell

Элитный участник
Возможно ли что бы этот советник начинал роботать после определенной просадки в процентах или валюте? Если возможно буду очень благодарен)

Везет мне сегодня на советники с ошибкой.
Терминал закрывать не будет. Не знаю как исправить.
Будет просто при определённой просадке активироваться и отслеживать позиции и потом закроет по заданному профиту или убытку.
 

Вложения

  • e-CloseByPercentProfit.mq4
    12,6 КБ · Просмотры: 27

alexshell

Элитный участник
Вопрос такой, иногда происходит проскальзывание на тейк профит, т.е. он не выставляется в сделке, из-за большого потока ордеров в один момент, есть советник который будет мониторить и выставлять фиксированный тейк профит в случае если он не был выставлен?

Наверно где нибудь есть. У меня нет. Обратись в поиск советников. Может кто-нибудь поделится.
 

baydin1111

Интересующийся
Везет мне сегодня на советники с ошибкой.
Терминал закрывать не будет. Не знаю как исправить.
Будет просто при определённой просадке активироваться и отслеживать позиции и потом закроет по заданному профиту или убытку.
С закрыванием терминала я вчера разобрался там в инклуд фаил кинуть надо. За работу очень брагодарен!!! Не сочтите за наглость но может вы и тут сможете помоч. Советник ставит стартовую линию и от нее раскидывает сетку, проблема в том что если ордера закрывает не ОН то вся сетка отложенников выставляется от предведущей линии и после хорошего движения это очень не приятно:oops: причем эту старт линию даже в ручную не перетянуть, нужно только окна закрывать и открывать новые... Хочелось бы (если возможно) чтоб при закрытии ордеров и удалении отложенников предведущим советником (e-CloseByPercentProfit) отложенники стартовали от текущей цены , а не от той наглой линии) Еще раз БООльшое спасибо!!!:)
 

Вложения

  • Urdala_Tester.mq4
    24,7 КБ · Просмотры: 44

baydin1111

Интересующийся
Ну или хотя бы чтоб линия обновлялась после закрытия ордеров другим советником.
И еще хотел уточнить , e-CloseByPercentProfit после того как закроет все ордера, будет спать до следующей просадки?
 

alexshell

Элитный участник
Ну или хотя бы чтоб линия обновлялась после закрытия ордеров другим советником.
И еще хотел уточнить , e-CloseByPercentProfit после того как закроет все ордера, будет спать до следующей просадки?

Да он будет ждать новой просадки. Советник посмотрю но ничего не обещаю.
 

alexshell

Элитный участник
Не сочтите за наглость но может вы и тут сможете помоч. Советник ставит стартовую линию и от нее раскидывает сетку, проблема в том что если ордера закрывает не ОН то вся сетка отложенников выставляется от предведущей линии и после хорошего движения это очень не приятно:oops: причем эту старт линию даже в ручную не перетянуть, нужно только окна закрывать и открывать новые... Хочелось бы (если возможно) чтоб при закрытии ордеров и удалении отложенников предведущим советником (e-CloseByPercentProfit) отложенники стартовали от текущей цены , а не от той наглой линии) Еще раз БООльшое спасибо!!!:)

Скиньте файл Orders.csv . Без него не получается запустить.
 

Ted Nikson

Местный житель
Уважаемые программисты помогите плийз

Сообщение от Ted Nikson Здравствуйте eevviil. Вы знаете индикатор HP DIFF (для работы на график нужно прикрыпить два индюка HP и HP DIFF). По просьба другому участника вы уже прикрепили раньше к етому индюка alert. Можно ли сейчась по этому индюку написать простую сову основаную на принципе только открытия позиции в бай или сел при смене цвета? За ранее вырожаю благодарность и огромное спасибо если поможете, а если нет всеравно спасибо за ваш труд до тех пор. [Ted Nikson: Здравствуйте eevviil. Вы знаете индикатор HP DIFF (для работы на график нужно прикрыпить два индюка HP и HP DIFF). По просьба другому участника вы уже прикрепили раньше к етому индюка alert. Можно ли сейчась по этому индюку написать простую сову основаную на принципе только открытия позиции в бай или сел при смене цвета?]

Посмотрите советники iCustom, их куча от v1 до v10. можно любой выбрать, они в свободном доступе.

Спосибо для совет, но не получилось. Наверно проблем в том что индикатор HP_DIFF, по котором надо сделаем експерт, для своя работа ползует другой второй индикатор HP. Я не знаю как с етом справлюс в експерте. Приклепляю еще раз два индикатора и мой експерт i custom, которой не работает (есть две ошибки).
 

Вложения

  • HP.mq4
    2,4 КБ · Просмотры: 303
  • HP_DIFF.mq4
    1,6 КБ · Просмотры: 382
  • i custom-HP DIFF.mq4
    80,5 КБ · Просмотры: 245
  • Like
Реакции: fix

HeadbaY

Почетный гражданин
Помогите доработать код, точнее закрытие по сигналу. Имеется выдержка из кода рабочей совы>
//+------------------------------------------------------------------+
// Если время торговли не истекло и мы не открывали позицию на этом баре:
//+------------------------------------------------------------------+

if(Traiding && timeCheckSignal!=Time[0])

{
//+------------------------------------------------------------------+
// Если сигнал на бай:
//+------------------------------------------------------------------+
if(Signal==1)// buy
{
//Вычисляем стоплосс
if(StopLoss!=0)sl=Bid-StopLoss*Point; else sl=0;
// ВЫчисляем тейкпрофит
if(TakeProfit!=0)tp=Ask+TakeProfit*Point; else tp=0;
//+------------------------------------------------------------------+
//Закрываем противоположную позицию
//+------------------------------------------------------------------+
if(ClosePosifChange)CPD(Symbol(),OP_SELL,Magic);
//+------------------------------------------------------------------+
//Открываем позицию
//+------------------------------------------------------------------+
if((ONlyOnePosbySignal && !EPs(Symbol(),OP_BUY,Magic)) || !ONlyOnePosbySignal)
{
OPs(Symbol(),OP_BUY,GetSizeLot(),sl,tp,Magic,"Templates www.expforex.com");
timeCheckSignal=Time[0];
Nap1=0; Nap2=0;
}

}

//+------------------------------------------------------------------+
// Если сигнал на селл:
//+------------------------------------------------------------------+
if(Signal==2)// селл
{
//Вычисляем стоплосс
if(StopLoss!=0)sl=Ask+StopLoss*Point; else sl=0;
// ВЫчисляем тейкпрофит
if(TakeProfit!=0)tp=Bid-TakeProfit*Point; else tp=0;
//Закрываем противоположную позицию
if(ClosePosifChange)CPD(Symbol(),OP_BUY,Magic);
//+------------------------------------------------------------------+
//Открываем позицию
//+------------------------------------------------------------------+
if((ONlyOnePosbySignal && !EPs(Symbol(),OP_SELL,Magic)) || !ONlyOnePosbySignal)
{
OPs(Symbol(),OP_SELL,GetSizeLot(),sl,tp,Magic,"Templates www.expforex.com");
timeCheckSignal=Time[0];
Nap1=0; Nap2=0;
}

}

//+------------------------------------------------------------------+
//+------------------------------------------------------------------+

Суть данного блока, закрывает открытый/серию открытых ордеров, только в том случае, если поступил сигнал на открытие ордера в противоположную сторону. Но если поступил сигнал на открытие ордера в туже сторону что уже открытый ордер, то открытый ордер не закрывается, а открывается ещё один в туже сторону.
____
Требуется сделать так, что бы он всегда закрывал открытый ордер перед открытием нового, неважно в какую сторону поступил сигнал.
 
Последнее редактирование:
Статус
Закрыто для дальнейших ответов.
Верх