avventure di un principiante - pagina 8

 
niko:

Ciao CB,


Penso che Tim sia in vacanza ora, dato che non lo sento da qualche giorno. Così sto continuando con il tuo codice, dato che mi aiuterà a fare trading (dato che sto facendo trading manualmente con la strategia ora, e significa svegliarsi presto, ecc). Ho modificato tutto il codice come richiesto, ma per qualche motivo continua a restituire un errore (a che fare con "==" questa volta, molto strano).


Un'altra cosa è che ho notato che la funzione start non era chiusa. Così ho aggiunto "}" dopo la prima funzione all'interno dell'inizio (), se non lo facciamo, il codice genera un errore con la successiva funzione stringa fnGenerateSignal() (dicendo che la definizione della funzione per questo è inaspettata).


Grazie come sempre. Attendo con ansia i vostri commenti/modifiche!

Nick

Ciao Nick.

Hai un'intera serie di riccioli che non sono necessari nel blocco start(). Quindi puoi rimuovere sia il primo { che l'ultimo }.

Ti manca una dichiarazione condizionale if nel blocco fnGenerateSignal(), così come è scritto, restituirà sempre "OP_BUY".

Non vedo alcun problema con ==. Qual è l'errore preciso che stai ottenendo?

CB.

 
cloudbreaker:

Ciao Nick.

Hai tutta una serie di riccioli che non sono necessari nel blocco start(). Quindi puoi rimuovere sia il primo { che l'ultimo }.

Ti manca un'istruzione condizionale if nel blocco fnGenerateSignal(), così come è scritto, restituirà sempre "OP_BUY".

Non vedo alcun problema con ==. Qual è l'errore preciso che stai ottenendo?

CB.

Ciao CB, grazie per essere venuto in soccorso.

Ho aggiunto l'istruzione condizionale if che hai evidenziato.

L'errore == dice: "=="-diversi tipi a confronto, ed evidenzia la seguente linea

if ((OrderSymbol() == Symbol()) && (OrderType() == sSignal))


Penso che l'errore == sia perché stiamo confrontando OrderType che è int con sSignal che è stringa, quindi non possono essere uguali. Vedrò se posso cambiarlo e posterò quello che ho fatto.

 

Ehi, ho cambiato 'OP_BUY' in 1, OP_SELL in -1, per superare l'errore di tipi incompatibili (questo significava cambiare anche fnGenerateSignal). Non produce errori quando viene compilato.


Tuttavia quando lo eseguo su strategy tester esegue ancora più ordini di acquisto e vendita uno dopo l'altro (e dovrebbe avere solo 1 ordine in 1 direzione). Qualche idea?

 

Fate una prova e vedete come va.

- Controllate prima le vostre dichiarazioni condizionali in fnGenerateSignal() per assicurarvi che tutti i minori e maggiori siano corretti, dato che ho dovuto reinserire il primo.

- Se ancora non funziona, allora inizia a inserire dichiarazioni Print() in modo da poter vedere cosa stanno facendo le varie variabili nei punti chiave.


CB

File:
 
niko wrote >>

Ehi, ho cambiato 'OP_BUY' in 1, OP_SELL in -1, per superare l'errore di tipi incompatibili (questo significava cambiare anche fnGenerateSignal). Non produce errori quando viene compilato.

Tuttavia quando lo eseguo su strategy tester esegue ancora più ordini di acquisto e vendita uno dopo l'altro (e dovrebbe avere solo 1 ordine in 1 direzione). Qualche idea?

Ciao Niko,

Bentornato dalla Turchia.

Come vanno le cose?

Saluti

Huckleberry

 

Ciao Nick


Scusa, non avevo capito che eri tornato dalle vacanze.


Sono contento che ti sia divertito in Turchia.

In allegato c'è il codice aggiornato con note ecc.


Il prossimo compito è quello di compilare e debuggare. Poi si può iniziare a testare. Anche qualche altro riordino dei commenti nel codice non sarebbe una cattiva idea.


Saluti

Tim
 
TSWilson:

In realtà ho riordinato alcuni commenti nella versione che ho appena postato sopra. :-)


CB

 
Ehi ragazzi, sembra che l'intera squadra sia tornata in azione! Grazie Tim, procederò con il tuo codice, e quando ne avrò la possibilità continuerò con i CB.
 
niko:
Ehi ragazzi, sembra che l'intera squadra sia tornata in azione! Grazie Tim, procederò con il tuo codice, e quando ne avrò la possibilità continuerò con quello di CB.

Posso chiederti di confermare una cosa sulla tua strategia.

Se ricordo bene, hai detto prima che volevi avere un singolo EA che poteva essere lasciato su qualsiasi coppia e che avrebbe fatto trading solo sulla coppia del grafico su cui era stato lasciato - e avrebbe preso tutte le sue decisioni di trading basate solo sulla coppia del grafico su cui era stato lasciato. Così, avresti solo una singola base di codice da mantenere. È ancora così?


CB

 
cloudbreaker wrote >>

Posso chiederti di confermare una cosa sulla tua strategia.

Se ricordo bene, hai detto prima che volevi avere un singolo EA che poteva essere lasciato su qualsiasi coppia e che avrebbe fatto trading solo sulla coppia del grafico su cui era stato lasciato - e avrebbe preso tutte le sue decisioni di trading basate solo sulla coppia del grafico su cui era stato lasciato. Così, avresti solo una singola base di codice da mantenere. È ancora così?

CB

Ehi CB, l'ideale è avere un EA multi-coppia - che è quello che Tim e io stiamo cercando di costruire. Tuttavia, un EA a coppia singola è anche altamente auspicabile in quanto mi sta insegnando come codificare. I vostri stili di codifica sono diversi ed è un eccellente esercizio per me per vedere come la stessa idea/simile può essere codificata in modo diverso. Inoltre, pensavo che se avessimo finito prima l'EA singolo, l'avrei usato per aiutarmi nel trading manuale, ma sembra che ora entrambi i codici saranno finiti nello stesso momento