[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 791

 
granit77:

Где Вы раньше были? Ваша правда. Добавил, работает.


Огромное спасибо и от меня тоже! Я с этим вопросом "пристаю" тут на разных ветках - вот, наконец, одна "заплодоносила":)) !

И еще вопросец - из другой оперы: если я прописываю открытие ордера по Open[0] после пересечения МА, то в 40% случаях позиция не открывается - игнор полный (вернее 40% :))), а если прописываю открытие по Ask или Bid - открывает много "лишних" позиций, которые не должны открываться. В особенности это актуально на валютах с большими спредами, типа EURNZD, например.

Можно ли с этим бороться? Если при Open[0] открытии проскальзывание ставлю величиной со спрэд, то ведет себя как по Ask открытию - одним словом, замкнутый круг получается..:(

//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void CheckForOpen()
  {
   double ma;
   int    res;
    
//---- go trading only for first tiks of new bar
   if(Volume[0]>1) return;
//---- get Moving Average 
   ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//---- sell conditions
   if(Open[1]>ma && Close[1]<ma)  
     {
      res=OrderSend(Symbol(),OP_SELL,Lots,Bid,30,Bid+Stoploss*Point,Bid-Takeprofit*Point,"",MAGICMA,0,Red);
      return;
     }
//---- buy conditions
   if(Open[1]<ma && Close[1]>ma)  
     {
      res=OrderSend(Symbol(),OP_BUY,Lots,Ask,30,Ask-Stoploss*Point,Ask+Takeprofit*Point,"",MAGICMA,0,Blue);
      return;
     }
//----
  }

	          
 
obla4ko:

Огромное спасибо и от меня тоже! Я с этим вопросом "пристаю" тут на разных ветках - вот, наконец, одна "заплодоносила":)) !

И еще вопросец - из другой оперы: если я прописываю открытие ордера по Open[0] после пересечения МА, то в 40% случаях позиция не открывается - игнор полный (вернее 40% :))), а если прописываю открытие по Ask или Bid - открывает много "лишних" позиций, которые не должны открываться. В особенности это актуально на валютах с большими спредами, типа EURNZD, например.

Можно ли с этим бороться? Если при Open[0] открытии проскальзывание ставлю величиной со спрэд, то ведет себя как по Ask открытию - одним словом, замкнутый круг получается..:(


А контроль количества открытых позиций не пробовали добавлять?
 
artmedia70:
Молодец, Виктор!
А обла4ко молчит-с ... :))
не молчу :)) .. просто не там ответила - :))
 
Vinin:

А контроль количества открытых позиций не пробовали добавлять?
Есть. Активна только одна позиция по одному инструменту.
 
obla4ko:

Огромное спасибо и от меня тоже! Я с этим вопросом "пристаю" тут на разных ветках - вот, наконец, одна "заплодоносила":)) !

И еще вопросец - из другой оперы: если я прописываю открытие ордера по Open[0] после пересечения МА, то в 40% случаях позиция не открывается - игнор полный (вернее 40% :))), а если прописываю открытие по Ask или Bid - открывает много "лишних" позиций, которые не должны открываться. В особенности это актуально на валютах с большими спредами, типа EURNZD, например.

Можно ли с этим бороться? Если при Open[0] открытии проскальзывание ставлю величиной со спрэд, то ведет себя как по Ask открытию - одним словом, замкнутый круг получается..:(

Открывать позицию на покупку надо по цене Ask, а на продажу по Bid.

Надо проверять результат, возвращаемый функцией OrderSend(). Если открытите состоялось, то надо учитывать, что сигнал на покупку/продажу отработан и не повторять запросы на открытие, а ждать следующего сигнала.

 
PapaYozh:

Открывать позицию на покупку надо по цене Ask, а на продажу по Bid.

Надо проверять результат, возвращаемый функцией OrderSend(). Если открытите состоялось, то надо учитывать, что сигнал на покупку/продажу отработан и не повторять запросы на открытие, а ждать следующего сигнала.

Да! Собственно, я не могу правильно прописать следующее :

- если на данном баре позиция закрылась по СтопЛоссу, и он по параметрам подходит для открытия новой позиции, то на нем НИ В КОЕМ СЛУЧАЕ НЕ ОТКРЫВАТЬ! Иными словами -

СтопЛосс - (1)

OPEN - (0) для текущего бара.

Тогда получается оптимальная работа советника - минимум "лишних" поз.

А у меня вечно какая-то абракадабра получается..:((

 
obla4ko:

Да! Собственно, я не могу правильно прописать следующее :

- если на данном баре позиция закрылась по СтопЛоссу, и он по параметрам подходит для открытия новой позиции, то на нем НИ В КОЕМ СЛУЧАЕ НЕ ОТКРЫВАТЬ! Иными словами -

СтопЛосс - (1)

OPEN - (0) для текущего бара.

Тогда получается оптимальная работа советника - минимум "лишних" поз.

А у меня вечно какая-то абракадабра получается..:((

я же говорил, установите таймер не открывать на 4 бара после срабатывания стопа
 
Techno:
я же говорил, установите таймер не открывать на 4 бара после срабатывания стопа

я помню :), Ваш совет хорош, но тут" все дело в нюансах", как выражается PapaYozh!

При работе со средними каждый бар на счету - статистика, понимаешь! :)) - вот и приходится искать и другие, более тонкие, что ли, решения....

 
можно на 1 или 2 бара запрет ставить. тоньше уже некуда
 

Доброго времени суток всем форумянам!

Не смог найти ответы на следующие вопросы.

1. Два терминала работают на разных машинах(первая на работе, вторая дома), на одном и том же реальном счете.

Если на этих терминалах, на одной и той же валютной паре работает один и тот же советник,

эквивалентно ли это работе одного и того же советника на одной и той же паре в разных окнах одного терминала?

2. Если на одном из этих терминалов запретить работать советникам(с помощью соответствующей кнопки), то как это

отразиться на другом терминале?

Заранее, спасибо!)

Причина обращения: