Risposta

Perché l'ea apre solo ordini di vendita e perde denaro?

4 risposte

ftkensin

Cliente, bbp_partecipante, 17 risposte.

Visita il profilo

2 anni fa #276614

Ciao, ho imparato una serie di metodi di trading da un video di un creatore come sotto e lo ha reso ea.
Ma ci sono molti problemi nel backtesting mt5, che è diverso dai risultati del test nel video.
Ad esempio, i risultati del test hanno solo transazioni brevi e il rapporto di test mostra che si tratta di una perdita di denaro.
So che deve essere causato dalla mancata comprensione del codice, per favore aiutatemi a capire cosa deve essere modificato da Algowizard.

La strategia è semplice come la seguente: ( XAUUSD, M15 sul grafico principale).
Ordine di acquisto: Il prezzo attuale è al di sopra della linea di pressione ATR e l'RSI è inferiore a 40. (Linea di pressione ATR: Il prezzo di apertura giornaliero + 0,4 * ATR (giorno))
TP: prezzo di ingresso dell'ordine + 4 * ATR(M15)
SL: linea di supporto ATR
Trailing stop: linea di supporto ATR del giorno (perché durante un trend rialzista anche la linea di supporto del giorno sarà alzata)

Ordine di vendita: Il prezzo attuale è inferiore alla linea di supporto ATR e l'RSI è superiore a 60. ( Linea di supporto ATR: Il prezzo di apertura giornaliero - 0,4 * ATR (giorno))
TP: prezzo di ingresso dell'ordine - 4 * ATR(M15)
SL: linea di pressione ATR
Trailing stop: linea di pressione ATR del giorno

Le mie impostazioni di algowizard e il file mq5 sono negli allegati.

Allegati:
Dovete essere collegato per visualizzare i file allegati.

1

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

2 anni fa #276688

Salve,
Grazie, controllerò il tuo EA e ti farò sapere

1

ftkensin

Cliente, bbp_partecipante, 17 risposte.

Visita il profilo

2 anni fa #276712

1. Quando sostituisco la funzione ">=" nel metodo di uscita con "crosses above", l'ordine long può entrare nel mercato. Ma non sono sicuro di quale sia la differenza tra ">=" e "crosses above"? E perché questa sostituzione funziona? Pensavo che questi due metodi fossero simili, puoi darmi un esempio per aiutarmi a identificare la differenza? Grazie.

2. Ho scoperto che il metodo EntrySignal che ho impostato non è uguale ai lati destro e sinistro della frase. Dovrei aggiungere "ConvertPipstoPrice" al lato destro in modo da visualizzare il prezzo come il lato sinistro della frase. Potete verificare se ho ragione? Grazie.

 

 

1

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

2 anni fa #276764

Salve,

La funzione cross above/below confronta gli ultimi 2 valori di entrambe le uscite ... nel tuo caso dici di volere il trigger esattamente quando il prezzo Close incrocia Open - xATR 

Mentre quando si usa il segno <= si dice che in ogni barra in cui Close < OpenD - xATR l'innesco della negoziazione è valido e verrà elaborato

Inoltre, non sono sicuro della condizione di uscita da afferrare correttamente. In generale, si dovrebbe evitare di usare lo [0] con gli indicatori. Si può fare riferimento a barra corrente prezzi come Open[0], OpenD[0], Close[0] - essendo l'ultimo prezzo ... il valore ATR sarà fuorviante

Per quanto capisco la sua logica, non vedo l'utilità della funzione ConvertPipstoPrice.

1

ftkensin

Cliente, bbp_partecipante, 17 risposte.

Visita il profilo

2 anni fa #276766

Grazie per aver risposto alla domanda!

Ma vogliamo ancora discutere della funzione "ConvertPipstoPrice".

Se il prezzo di chiusura incrocia OpenD[1] - ATR, allora entra nel mercato con un ordine di vendita.

"Close" e "OpenD[1]" esprimono un prezzo ma "ATR" è solo un numero, non dovrei cambiarlo in "ConvertPipstoPrice(ATR)"?

Per esempio , Close=1998.00 e OpenD[1]=2004.00, ATR=50

Se uso ConvertPipstoPrice(ATR) convertirà 50 pips in "5" di prezzo per XAUUSD?

Poi il 1998 incrocia sotto il 2004-5=1999 ed entra nel mercato.

Potete verificare se ho ragione su quanto sopra? Grazie ancora.

1

Stai visualizzando 4 risposte - da 1 a 4 (di 4 totali)