[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 75
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Grazie! Funziona come un orologio. ))
in questa linea
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) { Print("break "+GetLastError()); break;}
L'ordine viene interrotto ma il codice di errore è 0. - Perché succede questo?
perché avete un controllo per la condizione che l'ordine selezionato tramite la funzione OrderSelect() non sia un ordine a mercato, stampate nel log e interrompete
si dovrebbe fare il contrario: se l'ordine è a mercato e l'ordine ha un numero magico e un simbolo e . poi chiuderlo e non interrompere le iterazioni degli ordini
https://book.mql4.com/ru/trading/orderclose
Ciao a tutti! C'è uno script o un indicatore per il seguente compito? Ho bisogno che una linea orizzontale sia disegnata nel terminale e segua il prezzo ad una certa distanza (come il trailing, ma solo graficamente). Quanto aumenterà il carico di MT con questo script? Grazie in anticipo!
Azione in una riga - ObjectSet
perché state controllando se l'ordine selezionato con la funzione OrderSelect() non è un ordine a mercato, quindi stampatelo nel log e rompetelo.
si dovrebbe fare il contrario: se l'ordine è negoziabile e l'ordine ha un numero magico e un simbolo e . poi chiuderlo e non interrompere le iterazioni degli ordini
https://book.mql4.com/ru/trading/orderclose
cioè questa linea
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) { Print("break "+GetLastError()); break;}
cambiarlo in
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { qui chiuderemo tutto }
ma il significato è lo stesso.
Non capisco davvero perché OrderSelect può restituire false e tuttavia GetLastError() = 0.
consigliare la funzione di chiudere tutti gli ordini
Io passerei attraverso gli ordini in ordine inverso. for(int i=totale-1;i>-1;i--)
Per favore, aiutatemi a trovare un errore, non riesco a capirlo bene e poi a leggerlo dal file
ecco il codice:
maniglia int;
double value,Price,PriceLast,asd;
handle=FileOpen("EURUSD5up.dat",FILE_BIN | FILE_READ | FILE_WRITE);
se(handle<1)
{
Print("can't open file error-",GetLastError());
ritorno(0);
}
asd = (Price - PriceLast);
FileWriteDouble(handle, asd, DOUBLE_VALUE);
FileSeek(handle, 0, SEEK_SET;)
value=FileReadDouble(handle,DOUBLE_VALUE);
Stampa(valore);
FileClose(handle);
ecco il risultato: 2011.02.08 10:18:27 2010.12.31 18:47 TEST EURUSD,M5: 0
Io passerei attraverso gli ordini in ordine inverso. for(int i=totale-1;i>-1;i--)
grazie, è strano che questa variante non sia presentata nell'aiuto di esempio
стандартный кодебазовский RSI, являющийся отношением средней положительных изменений к средней отрицательных, не то же самое
che il reale, originale RSI, che è il rapporto tra la somma dei cambiamenti positivi e la somma dei cambiamenti negativi.
Anche se la conosco e la capisco da molti anni, a differenza di quella del codebase, non sosterrò la mia versione.
Queste sono le basi, penso che tutti quelli che sono sul mercato da molto tempo sanno che l'rsi è sumpos/sumneg*100
a proposito, hanno anche stravolto il macdi - hanno fatto la ruota della macchina principale un EMA
>Azione a una riga - ObjectSet
Grazie mille per la sua risposta. Purtroppo non sono bravo a programmare. Potresti mostrarmi come dovrebbe essere, per esempio per una linea che ritarda il prezzo di 3p verso l'alto con il colore della linea blu.