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

Рейтинг 2155



РЕКОМЕНДУЮ



Доработка советника.

Aндрей если возможно можно еще раз обратиться. по этому же советнику. торгует неплохо. хотелось бы чтобы при любом сигнале открывались ордера и в бай и в шелл. остальное оставить так же как и есть. Идея такая. мы превращаем все убыточные сделки в 25% прибыли. а на прибыльных теряем мизер. и так же торговля ведется на 5 парах.
//+------------------------------------------------------------------+
//| Laban.mq4 |
//| Copyright 2015, AM2 |
//| www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright «Copyright © 2015, AM2»
#property link «www.forexsystems.biz»
#property description «Simple expert advisor»

extern int StopLoss=200;
extern int TakeProfit=200;
extern int Slip=20;
extern int Hour_Start=8;
extern int Hour_Stop =17;
extern int Ma1 = 9;
extern int Ma2 = 22;
extern double Lots=0.01;
extern double KLot=2;
extern double KStop=2;
extern double MaxLot=5;
extern int Magic=8;

int mode=0;
bool b=true,s=true;
double stop=0,take=0;
//+------------------------------------------------------------------+
void OnTick()
{
//----
int p=0,r=0;
//---- get Indicatorrs
double ma1=iMA(NULL,0,Ma1,0,MODE_EMA,PRICE_CLOSE,1);
double ma2=iMA(NULL,0,Ma2,0,MODE_EMA,PRICE_CLOSE,1);
//----

for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS)==true)
{
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic) continue;
if(OrderType()==OP_BUY || OrderType()==OP_SELL) p++;
}
}

//---- buy
if(ma1>ma2 && b && p<1)
{
if(Hour()>=Hour_Start && Hour()<Hour_Stop)
{
r=OrderSend(Symbol(),OP_BUY,Lot(),Ask,3,Ask-stop*Point,Ask+take*Point,"",Magic,0,Blue);
b=false;
s=true;
}
}

//---- sell
if(ma1<ma2 && s && p<1)
{
if(Hour()>=Hour_Start && Hour()<Hour_Stop)
{
r=OrderSend(Symbol(),OP_SELL,Lot(),Bid,3,Bid+stop*Point,Bid-take*Point,"",Magic,0,Red);
b=true;
s=false;
}
}

Comment("\n stop: ",stop,"\n take: ",take);
//----
return;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double Lot()
{
double lot=0;
if(OrdersHistoryTotal()==0)
{
lot=Lots;
take=TakeProfit;
stop=StopLoss;
}
if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderProfit()>0)
{
lot=Lots;
take=TakeProfit;
stop=StopLoss;
}
if(OrderProfit()<0)
{
lot=OrderLots()*KLot;
take=MathAbs((OrderOpenPrice()-OrderTakeProfit())/Point)*KStop;
stop=MathAbs((OrderOpenPrice()-OrderStopLoss())/Point)*KStop;
}
}
if(lot>MaxLot)lot=Lots;
return(lot);
}
//+------------------------------------------------------------------+
  • 0
  • Просмотров: 3495
  • 21 января 2016, 12:12
  • laban
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

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

+
+1
хотелось бы чтобы при любом сигнале открывались ордера и в бай и в шелл

Посмотрите:




//+------------------------------------------------------------------+
//|                                                        Laban.mq4 |
//|                                              Copyright 2015, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2015, AM2"
#property link      "http://www.forexsystems.biz"
#property description "Simple expert advisor"

extern int StopLoss=200;
extern int TakeProfit=200;
extern int Slip=20;
extern int Hour_Start=8;
extern int Hour_Stop =17;
extern int Ma1 = 9;
extern int Ma2 = 22;
extern double Lots=0.01;
extern double KLot=2;
extern double KStop=2;
extern double MaxLot=5;
extern int Magic=8;

int mode=0;
bool b=true,s=true;
double stop=0,take=0;
//+------------------------------------------------------------------+
void OnTick()
  {
//---- 
   int p=0,r=0;
//---- get Indicatorrs 
   double ma1=iMA(NULL,0,Ma1,0,MODE_EMA,PRICE_CLOSE,1);
   double ma2=iMA(NULL,0,Ma2,0,MODE_EMA,PRICE_CLOSE,1);
//----

   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS)==true)
        {
         if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic) continue;
         if(OrderType()==OP_BUY || OrderType()==OP_SELL) p++;
        }
     }

//---- buy 
   if(ma1>ma2 && b && p<1)
     {
      if(Hour()>=Hour_Start && Hour()<Hour_Stop)
        {
         r=OrderSend(Symbol(),OP_BUY,Lot(),Ask,Slip,Ask-stop*Point,Ask+take*Point,"",Magic,0,Blue);
         r=OrderSend(Symbol(),OP_SELL,Lot(),Bid,Slip,Bid+stop*Point,Bid-take*Point,"",Magic,0,Red);
         b=false;
         s=true;
        }
     }

//---- sell 
   if(ma1<ma2 && s && p<1)
     {
      if(Hour()>=Hour_Start && Hour()<Hour_Stop)
        {
         r=OrderSend(Symbol(),OP_SELL,Lot(),Bid,Slip,Bid+stop*Point,Bid-take*Point,"",Magic,0,Red);
         r=OrderSend(Symbol(),OP_BUY,Lot(),Ask,Slip,Ask-stop*Point,Ask+take*Point,"",Magic,0,Blue);
         b=true;
         s=false;
        }
     }

   Comment("\n stop: ",stop,"\n take: ",take);
//----
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=0;
   if(OrdersHistoryTotal()==0)
     {
      lot=Lots;
      take=TakeProfit;
      stop=StopLoss;
     }
   if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))
     {
      if(OrderProfit()>0)
        {
         lot=Lots;
         take=TakeProfit;
         stop=StopLoss;
        }
      if(OrderProfit()<0)
        {
         lot=OrderLots()*KLot;
         take=MathAbs((OrderOpenPrice()-OrderTakeProfit())/Point)*KStop;
         stop=MathAbs((OrderOpenPrice()-OrderStopLoss())/Point)*KStop;
        }
     }
   if(lot>MaxLot)lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+

avatar

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

  • 22 января 2016, 01:46
+
0
Спасибо большое!!! и успехов ВАМ!!!
avatar

  2  laban Автор Сообщений: 16

  • 22 января 2016, 23:17
комментарий был удален 2016-07-08 10:04:11 laban

комментарий был удален 2016-07-08 10:04:38 laban

+
+1
Попробую. Если поиграться с тп и сл ом. к примеру на разных парах разные, надо тестировать. к примеру евродоллар тп/сл 30/60. из 10 сделок подряд одна прибыльная по любому. Я торгую 2 сделки в день по каждой паре. еще торгую через возврат спреда это дополнительный доход. Уже не раз испытано при полном сливе возврат спреда отдает 25%. За 1 — 2 месяца отбиваешь свои деньги. это первый советник. Но хотелось бы граля. Потому что практика показывает что прибыльная сделка получается 3 или 4 подряд. Редко 9 — 10я (при ручной торговле слив был 2 раза в год ).
Но если будут сделки открываться и в бай и шелл одновременно, закрытие их будет одновременно. убыток превращаем в прибыль и с одной стороны увеличим возврат спреда и по моим подсчетам увеличиваем количество сделок с 10 до 16 — 17 в худшем случае, что конечно увеличивает шанс на прибыльную сделку. (ну в общем еще буду тестировать но это очень умеренный мартингейл).
а сл и тп используемые евро доллар 30/60. британец доллар 25/50 (доллар японец, доллар канадец и доллар швейдарец все 20/40)
и использую тайм фрейм 15. на 5 много шума на 30 запаздывает.
Klot умножаю не на 2 а на 1.2 — 1.45 на разных парах разные. так же Kstop умножаю на 1,1
Ну объяснил как смог протестирую и будем видеть


Редактирован: 22 января 2016, 23:14
avatar

  2  laban Автор Сообщений: 16

  • 22 января 2016, 23:11
+
0
Может стату в блог выложишь что у тя там получается, интересно же.
avatar

  13  Buff Сообщений: 401 - Артем

  • 24 января 2016, 19:33
+
0
в какой блок. просто я новичок в на этом сайте. но покамест тестирую когда получится тогда и вылаживать буду.
avatar

  2  laban Автор Сообщений: 16

  • 24 января 2016, 20:02
+
0
Речь о создании топика в своем блоге — laban.opentraders.ru (2 топика там уже есть)
Создается через кнопку «Создать новую запись»
avatar

  46  Bishop Сообщений: 5817 - АЛЬФАХАМЕЦ-Машковод

  • 24 января 2016, 20:17
+
0
но я тут подшаманил этот эксперт

Не надо шаманить, нужно понимать что делаешь.
avatar

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

  • 25 января 2016, 18:21

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