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
quando si avvia la Metatrader l'EA deve scoprire se c'è una negoziazione aperta
Faccio solo il conto alla rovescia per controllare i trade se c'è un trade
Se lo imposto all'inizio su uno e OrdersTotal() >0 allora lo faccio controllare i trade if(.......> || .......> ){fare il loop....
sei sicuro di avermi dato il codice che ti ha dato i risultati mostrati sopra? l'ho testato sul periodo 1440 (1 GIORNO) e nessun trade è stato eseguito. tuttavia quando l'ho cambiato a 1M molti trade sono stati eseguiti
OK qui va..... Cercherò di aiutare qui se posso.
Questa domanda su Ma_Shift è una che ho avuto per qualche tempo e non sono mai stato in grado di ottenere una risposta chiara.
Se noti nel tuo codice stai usando uno shift di 8 sulle tue medie mobili.... cosa significa?
Questo fa una differenza di 3 pip nel valore di questa candela delle 08:00 come mostrato qui nella finestra dei dati.
Il che ci porta alla domanda: a cosa serve l'impostazione "Shift" alla fine?
Bene, quando passate il mouse sul vostro grafico con la finestra dei dati aperta e vi spostate da candela a candela
vedrete i numeri cambiare per la 5 SMA mentre passate da candela a candela...
Questo è il significato dell'ultimo valore SHIFT... tenendo presente che la candela attuale che viene
disegnata è la candela zero... l'ultima candela completata è la candela 1 quindi se ci sono 1000 candele totali sul
sul vostro grafico sono numerate all'indietro da 999 sul bordo sinistro del vostro grafico a 0 dove vi trovate attualmente.
Quindi se vuoi sapere quale era il valore della 5 SMA 5 candele completate fa
metti un 5 in quell'ultimo punto... naturalmente con il passare del tempo... la candela 5 passerà alla candela successiva.
Ora, come è stato menzionato... se si ottiene sempre il valore della candela 0... allora quel valore è costantemente
cambiare con il prezzo. Così si può prendere un segnale e poi l'indicatore si ridisegna su di voi .. ma se si sono
sempre chiedendo le informazioni dalla candela 1 è fatto e non cambierà....
Spero che questo aiuti...
Ho rifatto tutto e sistemato il loop, lo slippage, sistemato la media mobile e i valori RSI, fatto in modo che ogni posizione aperta sia chiusa prima di iniziare una nuova posizione. ma quando faccio il backtest, non succede niente, nessun acquisto/vendita è stato eseguito... qual è il problema ancora?
la funzione init() viene eseguita solo all'avvio e non ad ogni tick come la funzione start()... dovrai rimettere le medie mobili nella funzione start invece che nella init() solo per farlo funzionare in modo che continui a ricevere numeri freschi...
Rielaborato
Aggiungere una funzione in cui l'EA controlla se ci sono ordini in sospeso prima di decidere di aprire una nuova posizione. Se c'è un ordine pendente o aperto, allora non tenterà di aprirne altri.
vedo che tutti usano un ciclo per controllare se c'è una posizione aperta prima di comprare, non riesco a vedere la logica di questo. finché OrdersTotal è > 0 ci sono ordini aperti e il mio EA non cercherà di aprire altre posizioni.
Ho corretto il ciclo decrescente.
Questa volta mi dà l'errore OrderClose 138 che non può essere risolto aggiungendo refreshrates()
e finisco ancora per perdere soldi che non dovrei avere.
Non riesco a pensare a nient'altro da correggere...
Rielaborato
Aggiungere una funzione in cui l'EA controlla se ci sono ordini in sospeso prima di decidere di aprire una nuova posizione. Se c'è un ordine pendente o aperto, allora non tenterà di aprirne altri.
vedo che tutti usano un ciclo per controllare se c'è una posizione aperta prima di comprare, non riesco a vedere la logica di questo. finché OrdersTotal è > 0 ci sono ordini aperti e il mio EA non cercherà di aprire altre posizioni.
Ho corretto il ciclo decrescente.
Questa volta mi dà l'errore OrderClose 138 che non può essere risolto aggiungendo refreshrates()
e finisco ancora per perdere soldi che non dovrei avere.
Non riesco a pensare a nient'altro da correggere...
Perché hai messo la logica di apertura di un acquisto prima di controllare i trade che il tuo EA ha aperto sul tuo conto ????
Cosa succederà ora ???? con la programmazione che hai fatto finora?
Supponiamo che tu abbia un conto in esecuzione con il tuo EA. Aprite manualmente un trade per GBPUSD.
quanti trade sono OrdersTotal() con quel trade??
Il tuo codice.... per BUY
cosa sta facendo ora e per quale motivo lo sta facendo?
Perché hai messo la logica per aprire un acquisto prima di controllare i trade che il tuo EA ha aperto sul tuo conto ????
Cosa succederà ora ???? con la programmazione che hai fatto finora?
Supponiamo che tu abbia un conto in esecuzione con il tuo EA. Aprite manualmente un trade per GBPUSD.
quanti trade sono OrdersTotal() con quel trade??
Il tuo codice.... per BUY
cosa sta facendo ora e per quale motivo lo sta facendo?
comprare solo se le condizioni di acquisto sono state soddisfatte e se non sono state aperte posizioni
comprare solo se le condizioni di acquisto sono state soddisfatte e se nessuna posizione è stata aperta
Supponiamo che tu abbia un conto in esecuzione con il tuo EA. Aprite manualmente un trade per GBPUSD.
la condizione sarà vera
Per favore, mi fareste dare un'occhiata ai vostri codici?
Voglio sapere perché ho fallito e come ottenerlo correttamente.
.
Il tuo messaggio a me posso darti il codice completo direttamente.....
Non sarà gratis. Per questo devi usare la sezioneJobs e pagare per ottenerlo...
Lo otterrai allora lì
.
Un altro modo è leggere bene i vostri argomenti
Ti stiamo aiutando qui per imparare a programmare da solo. Questo è un aiuto gratuito
Vi mostriamo i vostri errori e vi aiutiamo nella direzione come risolvere.
Mostro il codice che ho nel momento in cui hai imparato un modo per scriverlo ....
Non c'è bisogno di pagare allora e puoi in quel momento confrontarlo con il codice che hai fatto qui con l'aiuto di questo forum
....
la mia ultima domanda qui non ha ancora una risposta
Supponiamo che tu abbia un conto in esecuzione con il tuo EA. Apri manualmente un trade per GBPUSD.
la condizione sarà vera
.
. In altro argomentoOrderClose errore 138
siete stati aiutati molto bene(RaptorUK e WHRoeder grazie per la spiegazione, penso che sia stata fatta molto bene)
.
Un'altra domanda che ho per voi è
Perché hai cambiato il Timeframe in questo calcolo della media mobile
Questo non è lo stesso che ho dato,
Non sta calcolando il giusto valore su altri grafici giornalieri
.
Quindi prendi tempo per imparare e fare pratica e leggi attentamente l'aiuto che ricevi qui su questo forum
o pagate qualcuno che programmi per voi in un sito come Jobs
Per favore, mi faresti dare un'occhiata ai tuoi codici?
Voglio sapere perché ho fallito e come ottenerlo correttamente.
.
Il tuo messaggio a me posso darti il codice completo direttamente.....
Non sarà gratis. Per questo devi usare la sezioneJobs e pagare per ottenerlo...
Lo otterrai allora lì
.
Un altro modo è leggere bene i vostri argomenti
Ti stiamo aiutando qui per imparare a programmare da solo. Questo è un aiuto gratuito
Vi mostriamo i vostri errori e vi aiutiamo nella direzione come risolvere.
Mostro il codice che ho nel momento in cui hai imparato un modo per scriverlo ....
Non c'è bisogno di pagare allora e puoi in quel momento confrontarlo con il codice che hai fatto qui con l'aiuto di questo forum
....
la mia ultima domanda qui non ha ancora una risposta
Supponiamo che tu abbia un conto in esecuzione con il tuo EA. Apri manualmente un trade per GBPUSD.
la condizione sarà vera
.
. In altro argomentoOrderClose errore 138
siete stati aiutati molto bene(RaptorUK e WHRoeder grazie per la spiegazione, penso che sia stata fatta molto bene)
.
Un'altra domanda che ho per voi è
Perché hai cambiato il Timeframe in questo calcolo della media mobile
Questo non è lo stesso che ho dato,
Non sta calcolando il giusto valore su altri grafici giornalieri
.
Quindi prendi tempo per imparare e fare pratica e leggi attentamente l'aiuto che ricevi qui su questo forum
o pagate qualcuno che programmi per voi in un sito come Jobs
OrdersTotal() dovrebbe rivelare l'ammontare totale degli ordini pendenti e degli ordini a mercato, indipendentemente dal fatto che siano stati aperti tramite EA o manualmente?
Stavo pensando in questo modo. Il mio EA controllerà sempre se ci sono ordini aperti e se ci sono, non aprirà più ordini e aprirà nuovi ordini solo quando non ci sono ordini aperti.
Penso che funzioni bene perché la mia sezione dei risultati mi mostra la sequenza di ordini 1,1,2,2,3,3,4,4 che significa che un ordine viene chiuso prima che un nuovo ordine venga aperto.
le variabili per la media mobile e l'RSI sono cambiate per motivi di test. Lo stavo sperimentando su diversi time frame/periodo ma non l'ho cambiato di nuovo quando l'ho postato qui.
e il più bizzarro di tutti, il mio codice eseguirà SOLO l'ordine di acquisto. non ha mai eseguito nemmeno un ordine di vendita,
in poche parole, i problemi che sto affrontando ancora adesso.
1. esegue solo l'acquisto ma non esegue mai la vendita nonostante il fatto che ho codificato la vendita
2. ancora facendo profitto negativo che io sono la fiducia che questa strategia non è supposto per.