скорей всего в момент открытия у вас в переменной priceBUY сидит ноль, и таким образом Bid-priceBUY(0)==Bid, ну и соответственно
Нет, если бы это было так, то SELL бы тоже тралился не правильно, а SELL работает нормально...... Я пробовал уже менять первоначальное значение priceBUY с "0" на "цену открытия".... не помагает, уже мозги кипят(((
Нет, если бы это было так, то SELL бы тоже тралился не правильно, а SELL работает нормально...... Я пробовал уже менять первоначальное значение priceBUY с "0" на "цену открытия".... не помагает, уже мозги кипят(((
А что мешает использавать вот такой код?
extern int ts=25, minp=10;
for(int i = OrdersTotal(); i >= 0; i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
// check for symbol & magic numberif(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
if(OrderType() == OP_BUY) // long position is opened
{
if((Bid-OrderOpenPrice())>Point*(ts+minp)) // trall
{
if(OrderStopLoss()<Bid-Point*ts)
{
if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Point*ts,Digits),0,0,Orange)) {Sleep(11000); prevtime = Time[1];}
}
}
}
if(OrderType() == OP_SELL) // short position is opened
{
if((OrderOpenPrice()-Ask)>Point*(ts+minp))// trall
{
if(OrderStopLoss()>Ask+Point*ts)
{
if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+Point*ts,Digits),0,0,Orange))
{
Sleep(11000);
prevtime = Time[1];
}
}
}
}
}
}
//----
Просто в примере один ордер (Либо BUY, либо SELL) а если их больше, то мне нужно чтоб все ордера тралились от уровня общего безубытка. Да и мне уже принципиально важно понять, в чём причина именно в этом коде, ведь SELL ордер тралится отлично, БАЮ чего не хватает?! Почему он модит стопак сразу после открытия......!?
Просто в примере один ордер (Либо BUY, либо SELL) а если их больше, то мне нужно чтоб все ордера тралились от уровня общего безубытка. Да и мне уже принципиально важно понять, в чём причина именно в этом коде, ведь SELL ордер тралится отлично, БАЮ чего не хватает?! Почему он модит стопак сразу после открытия......!?
Потому что сравниваемая цена не :
1) инициализирована
2) равна нулю
Действия:
1) распринтовать и увидеть,
2) проинициализировать большим числом
3) поставить ловушку если сравниваемая цена рана нулю
3) поставить ловушку если сравниваемая цена рана нулю
Спасибо за помошь, спасибо всем, кто откликнулся...... Всё получилось, Ёханый бабай, я блок "Расчёт уровня безубытка" с блоком "Открытие позиции" местами поменял в тупую, и всё заработало как надо...... Ещё раз всем спасибо))) А я пойду повешаюсь)
Подскажите,можно ли что-то в коде МТФиндюка сделать,что бы он автоматически обсчитывал и перерисовывал историю,идеально каждую минуту,что бы не получалось вот такой кракозябры
На рисунке два МТФиндюка для 5мин,на минутном графике.Дело в том,что индюки обсчитываются примитивно
где собственно "T-Line alert10" имя не МТФного индюка.И что бы получить нормальный вид,т.е. ровные ступеньки приходится посттоянно выбирать свойства индюка и "ОК" жать,либо "график-обновить".При работе на м1 и параметре МТФ5м заколебывает иногда обновлять вручную вид.Может можно как-то просто это реализовать,вставкой какой-нибудь хитрой функции,а то не хочется писать отдельный объемный код под каждый индюк.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Нет, если бы это было так, то SELL бы тоже тралился не правильно, а SELL работает нормально...... Я пробовал уже менять первоначальное значение priceBUY с "0" на "цену открытия".... не помагает, уже мозги кипят(((
Нет, если бы это было так, то SELL бы тоже тралился не правильно, а SELL работает нормально...... Я пробовал уже менять первоначальное значение priceBUY с "0" на "цену открытия".... не помагает, уже мозги кипят(((
А что мешает использавать вот такой код?
Всё работает как надо.
Всех с днем Святого Патрика!
Уважаемые, прошу помощи. Помогите вытащить из индюка сигнал в советник. Т.е. если появляется синяя линия - покупаем, если красная - продаем.
Написал так в сове:
Но ничего не получается, такое впечатление, что буфера всегда равны 0.
evillive А что мешает использавать вот такой код?
Просто в примере один ордер (Либо BUY, либо SELL) а если их больше, то мне нужно чтоб все ордера тралились от уровня общего безубытка. Да и мне уже принципиально важно понять, в чём причина именно в этом коде, ведь SELL ордер тралится отлично, БАЮ чего не хватает?! Почему он модит стопак сразу после открытия......!?
Просто в примере один ордер (Либо BUY, либо SELL) а если их больше, то мне нужно чтоб все ордера тралились от уровня общего безубытка. Да и мне уже принципиально важно понять, в чём причина именно в этом коде, ведь SELL ордер тралится отлично, БАЮ чего не хватает?! Почему он модит стопак сразу после открытия......!?Потому что сравниваемая цена не :
1) инициализирована
2) равна нулю
Действия:
1) распринтовать и увидеть,
2) проинициализировать большим числом
3) поставить ловушку если сравниваемая цена рана нулю
Всех с днем Святого Патрика!
Уважаемые, прошу помощи. Помогите вытащить из индюка сигнал в советник. Т.е. если появляется синяя линия - покупаем, если красная - продаем.
Написал так в сове:
Но ничего не получается, такое впечатление, что буфера всегда равны 0.
А почему Вы сравниваете с EMPTY_VALUE. Сравнивать надо с 0.0
1) инициализирована
2) равна нулю
Действия:
1) распринтовать и увидеть,
2) проинициализировать большим числом
3) поставить ловушку если сравниваемая цена рана нулю
А почему Вы сравниваете с EMPTY_VALUE. Сравнивать надо с 0.0
Я попробовал и так:
Все равно нет реакции.
Подскажите,можно ли что-то в коде МТФиндюка сделать,что бы он автоматически обсчитывал и перерисовывал историю,идеально каждую минуту,что бы не получалось вот такой кракозябры
На рисунке два МТФиндюка для 5мин,на минутном графике.Дело в том,что индюки обсчитываются примитивно
ExtMapBuffer1[i]=iCustom(Symbol(),TimeFrame,"T-Line alert10",0,y);
ExtMapBuffer2[i]=iCustom(Symbol(),TimeFrame,"T-Line alert10",1,y);
где собственно "T-Line alert10" имя не МТФного индюка.И что бы получить нормальный вид,т.е. ровные ступеньки приходится посттоянно выбирать свойства индюка и "ОК" жать,либо "график-обновить".При работе на м1 и параметре МТФ5м заколебывает иногда обновлять вручную вид.Может можно как-то просто это реализовать,вставкой какой-нибудь хитрой функции,а то не хочется писать отдельный объемный код под каждый индюк.