- Как сказать советнику чтобы за день он торговал только 1 раз
- Открытие ордера на той же свече
- Нужна помощь по советнику!!!
Пишем счётчик бай-ордеров и счётчик селл-ордеров. Так же объявляем флаги, разрешающие бай и селл ордера. В теле советника проверяем, если бай-ордеров более нуля, то устанавливаем флаг, запрещающий бай-ордера (ну это чтоб по селл-сигналу можно было развернуться). И наоборот для селл-ордеров.
вот коды счётчиков:
//=========== SchBuy() =============================== // Функция возвращает количество Buy-ордеров // SchBuy - счётчик Buy ордеров //----------------------------------------------------------- int SchBuy(int MAGIC){ string SMB=Symbol(); int SchBuy=0; int i; for (i=OrdersTotal()-1;i>=0;i--) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {WriteError(i);} else { if(OrderSymbol()!= SMB || OrderMagicNumber()!= MAGIC){ continue;} if(OrderType()==OP_BUY){ SchBuy++; } } } return(SchBuy); } //================================================================================================== //=========== SchSell() =============================== // Функция возвращает количество Sell-ордеров // SchSell - счётчик Sell ордеров //----------------------------------------------------------- int SchSell(int MAGIC){ string SMB=Symbol(); int SchSell=0; int i; for (i=OrdersTotal()-1;i>=0;i--){ if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {WriteError(i);} else { if(OrderSymbol()!=SMB || OrderMagicNumber()!=MAGIC){ continue;} if(OrderType()==OP_SELL){ SchSell++; } } } return(SchSell); } //==================================================================================================
перед открытием сделки считаете сколько уже поз открыто советником
int total=OrdersTotal(); for(int i=0;i<total;i++){ OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber()==mymagic){ if (OrderType()==OP_BUY) int countBuy++; if (OrderType()==OP_SELL) int countSell++; }//if }//for
а потом проверяете
if (countBuy==0) OrderSend(..,OP_BUY,..)
if (countSell==0) OrderSend(..,OP_SELL,..)
Ну да. Условие открытия позы: Если ордера Бай нету и при этом есть сигнал на открытие бай-ордера, то устанавливаем флаг, разрешающий открытие бай-ордеров.
ща попробую прикрутить - отпишу как получилось!
только один вопрос - если после бая который закрылся то профиту будет мудота и потом опять сигналы на бай - как стоит обнулить счетчик?
Ставить флаг, сбрасываемый только сигналом на переворот. Тогда даже при закрытии по стопу и наличии сигнала, одноименного закрытому ордеру, до переворота второй ордер не откроется.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования