Ошибки, баги, вопросы - страница 797

 
sergeev:

Это оно?


У меня два вопроса

- зачем вы изменили в коде расчет от четверошного

- Что показывает этот индикатор?  как по нем торговать?

Оно.

- я не менял. Всё переносил один в один. Там вместо ф-ий в коде четвёрки использую сразу значения ранее расчитанных массивов МА от медленной и быстрой скользящей средней по ОПЕН, КЛОЗЕ, ХАЙ, ЛОУ в пятёрке, опять же домножая на соответствующие коэффициенты инструментов.

Например, ИТОГОВЫЙ  код четвёрки:

if (Symbol() == "EURUSD"){
               OPEN=EUR(Mode,PRICE_OPEN,i,per1,per2)-USD(Mode,PRICE_OPEN,i,per1,per2);
               HIGH=EUR(Mode,PRICE_HIGH,i,per1,per2)-USD(Mode,PRICE_HIGH,i,per1,per2);
               LOW=EUR(Mode,PRICE_LOW,i,per1,per2)-USD(Mode,PRICE_LOW,i,per1,per2);
               CLOSE=EUR(Mode,PRICE_CLOSE,i,per1,per2)-USD(Mode,PRICE_CLOSE,i,per1,per2);
...
 pair[i]=(OPEN+HIGH+LOW+CLOSE)/4;

Вот одна из ф-ий EUR, я вместо неё использую в пятёрке (см. ниже) - сразу расчёт по формулам внутри неё. Всё бьёт один в один:

double EUR(int Mode, int Price, int i, int per1, int per2){
   return(
            (iMA("EURUSD",0,per2,0,Mode,Price,i)-
            iMA("EURUSD",0,per1,0,Mode,Price,i))*10000*kUSD
            +
            (iMA("EURGBP",0,per2,0,Mode,Price,i)-
            iMA("EURGBP",0,per1,0,Mode,Price,i))*10000*kGBP
            +
            (iMA("EURJPY",0,per2,0,Mode,Price,i)-
            iMA("EURJPY",0,per1,0,Mode,Price,i))*100*kJPY
          ); 

 

 

В пятёрке этот рачёт  будет так - без функций, как в четвёрке, а сразу напрямую по ранее расчитанным массивам:

if (Symbol() == "EURUSD")
        {     
// ----  OPEN=EUR(Mode,PRICE_OPEN,i,per1,per2)-USD(Mode,PRICE_OPEN,i,per1,per2);          
         OPEN=((OPEN_F_EURUSD[i]-OPEN_S_EURUSD[i])*10000*kUSD+(OPEN_F_EURGBP[i]-OPEN_S_EURGBP[i])*10000*kGBP+(OPEN_F_EURJPY[i]-OPEN_S_EURJPY[i])*100*kJPY -
               (OPEN_S_EURUSD[i]-OPEN_F_EURUSD[i])*10000*kEUR+(OPEN_S_GBPUSD[i]-OPEN_F_GBPUSD[i])*10000*kGBP+(OPEN_F_USDJPY[i]-OPEN_S_USDJPY[i])*100*kJPY);
               
// ----  HIGH=EUR(Mode,PRICE_HIGH,i,per1,per2)-USD(Mode,PRICE_HIGH,i,per1,per2);              
         HIGH=((HIGH_F_EURUSD[i]-HIGH_S_EURUSD[i])*10000*kUSD+(HIGH_F_EURGBP[i]-HIGH_S_EURGBP[i])*10000*kGBP+(HIGH_F_EURJPY[i]-HIGH_S_EURJPY[i])*100*kJPY -
               (HIGH_S_EURUSD[i]-HIGH_F_EURUSD[i])*10000*kEUR+(HIGH_S_GBPUSD[i]-HIGH_F_GBPUSD[i])*10000*kGBP+(HIGH_F_USDJPY[i]-HIGH_S_USDJPY[i])*100*kJPY);
               
// ----  LOW=EUR(Mode,PRICE_LOW,i,per1,per2)-USD(Mode,PRICE_LOW,i,per1,per2);
         LOW=((LOW_F_EURUSD[i]-LOW_S_EURUSD[i])*10000*kUSD+(LOW_F_EURGBP[i]-LOW_S_EURGBP[i])*10000*kGBP+(LOW_F_EURJPY[i]-LOW_S_EURJPY[i])*100*kJPY -
               (LOW_S_EURUSD[i]-LOW_F_EURUSD[i])*10000*kEUR+(LOW_S_GBPUSD[i]-LOW_F_GBPUSD[i])*10000*kGBP+(LOW_F_USDJPY[i]-LOW_S_USDJPY[i])*100*kJPY);
               
// ---   CLOSE=EUR(Mode,PRICE_CLOSE,i,per1,per2)-USD(Mode,PRICE_CLOSE,i,per1,per2);
         CLOSE=((CLOSE_F_EURUSD[i]-CLOSE_S_EURUSD[i])*10000*kUSD+(CLOSE_F_EURGBP[i]-CLOSE_S_EURGBP[i])*10000*kGBP+(CLOSE_F_EURJPY[i]-CLOSE_S_EURJPY[i])*100*kJPY -
               (CLOSE_S_EURUSD[i]-CLOSE_F_EURUSD[i])*10000*kEUR+(CLOSE_S_GBPUSD[i]-CLOSE_F_GBPUSD[i])*10000*kGBP+(CLOSE_F_USDJPY[i]-CLOSE_S_USDJPY[i])*100*kJPY);
         }
      
      pair[i]=(OPEN+HIGH+LOW+CLOSE)/4;    

 

 

 

- Кумулятивный (совокупный) эффект от движения нескольких инструментов, берутся разности  быстрой и медленной МА инструментов от OPEN,  HIGH, LOW, CLOSE. Суммируются между собой и делятся на четыре с учётом коэффициентов множителей разностей быстрой и медленной МА  инструментов, также подляжащих оптимизации.

Торговать: 1.  по пересечению линии нуля + Different (расстояние от нуля для фильтрации ложных входов) снизу вверх, то бай, сверху вниз, то в селл. См. эксперт в прицепе. 

                 2. по перегибам линии: если ниже нуля перегиб,  то в бай, если выше нуля перегиб этой совокупной линии разностей МА инструментов, то в селл (этого варианта в сове пока нет).  

Хочу или первый или второй вариант задействовать на чемпионате.

Файлы:
 

Неверное отображение графика (Bars Mode).

При запуске теминала избражения символов индикаторных буферов значительно смещены относительно изображений баров, к которым они относятся.

 

build 687 

Также в режиме визуализации при движении графика символы индикаторных буферов перемещаются за соответствующими барами с очень сильным и видимым запаздыванием. 

 
R0MAN:

- я не менял. Всё переносил один в один.

результат у вас не совпадает.

Зачем вы постояно mqh  носите в комплекте мне непонятно

вобщем. я привел код в порядок.  Добавил два класса

CSeries - класс, обслуживающий 4 массива и 4 буфера + они задаются в INDICATOR_CALCULATION
CPair - класс, обслуживающий два CSeries - Fast и Slow

Ну и функции USD/JPY/EUR/GBP  + start перенес как и в МТ4


Сравнивал результаты с МТ4 - один в один - совпадают полностью

с вас пиво :)


Хочу или первый или второй вариант задействовать на чемпионате.

а есть профитные результаты?  может помочь чем? глядишь первое место будет.

Файлы:
 

а это тот вид индикатора, что вы изначально пытались делать

Файлы:
 
sergeev:

1. результат у вас не совпадает. 

Зачем вы постояно mqh  носите в комплекте мне непонятно

вобщем. я привел код в порядок.  Добавил два класса

CSeries - класс, обслуживающий 4 массива и 4 буфера + они задаются в INDICATOR_CALCULATION
CPair - класс, обслуживающий два CSeries - Fast и Slow

Ну и функции USD/JPY/EUR/GBP  + start перенес как и в МТ4


2. Сравнивал результаты с МТ4 - один в один - совпадают полностью

с вас пиво :)

 3. а есть профитные результаты?  может помочь чем? глядишь первое место будет.


1. О! От души благодарю Вас! Пока ещё не смотрел. А он iCustom - поддаётся? 

Пока сова на пятёре нет. Этот индик у меня лежал с давних пор ещё - в архиве.  

2. Хирург со своим МАСД - воодушевил! Нос утёр своими 11 сделками за период чемпа всем нейро- мульти- спектра- ультра- ... :-)

Так он обычно и бывает. Щас разобраться, если он iCustom поддаётся, всунуть сигналы в сов и вперёд - оптить!   

3. Пока сова на пятёре нет... Поддаётся ли он iCustom? - нужны его значения c первого, второго,  третьего бара (для кодирования двух условий входа в рынок: пересечение нуля и (или) точки перегиба выше/ниже нуля).

4. "С вас пиво" :-)  +  написал в личку.  

 

 
R0MAN:

3. Пока сова на пятёре нет... Поддаётся ли он iCustom? - нужны его значения c первого, второго,  третьего бара (для кодирования двух условий входа в рынок: пересечение нуля и (или) точки перегиба выше/ниже нуля).

на iCustom все подается.
 
Rosh:
В тестере отладка недоступна
А есть в планах? Отладка в онлайне малопригодна по причине невоспроизводимости условий.
 
Напомните плиз, как добиться, чтобы индюк автоматом показывался в окне чарта, открываемого после прогона в тестере? Раньше вроде ничего не требовалось для этого делать.
 
marketeer:
  Отладка в онлайне малопригодна по причине невоспроизводимости условий.

Есть такая буква.  Большая и жирная.

А есть в планах?

Вряд ли у МетаКвотов есть энтузиазм скрещивать тестер с отладчиком.  Оно и понятно - задачка кривая напрочь.

Тут бродят идеи нащёт "виртуального сервера" - это ближе к реальности, особенно если разрешить подачу произвольных данных на вход (с произвольной скоростью). Но тоже вариант сильно напрягающий метаквотов (видимо сразу по нескольким причинам).

Но возможны и ещё пути. Что-нибудь третье. Типа "микротестера" прямо в отладчике.  Задаём пару, задаём контрольные точки останова, запускаем - и вуаля. Прогон в отладчике. С остановками в точках останова и возможностью пошагового исследования и запуска "дальше", вплоть до завершения "периода отладки".

Как-то так. 

// Но это всё мои домыслы-мысли вслух.  Может стринго чего другое придумает.

Но делать что-то надо, это точно.

 

MetaDriver:

Тут бродят идеи нащёт "виртуального сервера" - это ближе к реальности, особенно если разрешить подачу произвольных данных на вход (с произвольной скоростью). Но тоже вариант сильно напрягающий метаквотов (видимо сразу по нескольким причинам).

Ой что-то мне кажется что зело реальней будет тестер с отладкой, а в эту сторону даже мечтать не стоит.

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