Группа "Стол заказов MQL"

Рейтинг 2146



РЕКОМЕНДУЮ



OTL.mq4 мартин

Прошу добавить в советник OTL.mq4 простой мартин, т.е. если ордер закрывается с убытком, последующие открывать с умножением на 2.
OTL.mq4 (2 Kb)
описание советника mql.opentraders.ru/6054.html
  • 0
  • Просмотров: 3968
  • 25 сентября 2015, 11:40
  • rz1zr
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Советник
25 сентября 2015
25 сентября 2015

Брокер для ваших роботов, 15 лет на рынке

Комментарии (2)

+
0
Готово: www.opentraders.ru/downloads/879/


//+------------------------------------------------------------------+
//|                                                          OTL.mq4 |
//|                                            Copyright © 2013, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, AM2"
#property link      "http://www.forexsystems.biz"

// 1. В зависимости от цвета предыдущей свечи выставляем отложку на расстоянии Delta от цены в StartHour часов на пробой.
// 2. Время истечения ордера Expiration часов.
// 3. Ордер выставляется с установленными значениями стоплосс и тейкпрофит.
// 4. Торговля фиксированным лотом.
// 5. Торговля на открытии свечи на часовом графике.

extern int    StopLoss   = 1000;   //Стоплосс ордера  
extern int    TakeProfit = 1000;   //Тейкпрофит ордера
extern int    StartHour  = 7;      //Час начала торговли(терминальное время)
extern int    Delta      = 100;    //Расстояние от цены для установки ордера
extern int    Expiration = 4;      //Время истечения ордера
extern double Lot        = 1;      //Объём позиции
extern double KLot       = 2;      //Увеличение лота
extern double MaxLot     = 5;      //Максимальный oбъём позиции
extern int    Magic      = 130228; //Магик

double LastOpen=0;
//+------------------------------------------------------------------+
//| Calculate optimal lot size                                       |
//+------------------------------------------------------------------+
double Lots()
  {
   double lot;
   if(OrdersHistoryTotal()==0)
     {
      lot=Lot;
     }
   if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))
     {
      if(OrderProfit()>0)
        {
         lot=Lot;
        }
      if(OrderProfit()<=0)
        {
         lot=OrderLots()*KLot;
        }
     }
   if(lot>MaxLot)lot=Lot;
   return(lot);
  }
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
//---- 
   if(LastOpen==Open[0])return;
   
   int b,s,p,res;
   datetime expiration=TimeCurrent()+3600*Expiration;
   double BuyPrice=Ask+Delta*Point;
   double SellPrice=Bid-Delta*Point;

   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS)==true)
        {
         if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic) continue;
         if(OrderType()==OP_BUY || OrderType()==OP_SELL) p++;
         if(OrderType()==OP_BUYSTOP) b++;
         if(OrderType()==OP_SELLSTOP) s++;
        }
     }
      //---- buy stop
      if(Close[1]-Open[1]>0 && Hour()==StartHour && p<1 && b<1)
        {
         res=OrderSend(Symbol(),OP_BUYSTOP,Lots(),
         NormalizeDouble(BuyPrice,Digits),0,
         NormalizeDouble(BuyPrice-StopLoss*Point,Digits),
         NormalizeDouble(BuyPrice+TakeProfit*Point,Digits),
         "",Magic,expiration,Blue);
         return;
        }
        
//---- sell stop  
   if(Open[1]-Close[1]>0 && Hour()==StartHour && p<1 && s<1)
     {
      res=OrderSend(Symbol(),OP_SELLSTOP,Lots(),
      NormalizeDouble(SellPrice,Digits),0,
      NormalizeDouble(SellPrice+StopLoss*Point,Digits),
      NormalizeDouble(SellPrice-TakeProfit*Point,Digits),
      "",Magic,expiration,Red);
      return;
     }
     
   LastOpen=Open[0]; 
//----
  }
//--------------------------------------------------------------------


Редактирован: 27 сентября 2015, 12:34
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 25 сентября 2015, 13:35
+
0
То что нужно, спасибо!
avatar

  13  rz1zr Автор Сообщений: 18

  • 25 сентября 2015, 13:42

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий