Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 948

 

Pour autant que je me souvienne, l'une des mises à jour du terminal a ajouté la possibilité de charger automatiquement les citations dans un outil utilisateur,

comme s'ils venaient d'un courtier.

Quoi de neuf ? Envoyez-moi le manuel, s'il vous plaît.

merci

 
barashka:

Pour autant que je me souvienne, l'une des mises à jour du terminal a ajouté la possibilité de charger automatiquement les citations dans un outil utilisateur,

comme s'ils venaient d'un courtier.

Quoi de neuf ? Envoyez-moi le manuel, s'il vous plaît.

Merci.

Si vous aviez l'amabilité d'utiliser le moteur de recherche.

J'ai des doutes... (с)

 
Artyom Trishkin:

Est-ce que cela convient pour MT4 ?

 
Evgeny Potapov:

Est-ce que cela convient pour MT4 ?

C'est quoi exactement "ça" ?

 
Artyom Trishkin:

C'est quoi exactement "ça" ?

Je cherche une classe ou un exemple d'organisation de la barre de défilement dans MQL4, et non dans MQL5.

 
Evgeny Potapov:

Je cherche une classe ou un exemple d'organisation de la barre de défilement dans MQL4, et non dans MQL5.

Dans 90% des cas, les codes entre MQL4 et MQL5 sont compatibles, la principale différence réside dans les opérations de trading et le travail avec le testeur de stratégie.

99% compatible dans la partie graphique - il y avait une petite différence dans la bibliothèque standard, ou peut-être les développeurs l'ont déjà corrigé.

 
Igor Makanu:

Dans 90% des cas, les codes entre MQL4 et MQL5 sont compatibles, la principale différence réside dans les opérations de trading et le travail avec le testeur de stratégie.

99% compatible dans la partie graphique - il y avait une petite différence dans la bibliothèque standard, peut-être les développeurs l'ont-ils déjà corrigée.

Je reçois une erreur :

testscrollbar EURUSD,M1: indicator on custom buffer is not supported yet
J'aimerais voir un code fonctionnel (dans MT4) et le traiter.
 
Evgeny Potapov:

Je reçois une erreur :

J'aimerais voir un code fonctionnel (dans MT4), et le traiter.

chercher dans le forum - je ne chercherai pas

Voici quelque chose de similaire, il n'y a pas longtemps, qui a permis de régler le problème dehttps://www.mql5.com/ru/forum/320293/page3#comment_12887682.

 
Igor Makanu:

chercher dans le forum - je ne chercherai pas

Voici quelque chose de similaire, il n'y a pas longtemps, qui a permis de régler le problème dehttps://www.mql5.com/ru/forum/320293/page3#comment_12887682.

Merci ! Ça marche ! C'est génial !

Et les fonctions de gestion des événements liés au déplacement du curseur sont présentes !

Pouvez-vous suggérer comment étendre la barre de défilement verticalement ?

 

Pourquoi l'élément tampon nul s'affiche-t-il parfois de manière incorrecte ?

Code :

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;
            
         }

J'ai ajouté un limiteur, selon lequel l'algorithme ne calcule qu'une seule fois, lorsqu'une nouvelle barre apparaît. Avec cette approche, il s'affiche correctement :

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;
}


Mais cet algorithme ne calcule la barre de zéro qu'à l'ouverture. Je voudrais qu'il soit compté tout le temps (et correctement). Comment peut-on y remédier ?