Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 238
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Potete suggerire la seguente cosa, ci sono N EAs sul conto, che in certe condizioni possono tutti aprire un ordine allo stesso tempo, ognuno di loro controlla non più di 1 ordine sul conto, ma a volte mi ritrovo con N ordini, cosa posso fare?
Contattali, probabilmente indovineranno il motivo e suggeriranno a distanza una soluzione ;)
Salve di nuovo, vorrei porre una domanda sul posizionamento di uno stop sull'ultimo ordine.
Voglio chiarire che nel tester a volte uno stop non viene messo sull'ultimo ordine.
Questo non è successo finora nei test in avanti. Ma come si dice, perché aspettare?).
Codice
Potete suggerirmi la seguente cosa, ci sono N EAs sul conto, che in certe condizioni possono tutti aprire un ordine allo stesso tempo, ognuno di loro controlla non più di 1 ordine sul conto, ma a volte mi ritrovo con N ordini, cosa posso fare?
leggere gli articoli
Pausa tra gli scambi
Errore 146 ("Trade flow busy") e come affrontarloleggere gli articoli
Pausa tra gli scambi
Errore 146 ("Trade flow busy") e come affrontarloGrazie!!!
Sei sicuro che questa parte del codice sia la fonte del problema? Da quello che hai mostrato è difficile trarre conclusioni - ci sono molte variabili sconosciute e non si può vedere l'apertura stessa.
Per trovare la ragione da soli, stampate o visualizzate i valori delle variabili con i commenti. Poi sarete in grado di vedere i loro valori in qualsiasi momento.
Questo è basato su eOpenByTime Expert Advisor del signor Kim. Ho anche aggiunto un trailing stop, chiuso alla fine della settimana e aperto in un certo giorno della settimana. In questa forma l'Expert Advisor funziona come dovrebbe essere.
L'apertura dell'affare viene eseguita nel modo seguente, ho aggiunto solo il giorno di una settimana di apertura dell'affare ma non c'è niente da rovinare qui
Per essere onesto, non capisco bene perché TimeCurrent è paragonato a TimeCurrent + TimeTradeOpen dove TimeTradeOpen è un parametro esterno del tipo TimeTradeOpen = "19:51". (Questo è in realtà il tempo di apertura della posizione di cui abbiamo bisogno.) Inoltre non capisco perché questo confronto funziona. La durata è il tempo durante il quale l'Expert Advisor cercherà di aprire una posizione.
Per analogia, ho aggiunto la chiusura di una posizione venerdì.
Finora, tutto funzionava.
Poi volevo aggiungere una condizione che guarda una candela ad una data ora e un dato giorno della settimana, se la candela è rialzista, allora vendi, se è ribassista, allora compra.
Allo stesso modo, ho copiato queste 3 linee, che hanno funzionato prima, ma ora per qualche motivo non vogliono farlo.
Dopodiché segue il codice per l'apertura della posizione. TimeTradeIf ha un formato simile TimeTradeIf = "19:51" ed è anche impostato tramite parametri esterni.
L'intero codice è abbastanza lungo, è necessario inserire?
Salve di nuovo, vorrei porre una domanda sul posizionamento di uno stop sull'ultimo ordine.
Voglio chiarire che nel tester a volte uno stop non viene messo sull'ultimo ordine.
Questo non è successo finora nei test in avanti. Ma come si dice, perché aspettare?).
Codice
Trovato il problema. Il codice è OK. è lo scrittore che esige l'impossibile ))
Si basa su eOpenByTime Expert Advisor dello stimato signor Kim. Ho anche aggiunto un trailing stop, chiuso alla fine della settimana e aperto in un certo giorno della settimana. In questa forma l'EA funziona come dovrebbe.
L'apertura dell'affare viene eseguita nel modo seguente, solo il giorno della settimana di apertura dell'affare viene aggiunto da me ma non c'è posto per fare un errore qui
Per essere onesto, non capisco bene perché TimeCurrent è paragonato a TimeCurrent + TimeTradeOpen, dove TimeTradeOpen è un parametro esterno del tipo TimeTradeOpen = "19:51". (Questo è in realtà il tempo di apertura della posizione di cui abbiamo bisogno.) Inoltre non capisco perché questo confronto funziona. La durata è il tempo durante il quale l'Expert Advisor cercherà di aprire una posizione.
Per analogia, ho aggiunto la chiusura di una posizione venerdì.
Finora, tutto funzionava.
Poi volevo aggiungere una condizione che guarda una candela ad una data ora e un dato giorno della settimana, se la candela è rialzista, allora vendi, se è ribassista, allora compra.
Allo stesso modo, ho copiato queste 3 linee, che hanno funzionato prima, ma ora per qualche motivo non vogliono farlo.
Dopodiché segue il codice per l'apertura della posizione. TimeTradeIf ha un formato simile TimeTradeIf = "19:51" ed è anche impostato tramite parametri esterni.
L'intero codice è abbastanza lungo, devo incollarlo?
Ad essere onesti, ho già dimenticato qual è il problema. In questa sezione di codice vedo che vengono controllate solo le posizioni corte e viene specificata anche l'apertura delle posizioni corte:
Ad essere onesti, ho dimenticato qual è il problema. In questa sezione di codice vedo che solo le posizioni corte sono controllate e solo le posizioni corte sono aperte:
La variabile Sell è esterna e contiene rispettivamente vero o falso, 1 o 0,
Quello di Kim è eOpenByTime.
La logica, l'algoritmo delle azioni, è difettoso.
Se lasciasse perdere la funzione start() e le variabili, quello che portano, allora potremmo suggerire qualcosa.
Artem, questo è corretto, la variabile Sell è esterna e porta il valore vero o falso, 1 o 0 rispettivamente,
Ho guardato quello di Kim, eOpenByTime.
La logica, l'algoritmo delle azioni, è difettoso.
Se mostrasse la funzione start() e le variabili, cosa portano, allora potremmo suggerire qualcosa.
L'idea è questa: se una candela è rialzista in un certo DayOfWeekIf ad un certo tempo TimeTradeIf, allora Sell = true (vendere), se è ribassista, allora Sell = false (comprare).
Dovrebbe esserlo, ma nel test ottengo solo scambi in vendita.
eOpenByTime permette di aprire l'affare in un dato momento, io ho aggiunto di più in un dato giorno della settimana if (DayOfWeek()==DayOfWeekOpen, dove DayOfWeekOpen = 1,2,3,4,5
Sto allegando il codice in due parti, non c'è altro modo, ho evidenziato la condizione problematica. Tutto funziona come dovrebbe senza di esso, cioè impostiamo Sell e apriamo un affare al momento giusto nel giorno giusto della settimana.
Solo la pesca a strascico è stata tagliata.