[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 4 из 4«1234
Форум Трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 Эксперты помощники Индикаторы Скрипты » Доработка, нужна помощь (советник супертренд)
Доработка, нужна помощь
Дата: Воскресенье, 06.04.2014, 21:49 | Сообщение # 31 Написал: dele69
Трейдер - Рядовой
Группа: Пользователи
Сообщений: 18
Награды: 0
Статус: Offline
expforex, и вновь, благодарен!
 
Дата: Воскресенье, 06.04.2014, 21:57 | Сообщение # 32 Написал: expforex
Трейдер - Генералиссимус
Группа: Администраторы
Сообщений: 27
Награды: 0
Статус: Offline
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);
                  }
               }
            }
         }
      }
   }


Мы лучшие
 
Форум Трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 Эксперты помощники Индикаторы Скрипты » Доработка, нужна помощь (советник супертренд)
Страница 4 из 4«1234
Поиск: