Система торговли по объёмам - Набор в основной список
Индивидуальное обучение с гарантией результата!
Курс Финансовой Астрологии + Методы Ганна
Стратегия Direction + Daily Range - обновленная версия
Спецкурс «Интенсив Снайпер»
Советник по стратегии «Середина» (в открытом коде для MT4 и MT5)
Индикатор Gann-duras для МТ5 по ТС Николая Еремеева FVG-Gann 1.0-5.0
TRADE AND TESTING BOT (iTesting_Bot) или всё что нужно для БО в одном эксперте
Авторская разработка, аналогов не имеет! Все что нужно для автоматической торговли бинарными опционами в одном стакане.

Сервис VPS от FXSA.ORG
Криптовалюты, Майнинг, ICO, Торговля на бирже, Межбиржевой арбитраж и многое другое о мире криптовалют на форуме КриптоШок!

  1. Добро пожаловать на наш форум!

    Если вы торгуете на рынке форекс, бинарными опционами или на других финансовых рынках и вас интересуют выгодные совместные покупки, то мы приглашаем вас на наш форум. Данный ресурс является форумом совместных покупок различных товаров для торговли на рынке форекс, бинарных опционах и других финансовых рынках: торговые роботы (эксперты, советники), торговые системы и стратегии, индикаторы, видеокурсы, тренинги, вебинары и т.д.

    А для любителей беттинга, на нашем форуме имеется раздел спорт, предназначенный для совместных покупок: финансовых систем и стратегий ставок на спорт, видеокурсов, программ для анализа и прогноза ставок на спорт, платных прогнозов на спортивные события.

    Участие на нашем форуме в совместных покупках дает вам возможность приобретать различные товары более дешевле и выгодней. Ни для кого не секрет что в сети продают много различного хлама с красивыми картинками. Участвуя в складчинах, вы получите возможность опробовать тот или иной продукт за сумму в десятки раз дешевле его номинальной стоимости. Так же у нас не берется какая-либо дополнительная комиссия при участии в складчинах. Присоединяйтесь, вместе дешевле!
Скрыть объявление
Если после регистрации, вы не получили письмо с инструкциями для подтверждения вашей регистрации, проверьте папку спам. Если там письма не окажется, просьба связаться с нами через форму обратной связи. В сообщении пожалуйста укажите ваш ник который вы указали при регистрации.
Скрыть объявление
Если у вас проблема с авторизацией на форуме. Пожалуйста, прочтите эту тему.

Помогите сделать закрытие ордера от сигнала индикатора

Тема в разделе "Язык программирования", создана пользователем Rdbaser, 30 окт 2018.

  1. Rdbaser

    Rdbaser Проверенный

    Регистрация:
    14 янв 2017
    Сообщения:
    67
    Симпатии:
    13
    Пол:
    Мужской
    С нами:
    1 год 10 мес. 1 день
    простой советник открывает 1 ордер по индикатору , нужно чтобы при противоположном сигнале старый закрывал и новый открывал , ато он новые ордера не открывает пока старый не закроется
    вот весь код советника
    Код:
    input double Slip         = 50;
    input double Lots         = 0.05;
    //----
    extern int SSPeriod       = 16;
    extern int Slipe          = 3;
    extern int MAGIC=100110;
    //+------------------------------------------------------------------+
    //|                                                                                       |
    //+------------------------------------------------------------------+
    void OpenPos()
      {
       int    res;
       double SSYellow=iCustom(Symbol(),0,"Scalper",SSPeriod,Slipe,1,1);
       double SSRed=iCustom(Symbol(),0,"Scalper",SSPeriod,Slipe,2,2);
       double TP,SL;
    
    //--- sell 
       if(SSYellow>SSRed)
         {
    
          res=OrderSend(Symbol(),OP_SELL,Lot(),Bid,Slip,SL,TP,"",MAGIC,0,Red);
          return;
         }
    //--- buy 
       if(SSRed>SSYellow)
         {
    
          res=OrderSend(Symbol(),OP_BUY,Lot(),Ask,Slip,SL,TP,"",MAGIC,0,Blue);
          return;
         }
    //---
      }
    //+------------------------------------------------------------------+
    //|                                                                                       |
    //+------------------------------------------------------------------+
    
    
    //+------------------------------------------------------------------+
    //|                                                                                       |
    //+------------------------------------------------------------------+
    double Lot()
      {
       double lot;
       if(Lots==0)
         {
          
          lot=MathFloor(AccountFreeMargin()*MarketInfo(Symbol(),MODE_MARGINREQUIRED)/MarketInfo(Symbol(),MODE_LOTSTEP))*MarketInfo(Symbol(),MODE_LOTSTEP);
         }
       else lot=Lots;
       return(lot);
      }
    //+------------------------------------------------------------------+
    int CountTrades()
      {
       int count=0;
       for(int i=OrdersTotal()-1;i>=0;i--)
         {
          if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
            {
             if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC)
               {
                if(OrderType()==OP_BUY || OrderType()==OP_SELL)
                   count++;
               }
            }
         }
       return(count);
      }
    //+------------------------------------------------------------------+
    //| OnTick function                                                  |
    //+------------------------------------------------------------------+
    void OnTick()
      {
       double SSYellow=iCustom(Symbol(),0,"Scalper",SSPeriod,Slipe,1,1);
       double SSRed=iCustom(Symbol(),0,"Scalper",SSPeriod,Slipe,2,2);
       Comment(
               "\n Red ",SSRed,
               "\n Yellow ",SSYellow);
    
       if(CountTrades()<1) OpenPos();
    //   if(StopLoss==0 && TakeProfit==0)ClosePos();
    //---
      }
    //+------------------------------------------------------------------+