Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 424

 
Ciao a tutti! Potresti dirmi come selezionare l'ultimo ordine chiuso nella cronologia di mql4? Sto usando OrderSelect(0,SELECT_BY_POS,MODE_HISTORY), che seleziona il primo ordine chiuso.
 
Sergei Maksimenko:
Ciao a tutti! Potresti dirmi come selezionare l'ultimo ordine chiuso nella cronologia di mql4? Sto usando OrderSelect(0,SELECT_BY_POS,MODE_HISTORY); seleziona il primo ordine chiuso, ma come posso selezionare l'ultimo?
Invece di 0, dovreste usare OrdersHistoryTotal()-1.
 
new-rena:

È più facile tracciare i cambiamenti delle barre in base ai cambiamenti di tempo delle barre piuttosto che in base ai prezzi delle barre. Alla fine dell'algoritmo, memorizzeremo il tempo attuale della barra, e all'inizio lo confronteremo con il tempo attuale.

Per esempio, per la barra M5, l'ora corrente sarà cambiata solo all'inizio della barra e ogni 5 minuti....

Il test di tali programmi viene eseguito " aprendo i prezzi", il che accelera notevolmente il processo di debug del codice e l'ottimizzazione.

Così, dovrò scoprire che TF è ora e fare l'arrotondamento se una barra non appare esattamente in 5 minuti... Nel mio caso, il codice è molto facile e non gravoso. Naturalmente, il prezzo aperto può non cambiare, ma si può controllare dalla somma di due barre precedenti. In generale, se non hai scritto dei vantaggi della tua soluzione, avrei capito meglio se avessi allegato il codice - non sono un programmatore...
 
-Aleks-:
Quindi devo scoprire che TF è ora, fare l'arrotondamento se la barra non appare in 5 minuti esatti... Nel mio caso il codice è molto facile e non ingombrante. Naturalmente il prezzo di apertura può non cambiare, ma si può controllare dalla somma delle ultime due barre. In generale, se non hai scritto dei vantaggi della tua soluzione, avrei capito meglio se avessi allegato il codice - non sono un programmatore...
Навигатор по форуму и ответы на часто задаваемые вопросы. Настоятельно Рекомендуется к Прочтению! - MQL4 форум
  • www.mql5.com
Навигатор по форуму и ответы на часто задаваемые вопросы. Настоятельно Рекомендуется к Прочтению! - MQL4 форум
 
Artyom Trishkin:

Grazie - più facile di quanto immaginassi nella mia mente dopo aver letto il commento.

 

Buon pomeriggio!

Chi può dirmi come fare un menu a tendina nelle impostazioni dell'esperto?

Come quello nella foto. Grazie.


 
Sergei Konoplev:

Buon pomeriggio!

Chi può dirmi come fare un menu a tendina nelle impostazioni dell'esperto?

Come quello nella foto. Grazie.


Ho bisogno di aggiungere il mio annuncio al codice.
 
-Aleks-:
Quindi devo scoprire che TF è ora, fare l'arrotondamento se la barra non appare in 5 minuti esatti... Nel mio caso il codice è molto facile e non ingombrante. Naturalmente il prezzo di apertura può non cambiare, ma si può controllare dalla somma delle ultime due barre. In generale, se non hai scritto dei vantaggi della tua soluzione, avrei capito meglio se avessi allegato il codice - non sono un programmatore...
//код в фигурных скобках выполнится только один раз, на открытии каждого нового бара М5

datetime prevTime;

if(prevTime!=iTime(Symbol(),PERIOD_M5,0))
   {
     ...
   }
prevTime=iTime(Symbol(),PERIOD_M5,0);
 

Dov'è l'errore?

void CheckValidStop4(string symbol,double price, double &sl) //функция на проверку близких стопов от цены и его исправление
{
    if(sl==0)
    return;
    
    double severs_min_stop = MarketInfo(symbol,MODE_STOPLEVEL)* MarketInfo(symbol,MODE_POINT);
    if(MathAbs(price - sl)<= severs_min_stop)
    {
        if(price>sl)
             sl = price - severs_min_stop;
       else  sl = sl + severs_min_stop;
       
        
    }
    sl = NormalizeDouble(sl,(int)MarketInfo(symbol,MODE_DIGITS));
}
 
Leanid Aladzyeu:

Dov'è l'errore?

Codice di errore?