Come codificare? - pagina 131

 

Valori variabili EA persi alla chiusura di MT4

Ciao a tutti,

Ho cercato e provato diverse soluzioni alla mia domanda, ma non riesco a trovarne nessuna che funzioni.

Sto programmando un EA e i trade sono gestiti dai loro numeri di ticket. I numeri di ticket sono memorizzati in una variabile int. Questo funziona bene in Strategy Tester o su un MT4 ininterrotto, tuttavia se si chiude MT4, ovviamente i ticket vengono persi e quando MT4 si ricarica, i numeri di ticket sono stati persi, quindi l'EA non sa quali trade sono attualmente aperti e inizia ad aprirne di nuovi. Anche se gli ordini pendenti o aperti sono già in negoziazione.

Spero che questo abbia senso.

Ho provato con le variabili statiche e conosco le variabili globali, ma preferirei non usarle, dato che ogni numero di ticket e variabile vuole essere individuale per il grafico TF e Symbol su cui l'EA è in esecuzione.

Qualcuno ha una soluzione semplice. So che probabilmente si potrebbero esportare i numeri di ticket in un file che l'EA può poi aprire e leggere, ma questa sembra una strada lunga. Un modo non così pulito che sto attualmente testando è all'avvio del programma di utilizzare la funzione SELECT_BY_POS, cercando ogni commercio con un numero magico uguale, ma questo non consente la piena funzionalità dell'EA I in quanto a volte eseguo 2 acquisti allo stesso tempo e l'identificazione di quale è quale è difficile.

Grazie per qualsiasi risposta.

 
mach_one_man:
Ciao a tutti,

Ho cercato e provato diverse soluzioni alla mia domanda, ma non riesco a trovarne nessuna che funzioni.

Sto programmando un EA e i trade sono gestiti dai loro numeri di ticket. I numeri di ticket sono memorizzati in una variabile int. Questo funziona bene in Strategy Tester o su un MT4 ininterrotto, tuttavia se si chiude MT4, ovviamente i ticket vengono persi e quando MT4 si ricarica, i numeri di ticket sono stati persi, quindi l'EA non sa quali trade sono attualmente aperti e inizia ad aprirne di nuovi. Anche se gli ordini pendenti o aperti sono già in negoziazione.

Spero che questo abbia senso.

Ho provato con le variabili statiche e conosco le variabili globali, ma preferirei non usarle, dato che ogni numero di ticket e variabile vuole essere individuale per il grafico TF e Symbol su cui l'EA è in esecuzione.

Qualcuno ha una soluzione semplice. So che probabilmente si potrebbero esportare i numeri di ticket in un file che l'EA può poi aprire e leggere, ma questa sembra una strada lunga. Un modo non così pulito che sto attualmente testando è all'avvio del programma di utilizzare la funzione SELECT_BY_POS, cercando ogni trade con un numero Magic uguale, ma questo non consente la piena funzionalità dell'EA I in quanto a volte eseguo 2 acquisti allo stesso tempo e identificare quale è quale è difficile.

Grazie per tutte le risposte.

Invece dei numeri di ticket, prova a tenere traccia dei tuoi ordini usando i numeri magici. Questo è il modo migliore che ho trovato.

 
FerruFx:
Modificare in questo modo:

if(Show_Settings) subPrintDetails(); altrimenti Comment("");

FerruFx

Grazie mille! Lo testerò domenica sera. Apprezzo molto la vostra assistenza! Buon fine settimana!

Dave

 

Modifica EA

Ciao

Apprezzerei molto se qualcuno potesse aiutarmi. C'è questo EA che ho ottenuto da un altro forum FX. Sembra grande ma apprezzerei se qualcuno potesse aiutarmi a fare alcune modifiche su di esso.

Ho provato il poco che penso di sapere ma continua a darmi errori di staffe sbilanciate e.t.c

L'EA apre 5 lotti e prende profitto di 1 lotto ciascuno ad un valore incrementale specificato (diciamo 50 punti/pips). Quindi chiude 1 lotto ogni volta che il profitto aumenta di un numero specificato e infine permette al quinto/ultimo lotto di funzionare fino a quando c'è un segnale opposto.

Modifiche:

Voglio che apra solo 3 lotti,

chiuda 1 lotto ogni volta che il profitto aumenta di un numero specificato di pip

Dopo che i primi due punti di Take profit sono stati raggiunti, un trailing Stop dovrebbe essere usato per il terzo.

Illustrazione:

3 lotti

Punto TP incrementale= 40 pip

1° lotto TP = 40, stoploss spostato a BE

2° lotto TP= 80

3° lotto = Trailing stop attivato

Ogni altra cosa è già presente nell'EA, ma ho solo bisogno di cambiare la dimensione del lotto e aggiungere un trailing stop.

Grazie

File:
stoch_ac.txt  7 kb
 
Dave137:
Grazie mille! Lo testerò domenica sera. Apprezzo molto la tua assistenza! Buon fine settimana! Dave

Non c'è di che, Dave. Godetevi la vostra domenica!

FerruFx

 

disegnare una linea e disegnare una freccia su/giù su una candela

Sto cercando di programmare un indicatore molto semplice per disegnare una linea e disegnare una freccia su/giù su una candela.

Non riesco a capire come usare lo stile, l'indice, il disegno ecc.

Ho un'istruzione if molto semplice all'interno di Start(), cos'altro devo aggiungere prima di Start(), e all'interno di Start()'s if, per disegnare una linea, una freccia su e una freccia giù?

Grazie.

 
MoreYummy:
Sto cercando di programmare un indicatore molto semplice per disegnare una linea e disegnare una freccia su/giù su una candela.

Non riesco a capire come usare lo stile, l'indice, il disegno, ecc.

Ho un'istruzione if molto semplice all'interno di Start(), quindi cos'altro devo aggiungere prima di Start(), e all'interno di Start()'s if, per disegnare una linea, e una freccia su, e una freccia giù?

Grazie.

Prima di provare a disegnare con alcune condizioni nella funzione Start(), devi impostare/inizializzare i buffer[].

Codificare un indicatore non è un lavoro semplice. Potresti dover imparare alcune basi della codifica mql.

Ti auguro tutto il meglio nel tuo processo di apprendimento.

FerruFx

 

aiuto

Ciao colleghi programmatori,

Ho un EA che fa trading su EURUSD quando lo collego al grafico EURUSD. La domanda è: come posso fare trading su più coppie senza dover attaccare il mio EA a più grafici?

Qualcosa del genere?

stringa pairs = "GBPUSD;EURUSD;USDCHF;USDJPY;USDCAD;GBPJPY;EURJPY;GBPCHF;EURAUD;EURCHF;EURGBP;AUDUSD;CHFJPY";

Grazie in anticipo,

LF

 

Fate in modo che il vostro codice scambi una coppia specifica quando inviate il vostro ordine, è molto semplice, proprio nella documentazione.

 

Usate un array invece di una stringa e poi fate un loop attraverso l'array mettendo un ordine per ogni coppia ad ogni iterazione. Se non avete mai usato gli array prima d'ora, cercate nel file di aiuto. Sono abbastanza semplici.

Buona fortuna.

Lux