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

Рейтинг 2146



РЕКОМЕНДУЮ



Просьба немного доработать советник

Добрый день. Тут на форуме писали один советник меня в нем все устраивает, только хотел чтобы добавили одну мелочь в него. В настройках установки времени выставления у него ордеров задаются только часы, а я хотел бы попросить чтобы добавили еще возможность установки не только часов а и минут когда он будет выбрасывать сетку. Т.е. к примеру новость в 14:30, а он выбросит сетку в 14:29 как то так. Буду очень благодарен если добавят такую функцию в него. И если можно там где время истечения ордеров добавить тоже минуты т.е. чтобы он удалят все ордера и сработавшие и нет к примеру в 14:59. Добавьте пожалуйста. И можно еще прирутить советнику функцию Б/У, т.е. чтобы допустим после прибыли которая задается в настройках он каждый ордер из сетки переводил в Б/У если нельзя будет, то можно без БУ
Вот ссылка на тесу с советником www.opentraders.ru/downloads/503/
  • 0
  • Просмотров: 2549
  • 12 ноября 2015, 17:01
  • Angel369
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

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

+
0
Поправил, добавил: www.opentraders.ru/downloads/503/


extern int    StopLoss    = 1900;//Стоплосс всех ордеров
extern int    TakeProfit  = 350; //Тейкпрофит всех ордеров
extern int    Slip        = 0;   //Проскальзывание ордера
extern int    TradingDay  = 5;   //День недели (1-понедельник,...5-Пятница)
extern int    TradingWeak = 1;   //Неделя в месяце (1-я или 2-я)
extern int    StopLimit   = 1;   //Ставим стоповые(0) или лимитные(1) ордера
extern int    StartHour   = 9;   //Час начала торговли(терминальное время)
extern int    StartMin    = 30;  //Минуты начала торговли(терминальное время)
extern int    Distance    = 250; //Расстояние от цены для установки стопового ордера
extern int    Step        = 250; //Шаг установки стоповых ордеров
extern int    Count       = 10;  //Количество устанавливаемых ордеров стоповых или лимитных 
extern int    Expiration  = 300; //Время истечения ордера в минутах
extern double Lots        = 0.1; //Лот
extern int    Magic       = 123; //Магик
avatar

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

  • 12 ноября 2015, 17:30
+
0
Т.е. если я правельно понял если мы ставим в настройках время истечения ордера 30, то через 30 минут советник удалит все ордера?
avatar

  4  Angel369 Автор Сообщений: 49

  • 12 ноября 2015, 17:39
+
0
Не советник удалит, сами удалятся.
avatar

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

  • 12 ноября 2015, 17:46
+
0
А можно у ним прикрутить еще функцию Б/У? как я добавил выше в задании?
avatar

  4  Angel369 Автор Сообщений: 49

  • 12 ноября 2015, 18:03
+
0
Добавил БУ: www.opentraders.ru/downloads/503/
avatar

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

  • 12 ноября 2015, 18:43
+
0
Простите пожалуйста меня за беспокойство я просто хотел узнать а можно вместо указания недели и дня сделать функцию чтобы можно было задавать просто число и месяц? Если это будет не сложно, просто у меня сейчас в терминале возникают проблемы с тестированием. А все остальное оставить так как уже есть. Просто изменить эту функцию чтобы я в настройках у него указал что раскинуть ордера 02.01.2015 (дд/мм/гг) вот так вот число месяц и год, вот например я поставил в настройках 5 число и вот он всю неделю ждет и только в назначенное число открывает. Простите пожалуйста еще раз за беспокойство.
avatar

  4  Angel369 Автор Сообщений: 49

  • 12 ноября 2015, 19:37
+
0
Такой был нужен вариант?


//+------------------------------------------------------------------+
//|                                                 FXNewsKiller.mq4 |
//|                                           Copyright © 2014, AM2  |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+

#property copyright "Copyright 2014, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict

extern string TradeTime   = "2015.01.01 00:00";   //Дата и время торгов
extern int    StopLoss    = 1900;//Стоплосс всех ордеров
extern int    TakeProfit  = 350; //Тейкпрофит всех ордеров
extern double BULevel     = 300; //Уровень БУ
extern double BUPoint     = 30;  //Пункты БУ
extern int    Slip        = 0;   //Проскальзывание ордера
extern int    TradingDay  = 5;   //День недели (1-понедельник,...5-Пятница)
extern int    TradingWeak = 1;   //Неделя в месяце (1-я или 2-я)
extern int    StopLimit   = 1;   //Ставим стоповые(0) или лимитные(1) ордера
extern int    StartHour   = 9;   //Час начала торговли(терминальное время)
extern int    StartMin    = 30;  //Минуты начала торговли(терминальное время)
extern int    Distance    = 250; //Расстояние от цены для установки стопового ордера
extern int    Step        = 250; //Шаг установки стоповых ордеров
extern int    Count       = 10;  //Количество устанавливаемых ордеров стоповых или лимитных 
extern int    Expiration  = 300; //Время истечения ордера в минутах
extern double Lots        = 0.1; //Лот
extern int    Magic       = 123; //Магик
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   Comment("");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void BU()
  {
   bool m;
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() || OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY)
              {
               if(OrderOpenPrice()<=(Bid-(BULevel)*Point) && OrderOpenPrice()>OrderStopLoss())
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+BUPoint*Point,OrderTakeProfit(),0,Green);
                  return;
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if(OrderOpenPrice()>=(Ask+(BULevel)*Point) && OrderOpenPrice()<OrderStopLoss())
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-BUPoint*Point,OrderTakeProfit(),0,Green);
                  return;
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   int res=0,i;
   datetime expiration=TimeCurrent()+60*Expiration;
   if(BULevel!=0) BU();
//--------------------------------------------------------------------    
   //if(Hour()==StartHour && Minute()==StartMin && DayOfWeek()==TradingDay && Day()<=7*TradingWeak && OrdersTotal()<=Count)
   if(TimeCurrent()==StringToTime(TradeTime) && OrdersTotal()<=Count)
     {
      for(i=1;i<=Count;i++)
        {
           {
            if(StopLimit==1)
              {
               res=OrderSend(Symbol(),OP_BUYLIMIT,Lots,fND(Ask-(Distance*Point+i*Step*Point)),Slip,fND(Ask-(Distance*Point+i*Step*Point)-StopLoss*Point),fND(Ask-(Distance*Point+i*Step*Point)+TakeProfit*Point),"",Magic,expiration,Blue);
               res=OrderSend(Symbol(),OP_SELLLIMIT,Lots,fND(Bid+(Distance*Point+i*Step*Point)),Slip,fND(Bid+(Distance*Point+i*Step*Point)+StopLoss*Point),fND(Bid+(Distance*Point+i*Step*Point)-TakeProfit*Point),"",Magic,expiration,Red);
              }
            if(StopLimit==0)
              {
               res=OrderSend(Symbol(),OP_BUYSTOP,Lots,fND(Ask+(Distance*Point+i*Step*Point)),Slip,fND(Ask+(Distance*Point+i*Step*Point)-StopLoss*Point),fND(Ask+(Distance*Point+i*Step*Point)+TakeProfit*Point),"",Magic,expiration,Blue);
               res=OrderSend(Symbol(),OP_SELLSTOP,Lots,fND(Bid-(Distance*Point+i*Step*Point)),Slip,fND(Bid-(Distance*Point+i*Step*Point)+StopLoss*Point),fND(Bid-(Distance*Point+i*Step*Point)-TakeProfit*Point),"",Magic,expiration,Red);
              }
            Sleep(3000);
            if(res<0)
              {
               Print("ОШИБКА: ",GetLastError());
                 } else {
               RefreshRates();
              }
           }
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double fND(double d,int n=-1)
  {
   if(n<0) return(NormalizeDouble(d, Digits));
   return(NormalizeDouble(d, n));
  }
//+------------------------------------------------------------------+



Время должно быть в таком формате.

datetime NY=D'2015.01.01 00:00';     // время наступления 2015 года
datetime d1=D'1980.07.19 12:30:27';  // год месяц день часы минуты секунды
datetime d2=D'19.07.1980 12:30:27';  // равнозначно D'1980.07.19 12:30:27';
datetime d3=D'19.07.1980 12';        // равнозначно D'1980.07.19 12:00:00'
datetime d4=D'01.01.2004';           // равнозначно D'01.01.2004 00:00:00'
datetime compilation_date=__DATE__;             // дата компиляции
datetime compilation_date_time=__DATETIME__;    // дата и время компиляции 
datetime compilation_time=__DATETIME__-__DATE__;// время компиляции
//--- примеры объявлений, на которые будут получены предупреждения компилятора
datetime warning1=D'12:30:27';       // равнозначно D'[дата компиляции] 12:30:27'
datetime warning2=D'';               // равнозначно __DATETIME__
avatar

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

  • 12 ноября 2015, 21:30
+
0
спасибо Вам большое. Я как то у Вас просил написать сеточного советника и вы сказали что это будет стоить денег, можно узнать стоимость работы?
avatar

  4  Angel369 Автор Сообщений: 49

  • 13 ноября 2015, 17:15
+
0
Я сейчас не берусь за платные заказы, с этим вам сюда: www.mql5.com/ru/job
avatar

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

  • 13 ноября 2015, 17:43
+
0
Напишите в личку т.з., подскажу по стоимости.
avatar

  27  Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..

  • 15 ноября 2015, 14:08

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