Slepnewlgmailcom

 
Уровень 8

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


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

Рейтинг 2073



РЕКОМЕНДУЮ



советник Leonidos 3

Техническое задание
советник Leonidos 3
для торгового терминала МТ4

В советнике используется свечной анализ.
Условия входа:
1) Открытие сделки происходит перед закрытием свечи. Сделка открывается туда куда закрывается свечка.
2) Если сделка плюсовая перед закрытием свечи, то сделка закрывается. Если сделка в минусе, то открывается еще одна сделка таким же объемом куда закрывается последняя свечка. После открытия многих сделок они закрываются по закрытию свечи когда баланс в плюсе.
3) В настройках прошу вывести размер лота, временной период на котором будет работать советник.
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

+
0
Похожее уже писали.
Посмотрите в этом топике: zakaz.opentraders.ru/59084.html
avatar

  13  verta81 Сообщений: 350

  • 21 июня 2021, 15:16
+
0
Там совсем другой советник, не такой как у этого принцип.
avatar

  8  Slepnewlgmailcom Автор Сообщений: 37

  • 21 июня 2021, 22:48
+
+1
Набросал по Вашему тз
//+------------------------------------------------------------------+
//|                                               Proboy_Candle.mq4  |
//|                                              Copyright 2021,     |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict

//--- Inputs
extern ENUM_TIMEFRAMES TF  = PERIOD_H1;
extern double Lots       = 0.01;      // лот
extern double Profit     = 0.15;       // Суммарный профит
extern int Slip          = 30;       // реквот
extern int Magic         = 123;      // магик
extern string Comm       = "Proboy_Candle";       // коммент
double MINLOT,MAXLOT;
datetime t=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
 MINLOT = MarketInfo(Symbol(),MODE_MINLOT);
 MAXLOT = MarketInfo(Symbol(),MODE_MAXLOT);
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOrder(int type,double price)
  {
   int r=0;
   color clr=Green;
   double sl=0,tp=0;

   if(type==1)
     {
      clr=Red;
     }

   if(type==0)
     {
      clr=Blue;
     }
   r=OrderSend(NULL,type,Lot(),NormalizeDouble(price,Digits),Slip,sl,tp,Comm,Magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;
   if (lot>MAXLOT) lot = MAXLOT;
   if (lot<MINLOT) lot = MINLOT;
   return(lot);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades(int type=-1)
  {
   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()==0 && (type==0 || type==-1))
              {
               count++;
              }
            if(OrderType()==1 && (type==1 || type==-1))
             {
               count++;
             }
           }
         }
       }
   return(count);
  }
//+------------------------------------------------------------------+
//|                   Одна  сделка за свечу                          |
//+------------------------------------------------------------------+
bool OneCandleDeal()
  {
   if(OrderSelect(OrdersTotal()-1,SELECT_BY_POS,MODE_TRADES))
     {
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
        {
         if(OrderOpenTime()>Time[0] && OrderOpenTime()<Time[0]+PeriodSeconds())
           {
            return(false);
           }
        }
     }
   return(true);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double signal()
{
   double sig=3;

   if(iClose(NULL,TF,1)>iOpen(NULL,TF,1))
    {
     sig=0;
    }
   if(iClose(NULL,TF,1)<iOpen(NULL,TF,1)) 
    {
     sig=1;
    }
   return(sig);
}
//+------------------------------------------------------------------+
//| Профит всех ордеров по типу ордера                               |
//+------------------------------------------------------------------+
double AllProfit(int ot=-1)
  {
   double pr=0;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==0 && (ot==0 || ot==-1))
              {
               pr+=OrderProfit()+OrderCommission()+OrderSwap();
              }

            if(OrderType()==1 && (ot==1 || ot==-1))
              {
               pr+=OrderProfit()+OrderCommission()+OrderSwap();
              }
           }
        }
     }
   return(pr);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CloseAll(int ot=-1)
  {
   bool cl;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==0 && (ot==0 || ot==-1))
              {
               RefreshRates();
               cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slip,White);
              }
            if(OrderType()==1 && (ot==1 || ot==-1))
              {
               RefreshRates();
               cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),Slip,White);
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   
    if(AllProfit()>Profit && Profit>0)
     {
      CloseAll();
     }
    if(t!=Time[0])
     {
      if(CountTrades()<2 && AllProfit()>0)
        {
         CloseAll();
        } 
    if(CountTrades()>0 && AllProfit()<0)
     {
      if(signal()==0)
       {
        PutOrder(0,Ask);
       }
      if(signal()==1)
       {
        PutOrder(1,Bid);
       }
      }
      t=Time[0];
     } 
      if(signal()==0)
        {   
        if(CountTrades()<1)
         {   
          if(OneCandleDeal())
           {
            PutOrder(0,Ask);
           }
         }
        }
      if(signal()==1)
       {
        if(CountTrades()<1)
         {
          if(OneCandleDeal())
           {
            PutOrder(1,Bid);
           }
         }
       }
    
 //--------------------------------------
   Comment("\n Trades: ",CountTrades(),
           "\n Profit: ",AllProfit());
   }
  
//+------------------------------------------------------------------+

avatar

  13  verta81 Сообщений: 350

  • 22 июня 2021, 01:22
+
0
Добрый день. Он закрывает не в конц свечки а по тейк профиту. Необходимо что бы он закрывал плюсовые в конце свечки.
avatar

  8  Slepnewlgmailcom Автор Сообщений: 37

  • 24 августа 2021, 09:43

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