droba
Droba

 
Уровень 9

  Торгую в компаниях:


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

Рейтинг 2146



РЕКОМЕНДУЮ



Прошу доработать советник

Доброго времени суток.
Прошу доработать советник.
Доработка советника:
1. Должен открывать один ордер в день BUY и (или) SELL по сигналу.
2. Возможность выбора общего количества ордеров BUY и SELL (например, может быть общее количество BUY — 3 шт. и SELL — 5 шт.).
3. При прохождении определенного процента в сторону депозита перевод в без убыток (например, цена прошла 76,4% переводим в б\у на расстоянии 23,6% от цены открытия ордера).

Советник прилагается: BuySell.mq5 (6 Kb)

#include <Trade\Trade.mqh>
CTrade trade;

input double Lots          = 0.01;      // лот
input int Count            = 5;        // число поз
input int Magic            = 123;

int h=0,h1=0;
double ma[];
double maD[];
datetime t=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   ArraySetAsSeries(ma,true);
   ArraySetAsSeries(maD,true);
   trade.SetExpertMagicNumber(Magic);
  // h=iMA(NULL,0,14,0,0,0);
   h1=iMA(NULL,PERIOD_D1,14,0,0,0);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades(int type)
  {
   int count=0;

   for(int i=PositionsTotal()-1; i>=0; i--)
     {
      if(PositionSelectByTicket(PositionGetTicket(i)))
        {
         if(PositionGetString(POSITION_SYMBOL)==_Symbol)
           {
            if(PositionGetInteger(POSITION_MAGIC)==Magic)
              {
               if(PositionGetInteger(POSITION_TYPE)==type)
                  count++;
              }
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
 //  CopyBuffer(h,0,0,2,ma);
   CopyBuffer(h1,0,0,2,maD);
   double Ask=SymbolInfoDouble(NULL,SYMBOL_ASK);
   double Bid=SymbolInfoDouble(NULL,SYMBOL_BID);

   double Cl_D=iClose(NULL,PERIOD_D1,1);
   double Op_D=iOpen(NULL,PERIOD_D1,0);
   double max=iHigh(NULL,PERIOD_D1,1);
   double min=iLow(NULL,PERIOD_D1,1);

   double Cl=iClose(NULL,0,1);
   double Op=iOpen(NULL,0,1);
   double Cl2=iClose(NULL,0,2);
   double Op2=iOpen(NULL,0,2);
  
      if(t!=iTime(NULL,0,0))
     {
      if(Op_D>Cl2 && Cl2<Op2 && Cl>Op)
         trade.Buy(Lots,NULL,Ask,0,max,"");

      if(Op_D<Cl2 && Cl2>Op2 && Cl<Op)
         trade.Sell(Lots,NULL,Bid,0,min,"");
     }
   t=iTime(NULL,0,0);
  }

//+------------------------------------------------------------------+
BuySell.mq5 (6 Kb)
  • +1
  • Просмотров: 861
  • 1 октября 2024, 09:17
  • droba
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Экспорт сигналов из МТ4 в Telegram
Следующая запись в группе  
Подрихтовать советник!
30 сентября 2024
02 октября 2024

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

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

+
0
п.1 сделал а п.2 вызвал затруднения:

не могу найти аналог функций:


if(TimeDay(OrderCloseTime())==Day())
avatar

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

  • 1 октября 2024, 10:11
+
+2
п.1 и 2 сделал а п.3 не ко мне: www.opentraders.ru/downloads/3908/

avatar

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

  • 1 октября 2024, 10:36
+
0
Сказка, благодарю.
avatar

  9  droba Автор Сообщений: 239 - Droba

  • 1 октября 2024, 12:01
+
0
Начальный депозит $1000, максимальное количество BUY и SELL по 5 шт. Тест с 2020.01.01 по сегодня. Советник выжил не сдох. К 2022 сделал $1150 100% к депозиту. По сигналу он открывал ордера почти сразу с нового дня, а если запускать в лондонскую сессию будет больше. Первый такой советник получился.
avatar

  9  droba Автор Сообщений: 239 - Droba

  • 1 октября 2024, 12:27
+
0
Добрый день! А советник будет работать только с библиотекой Trade.mqh?
avatar

  8  39mail Сообщений: 48 - fenix74

  • 10 октября 2024, 22:49

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