Мультивалютный - мультитаймовай советник - страница 4

 
Tango_X:

такого не может быть...к примеру при пробитии наклонной линии. - есть пробитие= есть сигнал

во первых нужно избавиться от всех циклов, это написано в справке по OnChartEvent

 
Fast528:

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

if(id>=CHARTEVENT_CUSTOM)
     {
      //--- Если было событие "тик"
      if(lparam==0x00200000)
        {
         datetime t[1];
         //--- Получаем номер символа в массиве
         int s=GetNumberSymbol(sparam);
         // --- перебираем все периоды по нашему символу   
         for(int p=0;p<NUMBER_OF_PERIODS; p++)
           {
            CopyTime(Symbols[s],Periods[p],0,1,t);
            //--- Получим значения индикатора
            if(CopyBuffer(signal_indicator_handles[s][p],0,0,1,Indicator[s][p].sell)<1 || CopyBuffer(signal_indicator_handles[s][p],1,0,1,Indicator[s][p].buy)<1)
              {
               Print("Не удалось скопировать значения ");
               return;
              }
            if(Indicator[s][p].buy[0]!=0 && Symbols[s]=="USDCHF.m" && Periods[p]==PERIOD_M1) Print(Symbols[s]," ",TimeframeToString(Periods[p])," ",Indicator[s][p].buy[0]," ",t[0]);
            if(Indicator[s][p].sell[0]!=0 && Symbols[s]=="USDCHF.m" && Periods[p]==PERIOD_M1) Print(Symbols[s]," ",TimeframeToString(Periods[p])," ",Indicator[s][p].sell[0]," ",t[0]);
           }
        }
     }

Вы имеете ввиду выделенный цикл? если так - то тут все верно.. на каждом тике я просматриваю все периоды на наличие сигнала

 
Tango_X:

Вы имеете ввиду выделенный цикл? если так - то тут все верно.. на каждом тике я просматриваю все периоды на наличие сигнала

темный лес этот OnChartEvent, забыл его как страшный сон, Анатолий Казарский автор 648 тоже воевал с ним) длинные темы есть, мультисимвол + мультитаймфрейм при сильных движениях график думаю встанет, в отличие от OnTick  эта штука копит очередь

 
Tango_X:

я же так и сделал...я сделал один символ и один период - все! выдает то что на рисунке

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

Мультивалютный - мультитаймовай советник

Vladimir Karputov, 2018.09.12 13:45

Начните с простого: текущий таймфрейм и заданный, текущий символ и заданный. То есть два таймферйма и два символа - итого четыре индикатора. Индикатор возьмите любой.


плюс дополнил: никаких OnChartEvent. То есть максимально компактно в одном файле советника. Минимум кода.

 
Vladimir Karputov:

плюс дополнил: никаких OnChartEvent. То есть максимально компактно в одном файле советника. Минимум кода.

Владимир, здесь вообще ничего не понял, можно пояснить?

 
Tango_X:

Владимир, здесь вообще ничего не понял, можно пояснить?

Дано: работаем на EURUSD, H1. Второй символ USDJPY, второй таймфрейм H4.

Создаём четыре хендла (пример для Moving Average) : MA EURUSD H1, MA EURUSD H4, MA USDJPY H1 и MA USDJPY H4.

В OnTick() опрашиваем четыре индикатора.

 
Vladimir Karputov:

Дано: работаем на EURUSD, H1. Второй символ USDJPY, второй таймфрейм H4.

Создаём четыре хендла (пример для Moving Average) : MA EURUSD H1, MA EURUSD H4, MA USDJPY H1 и MA USDJPY H4.

В OnTick() опрашиваем четыре индикатора.

Таким алгоритмом мы будем анализировать допустим несколько пар валют, - НО по событию тика только того графика на который будет накинут советник. Т.е. к примеру кинули советник на EURUSD и ждем тика....а в это время на паре USDJPY уже прошло 5 тиков - как тут? Это в корне - неправильно!

 
Tango_X:

Таким алгоритмом мы будем анализировать допустим несколько пар валют, - НО по событию тика только того графика на который будет накинут советник. Т.е. к примеру кинули советник на EURUSD и ждем тика....а в это время на паре USDJPY уже прошло 5 тиков - как тут? ***

Да, именно так. На самом деле это очень простой вариант без событий, агентов и тому подобного.


ВЫ сначала такую схему реализуйте.

 
Vladimir Karputov:

Да, именно так. На самом деле это очень простой вариант без событий, агентов и тому подобного.


ВЫ сначала такую схему реализуйте.

Ну так ведь это просто! Мне такой алгоритм не подходит и реализовать я его умею.. у меня другая ситуация... почему и промошу помощи. То что предлагаете мне Вы это примитивно, легко и бесполезно в данном случае)

 
Tango_X:

Ну так ведь это просто! Мне такой алгоритм не подходит и реализовать я его умею.. у меня другая ситуация... почему и промошу помощи. То что предлагаете мне Вы это примитивно, легко и бесполезно в данном случае)

Ах вон оно как :)

Тогда вежливо откланиваюсь.

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