double LOW = iLow(Symbol(), PERIOD_M1, -1);
вы берете сигналы с "-1" бара - которого ещё нет - из будущего... :)
P,s, еще тут не правильно:
double OPEN = iOpen(Symbol(), PERIOD_M1, 0);
double HIGH = iHigh(Symbol(), PERIOD_M1, -1);
double LOW = iLow(Symbol(), PERIOD_M1, -1);
double CLOSE = iClose(Symbol(), PERIOD_M1, -1);
double HIGHCLOSE = CLOSE == HIGH; ( тут )
double LOWCLOSE = CLOSE == LOW; ( тут )
ну и входы => будут не правильны....
double LOW = iLow(Symbol(), PERIOD_M1, -1);
вы берете сигналы с "-1" бара - которого ещё нет - из будущего... :)
P,s, еще тут не правильно:
double OPEN = iOpen(Symbol(), PERIOD_M1, 0);
double HIGH = iHigh(Symbol(), PERIOD_M1, -1);
double LOW = iLow(Symbol(), PERIOD_M1, -1);
double CLOSE = iClose(Symbol(), PERIOD_M1, -1);
double HIGHCLOSE = CLOSE == HIGH; ( тут )
double LOWCLOSE = CLOSE == LOW; ( тут )
ну и входы => будут не правильны....
Простите пожалста, но разве -1 это не с прошлого бара, а 1 с будущего????? А там, где вы указали, это когда цена закрытия соответствует максимальной цене.
А можете ли вы исправить этот код???
Простите пожалста, но разве -1 это не с прошлого бара, а 1 с будущего????? А там, где вы указали, это когда цена закрытия соответствует максимальной цене.
А можете ли вы исправить этот код???
Я сейчас накидаю пример для условий... :) ( как раз так и научитесь по тихоньку :))
Вход в бай ( если геп был вниз)
if ((( iClose(NULL, 0, 1)< iOpen((NULL, 0, 1))&& (( iClose(NULL, 0, 1)- iOpen(NULL, 0, 0))>Х)
бай...
на селл будет наоборот т.е:
if((( iClose(NULL, 0, 1)> iOpen(NULL, 0, 1))&& (( iClose(NULL, 0, 1)-iOpen(NULL, 0, 0))>Х))
Х - вынесите в настройки эксперта - это на сколько пунктов больше должен быть разрыв ( ГЕП) что бы отсеять мелкие ГЕПЫ.
//---------
ГЕПы вообще то считаються по разрывам между ценой закрытия и ценой открытия ( по хаю что то не видел людей что бы считали :))
P.s. там не 1 ( с прошлого ) а -1
Я сейчас накидаю пример для условий... :) ( как раз так и научитесь по тихоньку :))
Вход в бай ( если геп был вниз)
if ((( iClose(NULL, 0, 1)< iOpen((NULL, 0, 1))&& (( iClose(NULL, 0, 1)- iOpen(NULL, 0, 0))>Х)
бай...
на селл будет наоборот т.е:
if((( iClose(NULL, 0, 1)> iOpen(NULL, 0, 1))&& (( iClose(NULL, 0, 1)-iOpen(NULL, 0, 0))>Х))
Х - вынесите в настройки эксперта - это на сколько пунктов больше должен быть разрыв ( ГЕП) что бы отсеять мелкие ГЕПЫ.
//---------
ГЕПы вообще то считаються по разрывам между ценой закрытия и ценой открытия ( по хаю что то не видел людей что бы считали :))
P.s. там не 1 ( с прошлого ) а -1
Получается здесь никакие переменные задавать не надо??? А если вмест CLOSE написать HIGH, то все равно будет работать??? И еще, а что если CLOSE=HIGH, то программа будет принимать это за CLOSE или за HIGH????
1.Тут значения снимаються с цен. а не задаёться имя...
2.поставить в условиях на открытие еще раз через "И" CLOSE = HIGH ( ну я бы так сделал )
Спасибо завтра попробую так и сделать ))) Еще вопрос нужно написать CLOSE = HIGH или iCLOSE =iHIGH ???
Ну как я писал значения ... и... (iСlose(NULL, 0, 1)=iHigh(NULL, 0, 1)) - тут бар 1... если в конце 0 то текущий бар...
так и для клозе и хая, в скобочках только не запутайсесь :)
по разному пробуйте, то что надо и подберёте...
Ну как я писал значения ... и... (iСlose(NULL, 0, 1)=iHigh(NULL, 0, 1)) - тут бар 1... если в конце 0 то текущий бар...
так и для клозе и хая, в скобочках только не запутайсесь :)
по разному пробуйте, то что надо и подберёте...
Я попробовал так сделать, но выводит ошибку в чем тут дело не знаю????
Странно, почему ни в одной книго по MQL4 нет ни слова про ГЭПы?????????
Смотря как вы делаете, я вообще не понял зачем еще хай добавлять и на минутках гонять ( тут гепы то маленькие, ну если ток на новостях)...
Гепы не описаны - это уже не коме вопросы
Сам геп это разрыв между ценой закрытия и ценой открытия ( причом Геп каждый понимает по разному, для меня Геп это разрыв больше 50п :))
Посмотрите как снимать значение цены с бара и делайте.
Тогда поставлю вопрос по другому, как открывать ордер по ценам открытия дневного бара??????? Ни у кого нет такого кода?????

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Помогите пожалуйста открыть ордер, сразу же как только появился ГЭП, у меня почему то не торгует, хотя вроде код правильный
/----задаем переменные-------------------------------------------
double OPEN = iOpen(Symbol(), PERIOD_M1, 0);
double HIGH = iHigh(Symbol(), PERIOD_M1, -1);
double LOW = iLow(Symbol(), PERIOD_M1, -1);
double CLOSE = iClose(Symbol(), PERIOD_M1, -1);
double HIGHCLOSE = CLOSE == HIGH;
double LOWCLOSE = CLOSE == LOW;
//---------проверяем условие на покупку----------------------------
if (!ExpertOrder( Magic )){ //если нет открытых позиций
if (OPEN > HIGH || OPEN > HIGHCLOSE)
{ //покупаем
ticket=OrderSend(Symbol(),0,0.01,Ask,Slippage,Bid-SL*Point,0,
NULL,Magic,0,CLR_NONE);
if(ticket < 0) { Sleep(10000); prevtime = Time[1]; }
}}
//--------проверяем условие на продажу------------------------------
if (!ExpertOrder(Magic) ) {//если нет открытых позиций
if (OPEN < LOW || OPEN < LOWCLOSE)
{ //продаем
ticket=OrderSend(Symbol(),1,0.01,Bid,Slippage,Bid+SL*Point,0,
NULL,Magic,0,CLR_NONE);
if(ticket < 0) { Sleep(10000); prevtime = Time[1]; }
}}
//--------------------------------------------------------------------
return(0);