- [Архив!] Напишу советника бесплатно
- Советники: советник MA
- Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Уважаемые товарищи программисты!!! Помогите доработать советник. Советник открывает лонг при открытии бара ниже SMA и закрытии выше SMA, и открывает шорт при открытии бара выше SMA и закрытии ниже SMA. Позиции закрываются при обратном пересечении. При закрытии позиции открывается противоположная. В принципе он так и делает, но некоторые сигналы на закрытие пропускаются, в итоге поза закрывается в минусе, хотя если смотреть по чарту такого не должно было случиться. Такое пороисходит потому,что в некоторых случаях как такового пересечения SMA баром не происходит. Например для открытого лонга- цена закрытия одного бара выше SMA, а цена открытия следующего уже ниже SMA. Т.е. фактически сигнал на закрытие есть, но советник его не видит, так как такой сигнал не отражен в коде. Аналогичное справедливо и для шорта. Советник отрабатыват нормально все сигналы, когда имеется фактическое пересечение скользящей средней баром. Если же один бар закрывается ниже, а следующий уже открывается выше- такой сигнал на закрытие пропускается. Помогите пожалуйста доработать код, т.е. сделать так, чтобы отрабатывались все сигналы.
Уважаемый, зачем Вы создаете столько тем по одной проблеме???
Вот эти строчки:
if(Open[1]>ma && Close[1]<ma)
Здесь не надо использовать условие Open[1]>ma, так как именно оно не совпадает с тем, что Вы хотите. Уберите его в блоке открытия позиций и в блоке закрытия.
Вот эти строчки:
if(Open[1]>ma && Close[1]<ma)
Здесь не надо использовать условие Open[1]>ma, так как именно оно не совпадает с тем, что Вы хотите. Уберите его в блоке открытия позиций и в блоке закрытия.
Премного бладодарен!!! Протестировал и наконец-то получил то, что нужно. Больше пока надоедать не буду.
Здравствуйте! Ребят помогите пожалуйста!
Я в программировании чайник, но знаю что там буквально не чё делать.
Нужо подправить етот советник, чтобы он без задержки, в одно время ставил два противоположных ордера из стопами, и ничево больше.
За ране благодарен.
extern string com_0 = "Тейк профит, стоп лосс, трейлинг";
extern int тейк_профит = 30;
extern int стоп_лосс = 50;
extern string com1 = "Лот, технические переменные, отключаемые модули";
extern double лот = 0.1;
extern int проскальзывание = 3;
extern bool торговля_по_цене_открытия = false;
extern bool использовать_стопы = true;
datetime prev_time;
int start()
{
if(торговля_по_цене_открытия==true&&prev_time==Time[0]) return(0); prev_time=Time[0];
if(OrdersTotal()==0)Открытие_позиций();
return(0);
}
void Открытие_позиций()
{
if(использовать_стопы==true)
{
OrderSend(Symbol(),OP_BUY,лот,Ask,проскальзывание,Ask-стоп_лосс*Point,Ask+тейк_профит*Point);
OrderSend(Symbol(),OP_SELL,лот,Bid,проскальзывание,Bid+стоп_лосс*Point,Bid-тейк_профит*Point);
}
else
{
OrderSend(Symbol(),OP_BUY,лот,Ask,проскальзывание,0,0);
OrderSend(Symbol(),OP_SELL,лот,Bid,проскальзывание,0,0);
}
}
Здравствуйте! Ребят помогите пожалуйста!
Я в программировании чайник, но знаю что там буквально не чё делать.
Нужо подправить етот советник, чтобы он без задержки, в одно время ставил два противоположных ордера из стопами, и ничево больше.
За ране благодарен.
extern string com_0 = "Тейк профит, стоп лосс, трейлинг";
extern int тейк_профит = 30;
extern int стоп_лосс = 50;
extern string com1 = "Лот, технические переменные, отключаемые модули";
extern double лот = 0.1;
extern int проскальзывание = 3;
extern bool торговля_по_цене_открытия = false;
extern bool использовать_стопы = true;
datetime prev_time;
int start()
{
if(торговля_по_цене_открытия==true&&prev_time==Time[0]) return(0); prev_time=Time[0];
if(OrdersTotal()==0)Открытие_позиций();
return(0);
}
void Открытие_позиций()
{
if(использовать_стопы==true)
{
OrderSend(Symbol(),OP_BUY,лот,Ask,проскальзывание,Ask-стоп_лосс*Point,Ask+тейк_профит*Point);
OrderSend(Symbol(),OP_SELL,лот,Bid,проскальзывание,Bid+стоп_лосс*Point,Bid-тейк_профит*Point);
}
else
{
OrderSend(Symbol(),OP_BUY,лот,Ask,проскальзывание,0,0);
OrderSend(Symbol(),OP_SELL,лот,Bid,проскальзывание,0,0);
}
}
или этот подправить...
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования