Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 948

 

Per quanto mi ricordo, uno degli aggiornamenti del terminale ha aggiunto la possibilità di caricare automaticamente le citazioni in uno strumento utente,

come se venissero da un broker.

Per favore, mandami il manuale.

grazie

 
barashka:

Per quanto mi ricordo, uno degli aggiornamenti del terminale ha aggiunto la possibilità di caricare automaticamente le citazioni in uno strumento utente,

come se venissero da un broker.

Per favore, mandami il manuale.

Grazie

Se fosse così gentile da usare il motore di ricerca.

Ho i miei dubbi... (с)

 
Artyom Trishkin:

È adatto per MT4?

 
Evgeny Potapov:

È adatto per MT4?

Che cosa è esattamente "esso"?

 
Artyom Trishkin:

Che cosa è esattamente "esso"?

Sto cercando qualche classe o esempio di organizzazione della barra di scorrimento in MQL4, non in MQL5

 
Evgeny Potapov:

Sto cercando qualche classe o esempio di organizzazione della barra di scorrimento in MQL4, non in MQL5

Nel 90% dei casi i codici tra MQL4 e MQL5 sono compatibili, la differenza principale è nelle operazioni di trading e nel lavoro con strategy tester

Compatibile al 99% nella parte grafica - c'era una piccola differenza nella libreria standard, o forse gli sviluppatori l'hanno già sistemata.

 
Igor Makanu:

Nel 90% dei casi i codici tra MQL4 e MQL5 sono compatibili, la differenza principale è nelle operazioni di trading e nel lavoro con il tester delle strategie.

99% compatibile nella parte grafica - c'era una piccola differenza nella libreria standard, forse gli sviluppatori l'hanno già sistemata.

Ricevo un errore:

testscrollbar EURUSD,M1: indicator on custom buffer is not supported yet
Vorrei vedere un codice funzionante (in MT4) e trattarlo.
 
Evgeny Potapov:

Ricevo un errore:

Vorrei vedere un codice funzionante (in MT4), e trattarlo.

cerca nel forum - non cercherò

Ecco qualcosa di simile che non molto tempo fa ha aiutato a risolverehttps://www.mql5.com/ru/forum/320293/page3#comment_12887682

 
Igor Makanu:

cerca nel forum - non cercherò

Ecco qualcosa di simile che non molto tempo fa ha aiutato a risolverehttps://www.mql5.com/ru/forum/320293/page3#comment_12887682

Grazie! Funziona! Questo è fantastico!

E le funzioni di gestione degli eventi di spostamento del cursore sono presenti!

Puoi suggerire come espandere la barra di scorrimento verticalmente?

 

Perché a volte l'elemento null buffer viene visualizzato in modo errato?

Codice:

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

Ho aggiunto un limitatore, secondo il quale l'algoritmo calcola solo una volta, quando appare una nuova barra. Con questo approccio viene visualizzato correttamente:

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


Ma questo algoritmo calcola la barra zero solo all'apertura. Vorrei che fosse contato sempre (e correttamente). Come si può rimediare a questo?