А как тогда получается, я к примеру отловил коэфициент 1 пункта, RSI прошел по своей шкале 50, получается что он 50 пунктов прошел, а на деле был флэт. и свеча 2 пунктов. там же еще и сила движения заложена. Так как в таком случае определять
Цена прошла пункт вверх. В RSI произошли какие-то вычисления. Его значение изменилось на икс. Цена прошла ещё пункт вверх. Значение индикатора должно измениться снова на тот же икс. Попробуйте принтануть - должно так и получиться.
Я так понимаю что торговый сигнал должен возникать при пересечии линией индикатора трендовой линией, а не наоборот, а увас и так и эдак. Храните предыдущие значения положения тредовой в статических переменных и если они не изменились - проверяйте на пересечение, если трендовая сменила положение - ресет...
Спасибо, Рустам. Хорошая идея! Правильно говорят: одна голова хорошо, а с туловищем - лучше... :)
скажите почему после срабаывания ордера данные не обнуляются? правильно ли я написал условия if(tic1>0) для проверки что ордер открыт и надо обнулит переменые
int NewOrder1(int Cmd,double Lot)
{double TP=0; //тейкпрофитdouble SL=0; //стоплоссdouble PR=0; //Ценаdouble LT=0; //Лотwhile(!IsTradeAllowed()) Sleep(100);
if(Cmd==OP_BUYLIMIT)
{PR=Ask-Point*h;
if(TakeProfit>0) TP=PR+TakeProfit*Point;
if(StopLoss>0) SL=PR-StopLoss*Point;
if(Lot>0) LT=3*Lot;}
int tic1=OrderSend(Symbol(),Cmd,LT,PR,3,SL,TP,0,mag,0,CLR_NONE);
//-----------if(tic1<0) Print(GetLastError());
if(tic1>0){
bool b=0,s=0, //соответственно бай или селл
bs=0,// если закрытие по стоплоссу ордера бай
ss=0,// если закрытие по стоплоссу ордера sell
bt=0,
st=0;// то же по ТПdouble bl=0,sl=0; // лоты соответсвенно для бай и селл
}
//-----------return(tic1);}
скажите почему после срабаывания ордера данные не обнуляются? правильно ли я написал условия if(tic1>0) для проверки что ордер открыт и надо обнулит переменые
Если мне память не изменяет, то у вас эти переменные уже объявлены на глобальном уровне...
А вы их по-новой объявляете внутри функции.
bool b=0,s=0, //соответственно бай или селл
bs=0,// если закрытие по стоплоссу ордера бай
ss=0,// если закрытие по стоплоссу ордера sell
bt=0,
st=0;// то же по ТПdouble bl=0,sl=0; // лоты соответсвенно для бай и селл
Они будут видны только внутри ф-ции. При выходе из функции их значения будут потеряны, а те, что были объявлены на глобальном уровне - остаются без изменений, т.е. вы объявили внутри функции новые переменные, а те, что хотите менять остались за её пределами. Уберите bool и double из вышеприведённого куска вашего кода.
artmedia70: Если мне память не изменяет, то у вас эти переменные уже объявлены на глобальном уровне...
А вы их по-новой объявляете внутри функции.
Они будут видны только внутри ф-ции. При выходе из функции их значения будут потеряны, а те, что были объявлены на глобальном уровне - остаются без изменений, т.е. вы объявили внутри функции новые переменные, а те, что хотите менять остались за её пределами. Уберите bool и double из вышеприведённого куска вашего кода.
Вы их объявляли на глобальном уровне за пределами своей функции? Да и вместо запятых поставьте ; Наверняка же запятые не поменяли на точку с запятой...
А как тогда получается, я к примеру отловил коэфициент 1 пункта, RSI прошел по своей шкале 50, получается что он 50 пунктов прошел, а на деле был флэт. и свеча 2 пунктов. там же еще и сила движения заложена. Так как в таком случае определять
Цена прошла пункт вверх. В RSI произошли какие-то вычисления. Его значение изменилось на икс. Цена прошла ещё пункт вверх. Значение индикатора должно измениться снова на тот же икс. Попробуйте принтануть - должно так и получиться.
Я так понимаю что торговый сигнал должен возникать при пересечии линией индикатора трендовой линией, а не наоборот, а увас и так и эдак. Храните предыдущие значения положения тредовой в статических переменных и если они не изменились - проверяйте на пересечение, если трендовая сменила положение - ресет...
Спасибо, Рустам. Хорошая идея! Правильно говорят: одна голова хорошо, а с туловищем - лучше... :)
Здраствуйте подскажите пожалуста как логи посмотреть в МТ4
Здраствуйте подскажите пожалуста как логи посмотреть в МТ4
Наверное ну очень нужно... :) Или мышку заело...
Папка расположения MT4/logs
Папка расположения MT4\tester\logs
У меня вот тут:
D:\Program Files\MetaTrader - E-Global TFG-счёт-1654729\logs
D:\Program Files\MetaTrader - E-Global TFG-счёт-1654729\tester\logs
скажите почему после срабаывания ордера данные не обнуляются? правильно ли я написал условия if(tic1>0) для проверки что ордер открыт и надо обнулит переменые
скажите почему после срабаывания ордера данные не обнуляются? правильно ли я написал условия if(tic1>0) для проверки что ордер открыт и надо обнулит переменые
А вы их по-новой объявляете внутри функции.
Они будут видны только внутри ф-ции. При выходе из функции их значения будут потеряны, а те, что были объявлены на глобальном уровне - остаются без изменений,т.е. вы объявили внутри функции новые переменные, а те, что хотите менять остались за её пределами.
Уберите bool и double из вышеприведённого куска вашего кода.
Если мне память не изменяет, то у вас эти переменные уже объявлены на глобальном уровне...
А вы их по-новой объявляете внутри функции.
Они будут видны только внутри ф-ции. При выходе из функции их значения будут потеряны, а те, что были объявлены на глобальном уровне - остаются без изменений,т.е. вы объявили внутри функции новые переменные, а те, что хотите менять остались за её пределами.
Уберите bool и double из вышеприведённого куска вашего кода.
убрал и прикомпилироваии выдает кучу ошибок
к этим переменым
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 4)
'=' - assignment expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 2)
',' - semicolon expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 4)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 4)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 8)
'=' - assignment expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 6)
',' - semicolon expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 8)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 8)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 5)
'=' - assignment expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 3)
',' - semicolon expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 5)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 5)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 5)
'=' - assignment expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 3)
',' - semicolon expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 5)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 5)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 5)
'=' - assignment expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 3)
',' - semicolon expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 5)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 5)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 5)
'=' - assignment expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 3)
',' - semicolon expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 5)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 5)
убрал и прикомпилироваии выдает кучу ошибок
к этим переменым
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 4)
'=' - assignment expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 2)
',' - semicolon expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 4)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 4)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 8)
'=' - assignment expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 6)
',' - semicolon expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 8)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 8)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 5)
'=' - assignment expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 3)
',' - semicolon expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 5)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 5)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 5)
'=' - assignment expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 3)
',' - semicolon expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 5)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 5)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 5)
'=' - assignment expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 3)
',' - semicolon expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 5)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 5)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 5)
'=' - assignment expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 3)
',' - semicolon expected C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 5)
',' - unexpected token C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 5)
Граждане!
Подскажите как в эксперте получить доступ к данным за пределами окна графика?
Проблема в том, что например, если максимальное количество баров в окне установлено равным 300, то:
1.Функция iBarShift("EURUSD",60,ВремяБара,false) упорно не хочет выдавать значения больше 300 при любом значении "ВремяБара".
2.Если обратиться к серии iOpen("EURUSD",60,i), то при i>300 она выдает нули.
и т.п.
Можно это как-то побороть?
подскажите пожалуйста мне код функции которая будет ставить стоп один раз на уровне безубытка, когда профит будет к примеру 20 пунктов
Заранее спасибо за ответ:)