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

 
sebegolov:

Aiutami a capire perché l'indicatore non viene reso. Voglio alla fine creare qualcosa come ZigZag.

Si prega di inserire il codice correttamente:


L'ho già fatto per te nel tuo post.

 
Artyom Trishkin:

Si prega di inserire il codice correttamente:


L'ho già fatto per te nel tuo post.

Scusa, è la prima volta che scrivo su questo forum, lo farò bene la prossima volta.
 

Buona giornata!

Dove posso trovare un robot per MT4 per impostare SL e TP dopo aver aperto una posizione?

 
churkin:

Buona giornata!

Dove posso trovare un robot per MT4 per impostare SL e TP dopo aver aperto una posizione?

Qui.
 

Potete dirmi come determinare nel codice se questo strumento ha uno swap a fine giornata?

 
Ivan Katsko:

Potete dirmi come determinare nel codice se questo strumento ha uno swap a fine giornata?

Per guardare gli swap alla fine della giornata...

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_SHORT) - scambiare posizioni corte

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_LONG) - scambio di posizioni lunghe

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_MODE) - modello per calcolare lo swap

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_ROLLOVER3DAY)- giorno della settimana per il calcolo del triple swap

 
Artyom Trishkin:

Per guardare gli scambi alla fine della giornata...

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_SHORT) - scambiare posizioni corte

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_LONG) - scambio di posizioni lunghe

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_MODE) - modello per calcolare lo swap

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_ROLLOVER3DAY)- giorno della settimana per il calcolo del triple swap

Per riferimento SYMBOL_SWAP_MODE Per la funzione SymbolInfoInteger(). Nelle variabili globali, impostare int ssm = SymbolInfoInteger(Symbol(),SYMBOL_SWAP_MODE); Nel codice: Print("ssm = ",ssm); Il risultato sia su FC senza swap che su FC con swap = 0 (ecco la domanda). Voglio sapere: ci sarà lo swap o no, in modo da poter decidere di conseguenza.



 
Ivan Katsko:

Per riferimento SYMBOL_SWAP_MODE Per la funzione SymbolInfoInteger(). Nelle variabili globali impostare int ssm = SymbolInfoInteger(Symbol(),SYMBOL_SWAP_MODE); Nel codice: Print("ssm = ",ssm); Il risultato sia su DC senza swap che su DC con swap = 0 (ecco la domanda). Vorrei sapere se ci sarà uno scambio o no, in modo da poter prendere una decisione adeguata.

Alcune variabili dell'ambiente di mercato, simili a quelle di MT5, non sono sempre correttamente popolate in MT4. Pertanto, dobbiamo usare MarketInfo in MT4. E il tipo di calcolo degli swap per MT4 è, nella stragrande maggioranza dei casi, punti. Ecco perché otteniamo 0. Quindi, se si richiedono informazioni attraverso MarketInfo (dobbiamo usare questo vecchio metodo più spesso in MT4), si otterrà il valore corrispondente al riferimento:

MODE_SWAPTYPE

26

Metodo di calcolo degli swap. 0 - in punti; 1 - in valuta base dello strumento; 2 - in percentuali; 3 - in valuta collaterale.

 
Ihor Herasko:

Alcune variabili dell'ambiente di mercato, simili a quelle di MT5, non sono sempre correttamente popolate in MT4. Ecco perché dobbiamo usare MarketInfo in MT4 alla vecchia maniera. E il tipo di calcolo degli swap per MT4 è, nella stragrande maggioranza dei casi, punti. Ecco perché otteniamo 0. Quindi, se richiediamo informazioni attraverso MarketInfo (dobbiamo usare questo vecchio metodo più spesso in MT4), otterremo solo il valore corrispondente al riferimento:

MODE_SWAPTYPE

26

Metodo di calcolo degli swap. 0 - in punti; 1 - in valuta base dello strumento; 2 - in percentuale; 3 - in valuta collaterale.

SWAP - per come la vedo io, è una procedura del centro dealing che consiste nel seguente: se ci sono ordini aperti alla fine della giornata, questi vengono chiusi e al loro posto vengono aperti nuovi ordini. Altrimenti, il dealing desk non chiude/apre gli ordini ma addebita lo SWAP (+/-). Sto cercando di determinare: lo SWAP sarà addebitato, o gli ordini saranno chiusi/aperti? Applicato:

double ssm_l = MarketInfo(Symbol(), MODE_SWAPLONG );

double ssm_s = MarketInfo(Symbol(), MODE_SWAPSHORT);

Stampa("ssm_l = ",ssm_l);

Stampa("ssm_s = ",ssm_s);

e si è scoperto che ci sono alcuni valori numerici in CA, dove lo SWAP è addebitato, e in CA, dove lo SWAP non è addebitato. Quindi è impossibile determinare se lo SWAP è carico o meno.


 
Ivan Katsko:

SWAP - da quanto ho capito, la procedura del centro dealing è la seguente: se alla fine della giornata ci sono ordini aperti, questi vengono chiusi e vengono invece aperti nuovi ordini. Altrimenti, il centro dealing non chiude/apre ordini, ma addebita lo SWAP (+/-). Sto cercando di determinare: lo SWAP sarà addebitato, o gli ordini saranno chiusi/aperti?

Questo metodo di calcolo degli swap è chiamato rollover. In MT4 non c'è modo di saperlo programmaticamente. Solo indirettamente, dopo che il turno di mezzanotte con ordini di mercato di lavoro ha avuto luogo. Ci sono molti di questi piccoli, ma piuttosto spiacevoli problemi in MT4. In MT5 ce ne sono un po' meno, ma esistono ancora.

Applicato:

double ssm_l = MarketInfo(Symbol(), MODE_SWAPLONG );

double ssm_s = MarketInfo(Symbol(), MODE_SWAPSHORT);

Stampa("ssm_l = ",ssm_l);

Stampa("ssm_s = ",ssm_s);

e si è scoperto che ci sono alcuni valori numerici in CA, dove lo SWAP è addebitato, e in CA, dove lo SWAP non è addebitato. Quindi non possiamo decidere se una società di brokeraggio è carica di SWAP o no.


Questi sono valori di swap in pip. Dovrete convertirli nella valuta di deposito procedendo dal volume dell'ordine di mercato. Allora otterremo la dimensione reale dello swap.