Risposta

Come fare in modo che il commercio avvenga solo quando il corallo è di un determinato colore

10 risposte

stearno

Cliente, bbp_partecipante, comunità, 379 risposte.

Visita il profilo

11 anni fa #110903

Ho difficoltà con l'indicatore allegato. Voglio che l'EA esegua un ordine di acquisto solo quando il corallo è verde e un ordine di vendita solo quando il corallo è rosso.

Ma esegue ordini di acquisto quando indy è rosso anche se non dovrebbe farlo:

Quando ho caricato l'indy nell'EA Wizard come indicatore personalizzato, aveva 4 uscite. Sono entrato in MT4, ho spostato il cursore e ho capito che quando l'indy era verde, il prezzo si trovava nel campo valore 2.

Quando era rosso, si trovava nel campo del valore 3.

Ho quindi nominato tali uscite in modo appropriato nell'importazione degli indicatori personalizzati di EA Wizard.

Poi, ho inserito una regola che dice che quando il campo di output 2 (chiamato "verde") è maggiore di 0 (perché quando non è verde è 0), solo fare ordini di acquisto. Quando il campo 3 è maggiore di 0 (perché quando è rosso popola il campo 3), allora si eseguono solo ordini di vendita.

Ma ahimè. Come potete vedere

Quando è rosso, esegue un ordine di acquisto. Potete aiutarmi a capire come risolvere questo problema o cosa sto facendo di sbagliato?

Grazie,
Stearno

0

stearno

Cliente, bbp_partecipante, comunità, 379 risposte.

Visita il profilo

11 anni fa #120944

Ho pensato di risolvere il problema del corallo... forse sarei riuscito a capire il problema. La prima eliminazione è stata quella di determinare se fosse il corallo a causare il problema. L'ho quindi sostituito con una normale media mobile. La regola diceva che se la chiusura del prezzo HA era al di sotto della MA, allora solo ordini di vendita. Se al di sopra, allora solo ordini di acquisto.

. Non ha funzionato. Quindi significa che il problema non era il corallo...

passo 2. Forse il mio codice era sbagliato. Quindi la cosa più semplice è creare un codice semplice. Ho quindi creato una nuova strategia che, solo in caso di incrocio del MACD, avrebbe acquistato e in caso di incrocio inverso avrebbe venduto.

. Ho testato l'EA e ha acquistato e venduto come dovrebbe.

A questo EA funzionante ho poi aggiunto che la chiusura doveva essere al di sotto di una MA esponenziale per poter vendere.

e doveva chiudere al di sopra della MA per l'acquisto (anche il prezzo normale invece dell'HA, per eliminare l'HA dalle variabili).

.

Ho eseguito la strategia e ha continuato a vendere sopra la MA e ad acquistare sotto la MA.

Quindi, conclusione: Ci sono solo due cose costanti in questo processo di eliminazione delle variabili: io e il software. Quindi una delle due cose deve essere la causa. Molto probabilmente sono io, dato che Mark è un codificatore migliore di me, quindi per favore guardate il mio codice allegato e ditemi cosa ho fatto di sbagliato per non farlo funzionare come vorrei. Ho allegato il mio MA originale. Vi ringrazio in anticipo per il feedback.

Vi ringrazio!

-Stearno

0

Mark Fric

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

11 anni fa #120964

Ciao Stearno,

l'indicatore THV 4HA che utilizzi nella tua strategia è lo stesso di THV4 Coral?
THV 4HA ha un parametro aggiuntivo Vero/Falso, quindi presumo sia un altro indicatore. Puoi postarlo in modo che possa testarlo con esso?

Quando ho testato il vostro EA in versione semplice con solo MACD e media mobile, non ha mai aperto la vendita sopra la MA o l'acquisto sotto la MA.
Potresti inviarmi la strategia che fa questo con i tuoi test?

Marchio

Marchio
Architetto StrategyQuant

0

stearno

Cliente, bbp_partecipante, comunità, 379 risposte.

Visita il profilo

11 anni fa #120976

Ho allegato il THV HA. L'ho provato con l'HA indi che viene fornito con EA Wizard, e l'ho provato con i dati di prezzo grezzi (ho allegato i file di EA Wizard di ciascuno). Ho anche provato senza corallo e utilizzando una normale MA, anch'essa allegata. Il risultato è stato lo stesso.

Sono anche sul mio computer di lavoro in questo momento, quindi ho provato su questo PC per eliminare la causa che è l'applicazione MT4 specifica sul mio computer personale. Il risultato è stato lo stesso, quindi non si tratta della specifica MT4 che stavo utilizzando.

Ho eseguito una strategia di prova per acquistare/vendite in base al cross sopra/sotto lo 0 del MACD. Acquisto se sopra la MA e vendita se sotto la MA. Ha funzionato. Sembra quindi che ci sia qualcosa di sbagliato nel modo in cui l'ho codificata.

Attendo il vostro feedback su cosa c'è di sbagliato nella mia codifica che sta causando questo problema.

-stearno

0

Mark Fric

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

11 anni fa #120979

Ciao,

Ho trovato l'errore, il problema è nell'indicatore Coral. Ad esempio per la regola short hai una condizione iCustom(THV4 Coral, Red) > Close.
Il problema è che se l'indicatore Coral è in aumento (verde) non viene definito alcun valore per Red e l'indicatore non restituisce 0 (come mi aspetterei) ma un numero doppio massimo.
Quindi questo confronto è sempre vero e non impedisce al vostro EA di entrare in operazioni short.

Una soluzione potrebbe essere quella di utilizzare il valore di Coral, non di Red/Green, in questo modo: iCustom(THV4 Coral, Coral)
un'altra soluzione sarebbe quella di verificare se il valore di ritorno di THV4 Coral non è maggiore di 1000: ciò significa che non ha valore.

Marchio

Marchio
Architetto StrategyQuant

0

stearno

Cliente, bbp_partecipante, comunità, 379 risposte.

Visita il profilo

11 anni fa #120983

Ok, ho esaminato il codice dell'indicatore e grazie alle tue indicazioni sulla causa principale ho scoperto che i buffer erano impostati su "= Empty_Value". Ho cambiato il valore vuoto in 0. Ora funziona.

Un effetto collaterale divertente è che quando il corallo passa dal rosso al giallo, il rosso fa una linea retta fino a zero e poi il verde fa una linea retta da zero fino alla linea del corallo. L'aspetto è piuttosto buffo.

In ogni caso, questo è ciò che userò con l'EA e poi utilizzerò l'indy corretto sul grafico.

Grazie ancora!

-Stearno

0

stearno

Cliente, bbp_partecipante, comunità, 379 risposte.

Visita il profilo

11 anni fa #120984

Ok, ora l'EA ha funzionato dopo aver apportato le modifiche che hai indicato.

Ho poi aggiunto alcune regole per continuare a costruire su questo EA. L'ultima che funziona è #5 (allegata) e si compila bene.

Ma quando sono arrivato all'#6 e all'#6b, dove ho aggiunto un indicatore TRIX, ho provato a compilarlo e c'erano errori nel MetaEditor. Sono tornato all'EA Wizard e ho fatto "Test Validity" e mi ha detto che era un EA valido. Ho quindi pensato che potesse trattarsi del problema che avevo avuto prima, ovvero che il numero di build di MT4 fosse inferiore a quello di MetaEditor. Ho quindi provato a compilarlo con entrambi i MetaEditor e non ho risolto il problema.

Cosa devo fare per risolvere questo problema, dato che l'EA Wizard dice che è un EA valido, ma MT4 dà un avviso quando lo compila. Ho allegato i file di log in modo da poter vedere gli errori che ho ricevuto (nei file zippati).

Ho appena provato a testare e ho aggiunto solo questo indicatore a #5. Questo indicatore è quello che causa i problemi. Ho esaminato il file mq4 e sembra che a causare i problemi siano i parametri esterni. È corretto? Cosa devo fare per renderlo utilizzabile? Inoltre, perché l'EA Wizard dice che è valido.

**Aggiornamento**
Ho esaminato il codice e rimosso gli elementi che causavano gli errori. Ora funziona. Forse il controllo di validità può verificare anche questo? Era un po' confuso perché EA Wizard lo permetteva ma MT4 lo rifiutava.

-Stearno

0

Mark Fric

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

11 anni fa #121000

Ciao,

non c'era nessun allegato nel tuo post, quindi puoi dirmi qual è l'errore?

EA Wizard non è in grado di controllare gli errori del compilatore di MetaTrader, se ci sono errori nell'indicatore personalizzato.
Posso comunque migliorare il controllo di validità, basta che mi facciate sapere dove si è verificato il problema.

Marchio

Marchio
Architetto StrategyQuant

0

stearno

Cliente, bbp_partecipante, comunità, 379 risposte.

Visita il profilo

11 anni fa #121016

Mark,
Mi dispiace, l'indicatore è allegato.

So che Validity non può verificare gli errori di compilazione della MT4. Stavo più che altro suggerendo che nel suo test utilizzi la stessa logica della MT4 che produce gli errori di compilazione. Ma forse è troppo difficile (troppi errori possibili) o non si ha accesso al codice del software per vedere la logica. In ogni caso, ho voluto trasmettere questa situazione affinché possiate decidere cosa è meglio fare (o non fare) per il futuro. Ho risolto il mio problema in quanto ho un indicatore modificato che funziona meglio in un EA.

Grazie

Stearno

0

Mark Fric

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

11 anni fa #121027

Ciao,

il problema con quell'indicatore era probabilmente che EA Wizard non lo riconosceva correttamente, lo abbiamo risolto nella versione più recente.

Non è possibile per EA Wizard convalidare il codice per MetaTader, ma il codice generato da EAW non dovrebbe presentare problemi.
Se avete un errore di compilazione su un EA generato da EAW, inviatemelo (sia i file sqw che mq4) e lo esamineremo.

cordiali saluti,

Marchio

Marchio
Architetto StrategyQuant

0

stearno

Cliente, bbp_partecipante, comunità, 379 risposte.

Visita il profilo

11 anni fa #121030

Ok, lo trasmetto nel caso in cui sia utile.

Sì, sono d'accordo che l'indicatore è complicato. Gli errori si verificano in qualsiasi EA quando si utilizza questo indicatore. Ho quindi allegato un semplice file EA sqw per mostrare gli errori di compilazione con questo indicatore. Se esportate il file MQ4 da EA Wizard e lo compilate, vedrete gli errori.

Inoltre, ho inserito lo stesso indicatore che sono riuscito a modificare per farlo funzionare in EA Wizard.

0

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