0
и как мы все это объясним машине? есть соображения?
avatar

AM2

  • 18 сентября 2023, 18:34
0
на 20-е
avatar

AM2

  • 18 сентября 2023, 17:53
0
пример приведите. Например:

0.1
0.1
0.1

0.2
0.2
0.2
0.2

0.3
0.3
0.3
0.3
0.3
0.3

и напишите что должно быть в настройках и как это все увязывается с сериями?
а то на скрине вообще ничего непонятно
avatar

AM2

  • 17 сентября 2023, 19:46
+2
я часа 4 делал закодил только 2 линии и то на одном дне. если кто то хочет продолжить, пожалуйста:


//+------------------------------------------------------------------+
//|                                                   DoubleRect.mq4 |
//|                                              Copyright 2023, AM2 |
//|                                     https://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023, AM2"
#property link      "https://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

input int days=5;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutTrendLine(string name,datetime time1,double price1,datetime time2,double price2,color clr)
  {
   ObjectDelete(0,name);
   ObjectCreate(0,name,OBJ_TREND,0,time1,price1,time2,price2);
//--- установим цвет линии
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//--- установим стиль отображения линии
   ObjectSetInteger(0,name,OBJPROP_STYLE,0);
//--- установим толщину линии
   ObjectSetInteger(0,name,OBJPROP_WIDTH,1);
//--- включим (true) или отключим (false) режим продолжения отображения линии вправо
   ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,false);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   double p1=iOpen(NULL,PERIOD_D1,1);
   double p2=low[iLowest(NULL,0,MODE_LOW,6,iBarShift(NULL,0,(iTime(NULL,PERIOD_D1,1)+60*60*12)))];
   datetime t1=iTime(NULL,PERIOD_D1,1);
   datetime t2=time[iLowest(NULL,0,MODE_LOW,6,iBarShift(NULL,0,(iTime(NULL,PERIOD_D1,1)+60*60*12)))];

   PutTrendLine("day"+"12",t1,p1,t2,p2,Gold);

   double p13=iOpen(NULL,PERIOD_D1,1);
   double p23=high[iHighest(NULL,0,MODE_HIGH,6,iBarShift(NULL,0,(iTime(NULL,PERIOD_D1,1)+60*60*12)))];
   datetime t13=iTime(NULL,PERIOD_D1,1);
   datetime t23=time[iHighest(NULL,0,MODE_HIGH,6,iBarShift(NULL,0,(iTime(NULL,PERIOD_D1,1)+60*60*12)))];

   PutTrendLine("day"+"13",t13,p13,t23,p23,Gold);

   double p14=iOpen(NULL,PERIOD_D1,1);
   double p24=high[iHighest(NULL,0,MODE_HIGH,6,iBarShift(NULL,0,(iTime(NULL,PERIOD_D1,1)+60*60*12)))];
   datetime t14=iTime(NULL,PERIOD_D1,1);
   datetime t24=time[iHighest(NULL,0,MODE_HIGH,6,iBarShift(NULL,0,(iTime(NULL,PERIOD_D1,1)+60*60*12)))];

   PutTrendLine("day"+"14",t13,p13,t23,p23,Gold);

   Comment("\n T1: ",iTime(NULL,PERIOD_D1,0),
           "\n T2: ",t2,
           "\n T3: ",iTime(NULL,PERIOD_D1,1)+60*60*12,
           "\n low: ",low[iLowest(NULL,0,MODE_LOW,6,iBarShift(NULL,0,(iTime(NULL,PERIOD_D1,1)+60*60*12)))],
           "\n bar: ",iBarShift(NULL,0,(iTime(NULL,PERIOD_D1,1)+60*60*12)));

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 17 сентября 2023, 15:32
+1
готово:


//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool Stop(string symb, ulong magic)
  {
   HistorySelect(0,TimeCurrent());

   ulong ticket=0;

   for(int i=HistoryDealsTotal()-1; i>=0; i--)
     {
      if(PositionGetString(POSITION_SYMBOL)==symb)
        {
         if(PositionGetInteger(POSITION_MAGIC)==magic)
           {
            if((ticket=HistoryDealGetTicket(i))>0)
              {
               if(HistoryDealGetInteger(ticket,DEAL_REASON)==DEAL_REASON_SL)
                  return(true);
              }
            break;
           }
        }
     }
   return(false);
  }
avatar

AM2

  • 17 сентября 2023, 15:09
0
на 18-е
avatar

AM2

  • 17 сентября 2023, 14:06
0
Только не понял почему в МТ4 версии такой код? StopLoss?


очепятка ) поправил в базе: www.opentraders.ru/downloads/3658/
avatar

AM2

  • 17 сентября 2023, 14:05
0
больно уж все это мудрено, сходу не решишь
avatar

AM2

  • 16 сентября 2023, 14:09
0
Рисунок-пояснение прилагаю.


у вас на скрине только одна фигура
avatar

AM2

  • 16 сентября 2023, 12:43
0
2) прошу добавить настройки для каждой серии ордеров (кол-во ордеров) для 5 колен будет достаточно, после последнего колена открытие усреднения по 2 ордера через шаг и усреднени ( 1 серия — 5 ордеров, 2 серия — 4 ордера и тд это пример)


скрины
avatar

AM2

  • 15 сентября 2023, 17:21
0
у меня нет этой функции, писать надо
avatar

AM2

  • 15 сентября 2023, 17:18
0
очень приличный объем работы. будет только то что можно быстро сделать
avatar

AM2

  • 14 сентября 2023, 19:11
0
дайте ссылку на индикатор
avatar

AM2

  • 13 сентября 2023, 19:48