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

Рейтинг 2146



РЕКОМЕНДУЮ



Создание стрелки+всплывающего окна с указанием актива и направления для МТ4

Здравствуйте! Вводные данные по стратегии:
1. Цена должна открыться и закрыться ВНУТРИ канала КЕЛТНЕРА. Даже не касаясь этого канала никаким образом.Гистограмма Fisher Yur4ik в зависимости от ситуации зелёная или красная. Но можно Fishera сделать отключаемым? true/false.

2. После Сигнала индикатора ABCbinary15 открываем ордер на СЛЕДУЮЩУЮ свечу ВВЕРХ/ВНИЗ на 2 свечи, в зависимости от ТАЙМФРЕЙМА.

Смотрите картинку, там показан момент входа. Также, показан момент, когда входить нельзя.Спасибо*hi* 
1.jpg (61 Kb)
2.jpg (53 Kb)
3.jpg (132 Kb)
Vhod.PNG (41 Kb)
Net vhoda.PNG (40 Kb)
ABC.rar (46 Kb)
  • 0
  • Просмотров: 1299
  • 2 июля 2020, 17:18
  • Shiva
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

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

+
0
на 6-е
avatar

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

  • 2 июля 2020, 22:46
+
0








avatar

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

  • 7 июля 2020, 10:33
+
0
добавил в советник абс и кельтнер, нет сделок, т.к. после сигнала цена уже за пределом канала:




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

//--- Inputs
extern double Lots       = 0.1;      // лот
extern double KLot       = 2;        // умножение лота
extern double MaxLot     = 5;        // максимальный лот
extern int StopLoss      = 222;      // лось
extern int TakeProfit    = 333;      // язь
extern int Slip          = 30;       // реквот
extern int Shift         = 1;        // бар индикатора
extern int Magic         = 123;      // магик

extern string IndName    = "ABCbinary15-2";
extern int FasterEMA     = 5;
extern int SlowerEMA     = 200;
extern int RSIPeriod     = 12;

extern string IndName2   = "Keltner Channel";
extern int MAPeriod      = 10;       // 0 - SMA, 1 - EMA, 2 - SMMA, 3 - LWMA
extern int ModeMA        = 0;        // 0 - Close, 1 - Open, 2 - High, 3 - Low, 4 - Median, 5 - Typical, 6 - Weighted
extern int PriceType     = 5;
//+------------------------------------------------------------------+
//| 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 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,Lot(),NormalizeDouble(price,_Digits),Slip,sl,tp,"",Magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades()
  {
   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);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;
   for(int i=OrdersHistoryTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderProfit()>0)
               break;
            if(OrderProfit()<0)
              {
               lot=OrderLots()*KLot;
               break;
              }
           }
        }
     }
   if(lot>MaxLot)
      lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   double lime= iCustom(NULL,0,IndName,FasterEMA,SlowerEMA,RSIPeriod,0,Shift);
   double red = iCustom(NULL,0,IndName,FasterEMA,SlowerEMA,RSIPeriod,1,Shift);

   double up = iCustom(NULL,0,IndName2,MAPeriod,ModeMA,PriceType,0,Shift);
   double dn = iCustom(NULL,0,IndName2,MAPeriod,ModeMA,PriceType,2,Shift);

   if(CountTrades()<1 && Close[Shift]>dn && Close[Shift]<up)
     {
      if(lime<1000)
        {
         PutOrder(0,Ask);
        }
      if(red<1000)
        {
         PutOrder(1,Bid);
        }
     }

   Comment("\n lime: ",lime,
           "\n red: ",red,
           "\n up: ",up,
           "\n dn: ",dn);
  }
//+------------------------------------------------------------------+

avatar

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

  • 7 июля 2020, 11:07

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