Благодарю, Integer - я хочу только уточнить вот что.
Если в журнале (или лучше в комменте) при этом появится строка "Отсылаем ордер", - то это будет означить, что сигнал отправлен на сервер.
Но если, при этом, отклика нет, т.е. сервер и журнал "молчат" и позиция не открывается, то - что это означает? Что сигнал где-то застрял и не дошел?
Если Print() стоит непосредственно перед OrderSend(), то гарантировано, что если есть сообщение в журнале, то OrderSend() выполнялся. Отправлена заявка на сервер или нет - неизвестно, может в тот момент связи не было.
Сразу после OrderSend() можно добавить:
int check=GetLastError();
if(check!=0) {
Print("Ошибка "+check);
}
Тогда получится узнать, что произошло. Коды ошибок здесь
Леонид, не понятно что это такое. Надо по значениям Trade41 и Trade42 получить значение Trade_F4, т.е. Trade_F4 зависит только от Trade41 и Trade42, и больше ни от чего не зависит. Или же это что-то типа фильтра, до выполнения этого кода Trade_F4 могло иметь какое-то значение, а в этом коде нужно ее переключить в случае выполнения условий Trade41 и Trade42.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Благодарю, Integer - я хочу только уточнить вот что.
Если в журнале (или лучше в комменте) при этом появится строка "Отсылаем ордер", - то это будет означить, что сигнал отправлен на сервер.
Но если, при этом, отклика нет, т.е. сервер и журнал "молчат" и позиция не открывается, то - что это означает? Что сигнал где-то застрял и не дошел?
Если Print() стоит непосредственно перед OrderSend(), то гарантировано, что если есть сообщение в журнале, то OrderSend() выполнялся. Отправлена заявка на сервер или нет - неизвестно, может в тот момент связи не было.
Сразу после OrderSend() можно добавить:
Тогда получится узнать, что произошло. Коды ошибок здесь
Всем привет!
Подскажите пожалуйста. Как (и можно ли) вот эти четыре строки записать покороче:
одной-двумя строками, используя || ?Всем привет!
Подскажите пожалуйста. Как (и можно ли) вот эти четыре строки записать покороче:
одной-двумя строками?Условия малость избыточны
Да, пожалуй!
Что-то. я немного намудрил.
Да, пожалуй!
Что-то. я немного намудрил.
Кто вам так сказал?
Я себя не позиционирую никем, - я вовсе не профессионал - а скромный любитель.
Какие разборки, вы о чем, гражданин?
========================
Я уже мозги вывернул наизнанку! Никак не соображу.
Есть две последние свечи 1 и 2-я.
//=========================================================== if (FILTER_4 ) { //если выключатель 4-го фильтра включен //------------------------------------------------------------------ //если первая свеча более заданнаго значения, то вход запрещен if ( MathAbs(iOpen(NULL ,0,1)-iClose(NULL ,0,1))<= Size_Limit1*Point) Trade41=true; else Trade41=false; //------------------------------------------------------------------- //если вторая свеча более заданнаго значения, то вход запрещен if( MathAbs(iOpen(NULL ,0,2)-iClose(NULL ,0,2))<= Size_Limit2*Point ) Trade42=true; else Trade42=false; //---------------------------------------------------------------- }Мне нужно запретить открытие позиций, если размер (close-open) 1-й свечи больше допустимого (на случай сильного убыточного движения).
Это я нетрудно.
А как мне задать вот такое условие:
Открытие позиций запрещено, - если первая свеча больше заданного размера (Trade41=false)
либо обе свечи - первая и вторая вместе - тоже каждая больше заданного размера ?
Сделал вот так:
- но что - то оптимизация практически не реагирует на такое условие. И у меня закралось подозрение, что - что-то не так задано.
Может так: