Effettuare un secondo ordine sullo stesso bancone
7 risposte
ryanbrignac9764
8 anni fa #114680
Ho provato a cercare nel forum ma non ho trovato la risposta alla mia domanda.
In cima alle mie REGOLE metto sempre "Se il bar è aperto è vero" e poi elenco le mie regole.
Poi entro a mercato o con un ordine limite.
Quindi se entro con un ordine a mercato quando l'apertura della barra è vera e su quella stessa barra raggiunge il mio obiettivo di profitto ed esce dall'operazione con un profitto. Come faccio poi a dirgli che se durante la stessa barra il prezzo torna a quello che era il mio prezzo di entrata nella stessa barra solo un paio di secondi prima e che è uscito con profitto, allora deve rientrare in posizione a quello stesso prezzo nella stessa direzione in cui si trovava?
Ma una volta che la barra è finita e passa alla barra successiva, non voglio che prenda l'operazione.
Voglio che prenda la seconda operazione solo se raggiunge il mio prezzo di entrata dopo che il primo prezzo di entrata ha avuto successo.
R.B.
tomas262
8 anni fa #135263
Quando si entra in una posizione utilizzando un ordine di mercato, è possibile impostare la variabile waitForLimit = 1 e salvare il prezzo di profitto-obiettivo.
L'EA attende quindi che il mercato raggiunga quel prezzo e che la posizione di mercato non sia piatta fino alla chiusura della barra e inserisce l'ordine limite.
Aggiungere la condizione "if isBarOpen = true AND waitForLimit = 1" impostata su waitForLimit = 0 per evitare di piazzare un ordine limite dopo la chiusura della barra.
Attenzione, questo richiede un backtesting preciso per ottenere risultati significativi.
Fatemi sapere se avete bisogno di un esempio per questo in WIzard
Fx Mena
8 anni fa #135825
Stesso problema
Ho bisogno di una funzione per controllare l'ultimo ordine chiuso (la maggior parte degli ordini chiusi manualmente l'EA apre una nuova operazione).
cosa mi serve :
ACQUISTO se solo l'ultimo ordine chiuso è stato VENDERE
SELL se l'ultimo ordine chiuso è stato BUY
Come aggiungere a EA?
tomas262
8 anni fa #135835
Questo potrebbe fare al caso nostro. Ci sono due funzioni: Ultimo ordine e Ultimo ordine oggi ... dipende da quale si preferisce di più
Fx Mena
8 anni fa #135847
Questo potrebbe fare al caso nostro. Ci sono due funzioni: Ultimo ordine e Ultimo ordine oggi ... dipende da quale si preferisce di più
Bene, questo ha risolto una parte del sistema, se io pur SL=0, e attivo il Reverse trading CloseSell/OpenBuy vs CLoseBuy openSell, dopo alcune operazioni, EA smetterà di fare Reset/Set traded=0 o 1, e continuerà con un'operazione (short/long) che non può essere chiusa se il TP non viene raggiunto.
Il problema di : Ultimo ordine & Ultimo ordine oggi che ci restituisce il trade correntemente attivo, non i trade chiusi, giusto?
Come modificare la seguente funzione personalizzata ed estrarre le regole della strategia come : || o && Per restituire le regole se l'ultima posizione chiusa era SELL o BUY .
Fonte :
http://forum.mt5.com/showthread.php?434-Mql4-useful-functions&p=1547&viewfull=1#post1547
int sqGetLastOrderHist(int type = -1) { int ticket = -1; datetime dt = 0; int cnt = HistoryTotal(); for (int i=0; i dt) { dt = OrderCloseTime(); ticket = OrderTicket(); } } return (ticket); }
tomas262
8 anni fa #135885
La funzione Last Order restituisce l'ultimo ordine. Come da esempio, l'EA attende che la posizione sia pari a zero e valuta quale sia stata l'ultima operazione. Poi effettua il trading opposto.
tomas262
8 anni fa #136135
Ho provato a modificare il file. Vedere il progetto Wizard allegato.
In pratica ho rimosso la condizione "Market Position is Flat" e ho sostituito "Last Order Was" con una mia variabile.
Fatemi sapere se vi è stato utile
Fx Mena
8 anni fa #136154
Grazie mille, ora tutti misteri e Problem risolto con la procedura guidata EA.
che includono tutte le azioni e le regole necessarie per le strategie complete.
🙂 Sono molto felice, 1 anno di tentativi per risolvere questo problema, ti meriti tutto il meglio Sig. Tomas
Stai visualizzando 7 risposte - da 1 a 7 (di 7 totali)