MMA_Breakout_strategy_volume I (senza MM o MF) - codificato da WhooDoo22

 
Ho pensato che sarebbe stato utile per i nuovi codificatori (e per i codificatori esperti) postare una versione aggiornata di MMA_Breakout_strategy_Volume I, in modo che i codificatori principianti/esperti possano avere la possibilità di capire i due importanti aggiornamenti richiesti per questo EA (volume I) per funzionare in modo più fluido ed efficiente. Questa versione non include la gestione del denaro o il filtraggio del mercato ed è ancora considerata volume I. (Sto ancora decidendo come implementare sia la gestione del denaro che le caratteristiche di filtraggio del mercato nel volume I per evolvere infine il volume I in volume II. Condividerò una parte dei miei pensieri per realizzare entrambi i compiti di MM (gestione del denaro) e MF (filtraggio del mercato). MM: Come ben sapete, il volume I utilizza un singolo ordine e chiude parzialmente il suo ordine quando le medie mobili si incrociano. Questo obiettivo per MM è quello di aumentare la dimensione del lotto man mano che il saldo del conto cresce (esempio: il saldo del conto aumenta di $1.000, il blocco di codice regolerà la dimensione del lotto corrente al doppio della dimensione del lotto corrente. Questo blocco di codice ridurrà anche la dimensione del lotto alla metà della dimensione del lotto attuale se il saldo del conto perde $1.000. Questo è l'obiettivo attuale per MM. Per quanto riguarda MF: sto considerando accuratamente tutte le opzioni prima di aprire questa porta al mio inesperto territorio di codifica. Posso pensare a più modi per realizzare questo compito. La domanda rimane per me, quale opzione dovrei scegliere? Ho iniziato a codificare versioni del volume II con la funzione MF per familiarizzare con tecniche nuove e diverse. La ripetizione di prove ed errori mi guiderà al completamento di questo progetto. Assicurati di eseguire dal 1999-2012.10 su M15 time frame EURUSD per verificare il più recente back test pubblicato del volume I (è anche considerato in parte il volume II). Su una nota a margine, sono spazzato via il volume I è stato scaricato 10.000 volte entro due mesi circa! WOW! :) Sono così felice che il mio lavoro si sia dimostrato prezioso per i coder/trader. Grazie. - WhooDoo22.
 
Come puoi selezionare un ticket con un numero di 0 su un conto Live o Demo? Cosa succede se una delle tue chiamate a OrderSelect() fallisce? Perché non stai controllando i valori di ritorno e segnalando gli errori?

Cosa sono i valori di ritorno delle funzioni? Come posso usarli?
 
Ciao Simon, capisco che al momento ci sono questioni minori e meno prioritarie di MM e MF per il momento. Ho intenzione di analizzare il volume II dopo aver aggiunto MM e MF. Lo taglierò aggiungendo il codice per selezionare gli ordini per numero magico, il codice per eseguire il volume II su broker a 4-5 cifre, ecc. Capisco che ci sono molti piccoli dettagli da controllare, ma per ora, il lavoro più difficile sarà intrapreso per primo. Il tuo incitamento è ben accolto e ho intenzione di attraversare questo ponte quando ci arriverò. Visiterò il link che hai fornito. Grazie.
 
WhooDoo22:
Ciao Simon, capisco che ci sono questioni minori e meno prioritarie di MM e MF per il momento. Ho intenzione di analizzare il volume II dopo aver aggiunto MM e MF. Lo taglierò aggiungendo il codice per selezionare gli ordini per numero magico, il codice per eseguire il volume II su broker a 4-5 cifre, ecc. Capisco che ci sono molti piccoli dettagli da controllare, ma per ora, il lavoro più difficile sarà intrapreso per primo. Il tuo incitamento è ben accolto e ho intenzione di attraversare questo ponte quando ci arriverò. Visiterò il link che hai fornito. Grazie.
Se pensassi che quello che ho scritto in quel link fosse una chicca o un'opzione o qualcosa da aggiungere in un secondo momento, se il tempo lo permetteva, non mi sarei preso il tempo di scriverlo. . . . è essenziale IMO! Quanti post ci sono che chiedono dell'errore 130? o dell'errore 138? controlla i valori di ritorno, se hai un problema stampa l'errore e tutte le variabili pertinenti. . . ... allora quando avrete un problema avrete le informazioni necessarie per determinare la causa.

Non potete tornare indietro nel tempo per trovare quale fosse l'Ask quando avete provato a piazzare un ordine e questo è fallito... .
 

Cos'è la variabile , cioè come può essere un numero di ticket quando gli fai questo?

i++;

Ho 4 trade live al momento, i loro numeri di ticket non sono sequenziali.

 

Simon,

Se pensassi quello che ho scritto...

RE: Capisco che questa correzione è una necessità. Lo correggerò, credo prima di quanto pensassi perché sembri molto determinato nell'applicare questa correzione. Sono d'accordo che questa correzione dovrebbe essere applicata e farò dei test con la funzione di controllo degli errori per isolare la fonte dell'errore. Tornerò su questo Simon. Grazie.

Cos'è la variabile i...

RE: La variabile i è una variabile dummy ticket, ma ;) i non è effettivamente un ticket; i è considerata una semplice variabile dall'EA. L'EA conta la variabile i invece di contare il numero effettivo del biglietto (metodo alternativo di contare il biglietto corrente).

come può essere un numero di biglietto quando gli fai questo?

RE: La variabile i non è in realtà un numero di ticket. i è una variabile dummy ticket che viene contata dall'EA per tenere il conto del numero di ticket corrente. In conclusione, la variabile i non è considerata un numero di biglietto.


Desidero rispondere ai vostri post il più presto possibile, ma non posso fornire risposte esaurienti finché non avrò il tempo di spiegare e discutere.

Grazie per il tuo importante post!

 
WhooDoo22:

Simon,

Volevo rispondere al più presto ai tuoi post, ma non posso dare risposte esaurienti finché non ho il tempo di spiegare e discutere.

Grazie per il tuo importante post!

Puoi rispondere quando hai tempo, va bene :-)

Sei è un numero di biglietto fittizio. . . . . che senso ha fare questo?

OrderClose( i,  0.01,Ask,30,CLR_NONE); 

Non è garantito il fallimento?

 
Credo che ci siano più modi per selezionare gli ordini, tutti i metodi di selezione degli ordini dovrebbero usare la funzione OrderSelect(). Detto questo, non vedo perché questo dovrebbe fallire perché l'EA esegue chiaramente la funzione OrderClose() per tutti gli ordini senza errori nel tester della strategia. È possibile che si presentino degli errori, ma non ne ho notati fino ad ora. Sarò più specifico affermando questo: "La variabile i" è un sostituto del numero del ticket E la variabile i è utilizzata dai blocchi della funzione OrderClose(). È passato un po' di tempo, ma credo che la ragione per cui ho scritto il codice così come è scritto è perché inizio il programma nel primo blocco di codice OrderSend() SE il OrdersHistoryTotal() == 0. Avevo bisogno di selezionare un biglietto non la variabile i affinché la funzione OrdersHistoryTotal() riconoscesse quale biglietto stavo selezionando e potesse "dare il via libera" per inviare un ordine. Può essere difficile per me esprimere chiaramente questo a parole. Grazie.
 
WhooDoo22:
Credo che ci siano più modi per selezionare gli ordini, tutti i metodi di selezione degli ordini dovrebbero usare la funzione OrderSelect(). Detto questo, non vedo perché questo dovrebbe fallire perché l'EA esegue chiaramente la funzione OrderClose() per tutti gli ordini senza errori nel tester della strategia.
Come si comporta su un conto Demo dove si hanno numeri di ticket che non partono da 1 e salgono in modo incrementale?
 
Non conosco le differenze tra demo e live, tranne il concetto di fondi virtuali e reali per i conti. Non sono a conoscenza di questa differenza. Attualmente credo che OrdersHistoryTotal() parta da 0 prima che qualsiasi ordine sia inviato e terminato. Credo che la funzione OrderClose() non verrebbe eseguita a meno che ;) non ci sia una variabile da selezionare. Questo è dove la variabile i è presentata nel primo blocco di codice nell'esecuzione sotto "i++". Una volta che la variabile i è 1 alias i++, la funzione OrderClose() verifica la presenza dell'1. La funzione OrderClose() è del tipo: "sì, vedo i, siamo a posto per chiudere questo ordine ora. Grazie.
 
WhooDoo22:
Non conosco le differenze tra demo e live, tranne il concetto di fondi virtuali e reali per i conti.
Ok, sto parlando della differenza tra Strategy Tester e Demo/Live . . . nella ST il primo ordine è il ticket 1 . . . ho appena piazzato un trade Demo e il mio numero di ticket è 46322730 . . . se piazzo un 2° trade il numero di ticket non sarà46322731 In questa situazione come funziona l'incremento della variabile che stai usando per il numero di ticket ?
Motivazione: