Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 948

 

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

как если бы они приходили от брокера.

что да как? мануал будьте любезны.

спасиб

 
barashka:

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

как если бы они приходили от брокера.

что да как? мануал будьте любезны.

спасиб

Будьте любезны поиском воспользоваться.

Что-то терзают меня смутные сомнения... (с)

 
Artyom Trishkin:

А это для MT4 годится?

 
Evgeny Potapov:

А это для MT4 годится?

Что именно "это"?

 
Artyom Trishkin:

Что именно "это"?

Я ищу какой-нибудь класс или пример организации полосы прокрутки на MQL4, не на MQL5

 
Evgeny Potapov:

Я ищу какой-нибудь класс или пример организации полосы прокрутки на MQL4, не на MQL5

в 90% случаев коды между MQL4 и MQL5 совместимы, основное различие в торговых операциях и работа с тестером стратегий

в части графических возможностей совместимость 99% - было какое то небольшое отличие в стандартной библиотеке, а может уже устранили это разработчики

 
Igor Makanu:

в 90% случаев коды между MQL4 и MQL5 совместимы, основное различие в торговых операциях и работа с тестером стратегий

в части графических возможностей совместимость 99% - было какое то небольшое отличие в стандартной библиотеке, а может уже устранили это разработчики

Я получаю ошибку:

testscrollbar EURUSD,M1: indicator on custom buffer is not supported yet
Хотелось бы увидеть рабочий код (в MT4), и разбираться уже с ним.
 
Evgeny Potapov:

Я получаю ошибку:

Хотелось бы увидеть рабочий код (в MT4), и разбираться уже с ним.

поиском по форуму - я искать не буду

вот что то похожее не давно помогал разбираться https://www.mql5.com/ru/forum/320293/page3#comment_12887682

 
Igor Makanu:

поиском по форуму - я искать не буду

вот что то похожее не давно помогал разбираться https://www.mql5.com/ru/forum/320293/page3#comment_12887682

Спасибо! Работает! Это замечательно! 

И функции обработки событий по смещению ползунка присутствуют!

А можете подсказать, как развернуть полосу прокрутки вертикально?

 

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

Код:

int Limit = rates_total - prev_calculated; 
       if (prev_calculated > 0)
         Limit++;
       if(prev_calculated==0) Limit--;
         
         for(int i=Limit; i>-1; i--){
         
            if (startTime!=isTime(i)){
                  startTime=isTime(i);
                  startPriceCur=Open[iBarShift(NULL, NULL,startTime,false)];
                 
                             Comment("time: ", isTime(i));
            }
            
            if(Close[i]>startPriceCur)
            CurrentCurrencyBuffer[i]=100-(100*startPriceCur/Close[i]);
            if(Close[i]<startPriceCur)
            CurrentCurrencyBuffer[i]=(Close[i]*100/startPriceCur)-100;
            if(Close[i]==startPriceCur)
            CurrentCurrencyBuffer[i]=0;
            
         }

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

if(controller<Bars){
 
       int Limit = rates_total - prev_calculated; 
       if (prev_calculated > 0)
         Limit++;
       if(prev_calculated==0) Limit--;
        
         for(int i=Limit; i>-1; i--){
         
            if (startTime!=isTime(i)){
                  startTime=isTime(i);
                  startPriceCur=Open[iBarShift(NULL, NULL,startTime,false)];
                 
                             Comment("time: ", isTime(i));
            }
            
            if(Close[i]>startPriceCur)
            CurrentCurrencyBuffer[i]=100-(100*startPriceCur/Close[i]);
            if(Close[i]<startPriceCur)
            CurrentCurrencyBuffer[i]=(Close[i]*100/startPriceCur)-100;
            if(Close[i]==startPriceCur)
            CurrentCurrencyBuffer[i]=0;
            
         }
        controller=Bars;
}


 Но при таком алгоритме нулевой бар считает только на открытии. Хотелось бы что бы его считало постоянно (и корректно). Как это можно исправить?

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