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

Рейтинг 2089



РЕКОМЕНДУЮ



робот для 5 мин РТС не более 4 сделок внутри дня...

*???* Здравствуйте. я сам не программист если можно помогите в создании робота… МТ 4 скользящ.средняя период 163 начало работы в 10.50 МСК до 13.оо МСК потом перерыв и последние 2 часа(с 16.30 до 18.40) до закрытия европейской ссесии… т.е работает всего 4 часа…
Профит планирую закрывать в ручную… над средней робот покупает а под средней продает так-же на второй только уже черной свечке… ставить безубыток ровно через 1 час после входа всделку
получается робот входит два раза в течении 2 часов если тренд идет в нашу сторону стоп приказ -обязателен 150 пунктов… вот и все на этом! минимальный лот 0.001
  • +2
  • Просмотров: 2927
  • 26 ноября 2016, 12:38
  • gfyfc64
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

+
0
После выходных буду смотреть.
avatar

  34  AM2 Сообщений: 15891 - Андрей

  • 26 ноября 2016, 12:59
+
0
Пока такой набросок. смотрите что убавить что прибавить:



//+------------------------------------------------------------------+
//|                                                          PTC.mq4 |
//|                                              Copyright 2016, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict

//--- Inputs
extern string Start1     = "10:50";  // 
extern string End1       = "13:00";  // 
extern string Start2     = "16:30";  // 
extern string End2       = "18:40";  // 
extern double Lots       = 0.1;      // лот
extern int StopLoss      = 150;      // лось
extern int TakeProfit    = 150;      // язь
extern int MAPeriod      = 163;      // MA период
extern int Slip          = 30;       // реквот
extern int Magic1        = 111;      // магик 
extern int Magic2        = 222;      // магик 
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOrder(int type,double price,int magic)
  {
   int r=0;
   color clr=Green;
   double sl=0,tp=0;

   if(type==1 || type==3 || type==5)
     {
      clr=Red;
      if(StopLoss>0) sl=NormalizeDouble(price+StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(price-TakeProfit*Point,Digits);
     }

   if(type==0 || type==2 || type==4)
     {
      clr=Blue;
      if(StopLoss>0) sl=NormalizeDouble(price-StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(price+TakeProfit*Point,Digits);
     }

   r=OrderSend(NULL,type,Lots,NormalizeDouble(price,Digits),Slip,sl,tp,"",magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades(int magic)
  {
   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()<2) count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   double ma=iMA(NULL,0,MAPeriod,0,0,0,1);

   if(CountTrades(Magic1)<1 && TimeCurrent()>StringToTime(Start1) && TimeCurrent()<StringToTime(End1))
     {
      if(Open[3]>Close[3] && Open[2]<Close[2] && Open[1]<Close[1] && Ask>ma)
        {
         PutOrder(0,Ask,Magic1);
        }

      if(Open[3]<Close[3] && Open[2]>Close[2] && Open[1]>Close[1] && Bid<ma)
        {
         PutOrder(1,Bid,Magic1);
        }
     }

   if(CountTrades(Magic2)<1 && TimeCurrent()>StringToTime(Start2) && TimeCurrent()<StringToTime(End2))
     {
      if(Open[3]>Close[3] && Open[2]<Close[2] && Open[1]<Close[1] && Ask>ma)
        {
         PutOrder(0,Ask,Magic2);
        }

      if(Open[3]<Close[3] && Open[2]>Close[2] && Open[1]>Close[1] && Bid<ma)
        {
         PutOrder(1,Bid,Magic2);
        }
     }
  }
//+------------------------------------------------------------------+
avatar

  34  AM2 Сообщений: 15891 - Андрей

  • 26 ноября 2016, 21:33
комментарий был удален 2016-11-28 13:55:32 gfyfc64

+
0
Лот-0.01… брокер БКС ...5знаков(без точки)*good* 
avatar

  9  gfyfc64 Автор Сообщений: 83 - gfyfc

  • 27 ноября 2016, 05:42
+
0
У вас очень расплывчатое ТЗ, сначала нужно согласовывать иначе мне придется переделывать много раз.

Торговля по времени уже есть теперь входы.
1. Покупка: цены на 4-х предыдущих барах выше МА.
Здесь нужно определиться со свечным паттерном для покупки?
Одна черная и потом 2 белых или 2 черных и потом 2 белых или еще как?
avatar

  34  AM2 Сообщений: 15891 - Андрей

  • 27 ноября 2016, 10:16
+
0
Еще вопрос: за временной промежуток может быть несколько таких паттернов, на всех сделки?
avatar

  34  AM2 Сообщений: 15891 - Андрей

  • 27 ноября 2016, 10:33
+
0
Почему платформа MQL4, а не MQL5 любопытно <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/002.gif' alt=' :) '>&nbsp;  в БКС на Московской бирже вроде бы как МТ5 работает…
Редактирован: 27 ноября 2016, 14:56
avatar

  22  poker Сообщений: 803

  • 27 ноября 2016, 12:59
+
+1
Я как то один раз делал для брокера Открытие под РТС и там тоже МТ5 была платформа.
avatar

  34  AM2 Сообщений: 15891 - Андрей

  • 27 ноября 2016, 15:22
+
0
Да, у меня счет в Открытии и в БКС под РТС… оба варианта под МТ5… ну может не все знаем :) 
avatar

  22  poker Сообщений: 803

  • 28 ноября 2016, 12:45
+
0
У БКС- мт 4(точно) по точке входа- после Одна черная и потом 2 белых(низ волны или коррекции..) вторая сделка -через 1 час… если рынок нам дает в первые 2 часа -2 сделки и уже в конце европейской ссесии последние2 часа-то-же 2 сделки
avatar

  9  gfyfc64 Автор Сообщений: 83 - gfyfc

  • 27 ноября 2016, 17:03
+
0
Значит делаю первый вход по паттерну, затем если через час профит, то открывается вторая сделка и первая в бу и по 2 сделки за временной отрезок?
avatar

  34  AM2 Сообщений: 15891 - Андрей

  • 27 ноября 2016, 17:39
+
0
Данный вариант открывает по 2 сделки за период по паттерну: www.opentraders.ru/downloads/1402/




//+------------------------------------------------------------------+
//|                                                          PTC.mq4 |
//|                                              Copyright 2016, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict

//--- Inputs
extern string Start1     = "10:50";  // 
extern string End1       = "13:00";  // 
extern string Start2     = "16:30";  // 
extern string End2       = "18:40";  // 
extern double Lots       = 0.1;      // лот
extern int StopLoss      = 150;      // лось
extern int TakeProfit    = 150;      // язь
extern int MAPeriod      = 163;      // MA период
extern int Slip          = 30;       // реквот
extern int Magic1        = 111;      // магик 
extern int Magic2        = 222;      // магик 

datetime t=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOrder(int type,double price,int magic)
  {
   int r=0;
   color clr=Green;
   double sl=0,tp=0;

   if(type==1 || type==3 || type==5)
     {
      clr=Red;
      if(StopLoss>0) sl=NormalizeDouble(price+StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(price-TakeProfit*Point,Digits);
     }

   if(type==0 || type==2 || type==4)
     {
      clr=Blue;
      if(StopLoss>0) sl=NormalizeDouble(price-StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(price+TakeProfit*Point,Digits);
     }

   r=OrderSend(NULL,type,Lots,NormalizeDouble(price,Digits),Slip,sl,tp,"",magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades(int magic)
  {
   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()<2) count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   double ma=iMA(NULL,0,MAPeriod,0,0,0,1);
   
   if(t!=Time[0])
     {
      if(CountTrades(Magic1)<2 && TimeCurrent()>StringToTime(Start1) && TimeCurrent()<StringToTime(End1))
        {
         if(Open[3]>Close[3] && Open[2]<Close[2] && Open[1]<Close[1] && Ask>ma && Open[3]>ma)
           {
            PutOrder(0,Ask,Magic1);
           }

         if(Open[3]<Close[3] && Open[2]>Close[2] && Open[1]>Close[1] && Bid<ma && Open[3]<ma)
           {
            PutOrder(1,Bid,Magic1);
           }
        }

      if(CountTrades(Magic2)<2 && TimeCurrent()>StringToTime(Start2) && TimeCurrent()<StringToTime(End2))
        {
         if(Open[3]>Close[3] && Open[2]<Close[2] && Open[1]<Close[1] && Ask>ma && Open[3]>ma)
           {
            PutOrder(0,Ask,Magic2);
           }

         if(Open[3]<Close[3] && Open[2]>Close[2] && Open[1]>Close[1] && Bid<ma && Open[3]<ma)
           {
            PutOrder(1,Bid,Magic2);
           }
        }
     }
  }
//+-----------------------------------------------------


Редактирован: 28 ноября 2016, 07:31
avatar

  34  AM2 Сообщений: 15891 - Андрей

  • 27 ноября 2016, 18:24
+
0
Думаю все верно !:) получается полуавтомат… профит фиксить в ручную!
avatar

  9  gfyfc64 Автор Сообщений: 83 - gfyfc

  • 28 ноября 2016, 01:45
+
0
Пробуем! СПАСИБО!
avatar

  9  gfyfc64 Автор Сообщений: 83 - gfyfc

  • 28 ноября 2016, 12:59

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