Вопрос по зигзагу

Alexey Viktorov  
kirillyurkov:

Привет всем! Вопрос по зигзагу появился. Кружочками выделил 2 low. Как думаете у этих буферов значения такие?
Самый нижний lowBarBuffer[0], верхний lowBarBuffer[1] ?



Это что, вопрос на экзаменах? Если вы просите совет как разобраться в значениях, то будьте добры показать как вы получили эти значения…

kirillyurkov  
Alexey Viktorov #:

Это что, вопрос на экзаменах? Если вы просите совет как разобраться в значениях, то будьте добры показать как вы получили эти значения…

Тоесть вам код советника нужен?
Alexey Viktorov  
kirillyurkov #:
Тоесть вам код советника нужен?

Мне ничего не надо. Надо вам…

kirillyurkov  
Alexey Viktorov #:

Мне ничего не надо. Надо вам…

Я попробовал на пальцах объяснить. Вы ответили. Решил что сможете мне помочь. Если для этого нужен код, то выложу
Alexey Viktorov  
kirillyurkov #:
Я попробовал на пальцах объяснить. Вы ответили. Решил что сможете мне помочь. Если для этого нужен код, то выложу

Я подозреваю что у вас понимание правильное, а запрос составлен неправильно. А как проверить без вашего кода? Весь код совсем не нужен. Достаточно пояснить на каком уровне объявлены переменные, как копируете значения индикатора и какие индексы массива считаете правильными\нужными.

kirillyurkov  
Alexey Viktorov #:

Я подозреваю что у вас понимание правильное, а запрос составлен неправильно. А как проверить без вашего кода? Весь код совсем не нужен. Достаточно пояснить на каком уровне объявлены переменные, как копируете значения индикатора и какие индексы массива считаете правильными\нужными.

Значит буду сразу код скидывать. С кодом действительно проще все понять))

Смысл такой. Взял стандартный зигзаг и мт5. Переименовал немного буферы. 

Написал небольшого советника которой не делает то что мне нужно) Вот пытаюсь разобраться с экстремумами. У какого какой индекс в массиве

Файлы:
Alexey Viktorov  
kirillyurkov #:

Значит буду сразу код скидывать. С кодом действительно проще все понять))

Смысл такой. Взял стандартный зигзаг и мт5. Переименовал немного буферы. 

Написал небольшого советника которой не делает то что мне нужно) Вот пытаюсь разобраться с экстремумами. У какого какой индекс в массиве

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Вопрос по зигзагу

Alexey Viktorov, 2022.11.23 17:14

Я подозреваю что у вас понимание правильное, а запрос составлен неправильно. А как проверить без вашего кода? Весь код совсем не нужен. Достаточно пояснить на каком уровне объявлены переменные, как копируете значения индикатора и какие индексы массива считаете правильными\нужными.

Вставить код надо после нажатия этой кнопки


kirillyurkov  
Alexey Viktorov #:

Вставить код надо после нажатия этой кнопки


#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//------------Trade classes
#include <Trade/AccountInfo.mqh>
CAccountInfo aInfo;
#include <Trade/PositionInfo.mqh>
CPositionInfo pInfo;
#include <Trade/Trade.mqh>
CTrade trade;
#include <Trade/SymbolInfo.mqh>
CSymbolInfo sInfo;
//------------------------------
ulong magicNum=74839;
ulong zzTicket = ORDER_TICKET;
//------------Time
datetime firstTime = 0;
datetime curTime[];
//------------Input variables
input int SL=250;
input int TP=250;
input double lot = 0.1;
input int zzDepth    =3;  // Depth
input int zzDeviation=5;   // Deviation
input int zzBackstep =3;   // Back Step
//----------------Variables
double stopLoss;
double takeProfit;
double priceClose;
double priceOpen;
double priceOfPendingOrder;
int indent=50;
//---------------Buffers
double zzBuffer[];      // main buffer
double highBarBuffer[];     // ZigZag high extremes (peaks)
double lowBarBuffer[];      // ZigZag low extremes (bottoms)
MqlRates mqlRates[];
int zzHandle=INVALID_HANDLE;

kirillyurkov  
Так копирую данные

 ArraySetAsSeries(zzBuffer, true);
   ArraySetAsSeries(highBarBuffer, true);
   ArraySetAsSeries(lowBarBuffer, true);
   ArraySetAsSeries(mqlRates, true);

   if(CopyTime(_Symbol, _Period, 0, 3, curTime)==-1) {
      Print("Ошибка копирования времени в массив curTime[] ", GetLastError());
      return;
   }
   if(CopyRates(_Symbol, _Period, 0, 3, mqlRates)==-1) {
      Print("Ошибка копирования исторических данных в массив mqlRates[] ", GetLastError());
      return;
   }
   if(CopyBuffer(zzHandle, 0, 0, 2, zzBuffer)==-1) {
      Print("Ошибка копирования данных в массив zzBuffer[] ", GetLastError());
      return;
   }
   if(CopyBuffer(zzHandle, 1, 0, 3, highBarBuffer)==-1) {
      Print("Ошибка копирования данных в массив zzBuffer[] ", GetLastError());
      return;
   }
   if(CopyBuffer(zzHandle, 2, 0, 3, lowBarBuffer)==-1) {
      Print("Ошибка копирования данных в массив zzBuffer[] ", GetLastError());
      return;
   }
kirillyurkov #:
kirillyurkov  
kirillyurkov #:

Считаю что последний экстремум(верхний кружок)- это lowBarBuffer[0]

И я предполагаю что неверно массив обозвал. нужно было что то типа lowExtremumBuffer[]

Причина обращения: