0
построения сделал. сигнал чуть позже будет:




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

input int Depth=12;
input int Dev=5;
input int Back=3;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double ZZPrice(int n=0)
  {
   double zz=0;
   int k=0;

   for(int i=0; i<1111; i++)
     {
      zz=iCustom(NULL,0,"ZigZag",Depth,Dev,Back,0,i);
      if(zz!=0)
        {
         k++;
         if(k>n)
            return(zz);
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int ZZBar(int n=0)
  {
   double zz=0;
   int k=0,i=0;

   for(i=0; i<1111; i++)
     {
      zz=iCustom(NULL,0,"ZigZag",Depth,Dev,Back,0,i);
      if(zz!=0)
        {
         k++;
         if(k>n)
            return(i);
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
//| Вертикальная линия                                               |
//+------------------------------------------------------------------+
void PutVLine(string name,datetime t,color clr)
  {
   ObjectDelete(0,name);
   ObjectCreate(0,name,OBJ_VLINE,0,t,Bid);
//--- установим цвет линии
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//--- установим толщину линии
   ObjectSetInteger(0,name,OBJPROP_WIDTH,1);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---

   for(int i=1; i<=5; i++)
     {
      double zz=ZZPrice(1);

      int v=NormalizeDouble((zz*zz)/24,3)*1000;

      PutVLine("v"+i,time[ZZBar(i)]+v*PeriodSeconds(),Red);
      
   Comment("\n ZZ: ",zz,
           "\n V: ",v);      
     }

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

avatar

AM2

  • 8 января 2021, 11:42
0
пока попробую число перевести в строку и извлекать с указанной позиции 2 символа
avatar

AM2

  • 8 января 2021, 10:37
0
3) Делим результат 0,76965529 / 24 = 0,0/32/0689704166667
4) Берем первые 2 числа это 32


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

AM2

  • 8 января 2021, 00:40
0

//--- Inputs
extern double Lots       = 0.1;      // лот
extern double KLot       = 1;        // умножение лота
extern double MaxLot     = 5;        // максимальный лот
extern int StopLoss      = 2000;     // лось
extern int TakeProfit    = 100;      // язь
extern int Slip          = 30;       // реквот
extern int MAPeriod      = 190;      // период МА
extern int Shift         = 1;        // бар индикатора
extern int CloseSig      = 0;        // 1-закрытие по сигналу
extern int Magic         = 123;      // магик

extern string IndName    = "Renko-SignalAM";

extern string IndName2   = "QQE-New";
extern int    SF         = 5;
extern int    RSIPeriod  = 6;
extern double WP         = 4.236;
extern double UpperBound = 60;
extern double LowerBound = 40;
avatar

AM2

  • 7 января 2021, 18:31
0
Смысл таков, берем от зигзага последнию вершину, и цену этой вершины умножаем на нее же,


в формуле на скрине нет этого действия, почему?

возводим в квадрат


квадрат или умножение?

И от результата берем последние 2 цифры.


а на скрине берете первые 2 цифры?

определитесь пожалуйста с формулой расчета
avatar

AM2

  • 7 января 2021, 16:18
0
на 12-е
avatar

AM2

  • 6 января 2021, 17:36
0
можно. опишите все подробнее
avatar

AM2

  • 6 января 2021, 17:10
0
5.Закрытие позиций:
— или за Х минут (вынести в настройки) до окончания текущего бара.


это не делал да, т.к. там и так приличный объем работы
avatar

AM2

  • 6 января 2021, 03:05
0
на 8-е
avatar

AM2

  • 5 января 2021, 13:20
0
Индикатор QQE-New находится выше Moving Averege 190

как это?
avatar

AM2

  • 5 января 2021, 11:42
0
у меня этот индикатор даже к графику не присоединяется:

avatar

AM2

  • 4 января 2021, 12:30
0
а то почемуто открывает подряд на каждой свече


этот момент я подправлю завтра, а остальное в следующем топике
avatar

AM2

  • 3 января 2021, 21:03