[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

 
Vinin:


Grazie! Funziona come un orologio. ))
 
ZZZEROXXX:

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!
 
globad:
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

 
IgorM:

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.

 
ZZZEROXXX:

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

 
splxgf:

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

>
 
sergeev:

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.