Главная
Форум
MQL программирование, помощь, доработки

Для того, чтобы использовать все возможности сайта, мы рекомендуем Вам person_add Зарегистрироваться или person Войти

  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Форум » Cтратегии и программирование на MQL » MQL программирование, помощь, доработки » Доработка, нужна помощь (советник супертренд)
Доработка, нужна помощь
Дата: Воскресенье, 06.04.2014, 21:49 | Сообщение # 31 Написал: Автор dele69
Группа: Пользователи
Сообщений: 18
Награды: 0
Статус: Оффлайн

expforex, и вновь, благодарен!

Дата: Воскресенье, 06.04.2014, 21:57 | Сообщение # 32 Написал: Администратор expforex
Группа: Администраторы
Сообщений: 9910
Награды: 42
Статус: Оффлайн

dele69wink
ловите мою функцию. 
в настройки

Код
extern string BU_="Настройки безубытка";
extern bool MovingInWLUSE=false;   // Перенос позиции в безубыток
extern int LevelWLoss=0; // Переносим стоплосс в +LevelWLoss пунктов
extern int LevelProfit=0;// Когда сделка вышла в плюс LevelProfit пунктов


в старт:

Код
//+------------------------------------------------------------------+
// Включение безубытка:
//+------------------------------------------------------------------+
    if(MovingInWLUSE)MovingInWL(Symbol(),-1,Magic);


в функции за стартом:

Код
void MovingInWL(string sy="",int op=-1,int mn=-1)
   {
    double po,pp;
    int    i,k=OrdersTotal();

    for(i=0; i<k; i++)
      {
       if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && (OrderMagicNumber()==mn || mn<0) && (OrderSymbol()==sy || sy==""))
         {
          po=MarketInfo(OrderSymbol(),MODE_POINT);
          if(OrderType()==OP_BUY)
            {
             if(OrderStopLoss()-OrderOpenPrice()<LevelWLoss*po)
               {
                pp=MarketInfo(OrderSymbol(),MODE_BID);
                if(pp-OrderOpenPrice()>LevelProfit*po)
                  {
                   ModifyOrder(-1,OrderOpenPrice()+LevelWLoss*po,-1);
                  }
               }
            }
          if(OrderType()==OP_SELL)
            {
             if(OrderStopLoss()==0 || OrderOpenPrice()-OrderStopLoss()<LevelWLoss*po)
               {
                pp=MarketInfo(OrderSymbol(),MODE_ASK);
                if(OrderOpenPrice()-pp>LevelProfit*po)
                  {
                   ModifyOrder(-1,OrderOpenPrice()-LevelWLoss*po,-1);
                  }
               }
            }
         }
      }
   }

Форум » Cтратегии и программирование на MQL » MQL программирование, помощь, доработки » Доработка, нужна помощь (советник супертренд)
  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Поиск:
Expforex Expforex Идеи для Metatrader https://www.expforex.com/1NEWDESIGN/NEWLOGO/LOGONEW.png expforex@meta.ua Украина expforex2