Monday 7 August 2017

Amibroker Test A Mobile Media Attraversamento Sistema


Come ottimizzare trading system NOTA: Questo è argomento abbastanza avanzata. Si prega di leggere precedenti tutorial AFL prima. L'idea alla base di una ottimizzazione è semplice. In primo luogo è necessario disporre di un sistema di negoziazione, questo può essere un semplice incrocio media mobile, per esempio. In quasi tutti i sistemi ci sono alcuni parametri (come periodo di media) che decidono come dato sistema si comporta (cioè è ben si adatta per il lungo termine o breve termine, come fa si reagisce sugli stock altamente volatili, ecc). L'ottimizzazione è il processo di ricerca di valori ottimali di tali parametri (dando massimo profitto dal sistema) per una data simbolo (o di un portafoglio di simboli). AmiBroker è uno dei pochi programmi che permettono di ottimizzare il sistema su più simboli in una sola volta. Per ottimizzare il sistema è necessario definire da un FINO dieci parametri da ottimizzare. Sei tu a decidere che cosa è un valore minimo e massimo ammissibile del parametro e in che incrementa questo valore deve essere aggiornato. AmiBroker esegue quindi più indietro mette alla prova il sistema utilizzando tutte le possibili combinazioni di valori dei parametri. Quando questo processo è finito AmiBroker visualizza l'elenco dei risultati ordinati per l'utile netto. Siete in grado di vedere i valori dei parametri di ottimizzazione che danno il miglior risultato. Scrivendo AFL formula di ottimizzazione in tester posteriore è supportato tramite nuova funzione chiamata ottimizzare. La sintassi di questa funzione è la seguente: (... Passo quot Descrizione quot, di default min max) variabile ottimizzare variabile - è normale variabile AFL che viene assegnato il valore restituito dalla funzione di ottimizzare. Con backtesting normale, la scansione, l'esplorazione e le modalità comentary il valore ritorna di default la funzione di ottimizzare, in modo che la chiamata di funzione di cui sopra è equivalente a: difetto variabile in funzione della modalità di ottimizzazione ottimizzare i rendimenti valori successivi da min a max (globalmente), con passo passo-passo. quot Descriptionquot è una stringa che viene utilizzato per identificare la variabile di ottimizzazione e viene visualizzato come un nome di colonna nella lista dei risultati di ottimizzazione. predefinito è un valore predefinito che ottimizzano restituisce la funzione di esplorazione, l'indicatore, il commento, la scansione e la normale modalità di prova indietro min è un valore minimo della variabile ottimizzata max è un valore massimo della variabile in fase di fase di ottimizzazione è un intervallo utilizzato per aumentare la valore da min a max AmiBroker supporta fino a 64 chiamate alla funzione di ottimizzare (quindi fino a 64 variabili di ottimizzazione), si noti che se si utilizza l'ottimizzazione esaustivo, allora è davvero una buona idea di limitare il numero di variabili di ottimizzazione a solo pochi. Ogni chiamata per ottimizzare generare (max - min) cicli di ottimizzazione passo e le chiamate multiple per ottimizzare moltiplicare il numero di corse necessarie. Per esempio ottimizzando due parametri con 10 passi richiederà 1010 100 cicli di ottimizzazione. Chiamare la funzione di ottimizzare solo una volta per variabile all'inizio del vostro formula come ogni chiamata genera una nuova ottimizzazione loop ottimizzazione Multiple-simbolo è pienamente supportato da AmiBroker massimo spazio di ricerca è di 2 64 (10 19) 10,000,000,000,000,000,000 combinazioni 1. variabile singola ottimizzazione: sigavg Ottimizzare (media del segnale. 9. 2. 20. 1) Comprare Croce (MACD (12. 26), Signal (12. 26. sigavg)) Vendere Croce (Signal (12. 26. sigavg), MACD (12 26)) 2. ottimizzazione a due variabili (adatto per la creazione di grafici in 3D) per Ottimizza (per. 2. 5. 50. 1) livello Optimize (livello. 2. 2. 150. 4) Acquista Cross (CCI (per), - Level) Vendere Croce (Livello, CCI (per)) 3. multipla (3) ottimizzazione variabili: (. MACD lenta 26. 17. 30. 1) Optimize mfast (. MACD veloce 12. 8. 16. 1) mslow Optimize sigavg Optimize (Signal media. 9. 2. 20. 1) Comprare Croce (MACD (mfast, mslow). segnale (mfast, mslow, sigavg)) collocare Croce (Signal (mfast, mslow, sigavg), MACD (mfast, mslow)) Dopo aver inserito la formula è sufficiente fare clic sul pulsante Ottimizza nella finestra di quotAutomatic Analysisquot. AmiBroker sarà iniziare a testare tutte le possibili combinazioni di variabili di ottimizzazione e riferire i risultati nella lista. Dopo l'ottimizzazione è fatto l'elenco dei risultati è presentato ordinati per l'utile netto. Come è possibile ordinare i risultati per ogni colonna nella lista dei risultati è facile ottenere i valori ottimali dei parametri per il prelievo più basso, più basso numero di transazioni, il più grande fattore di profitto, esposizione di mercato più basso e più alto rischio aggiustato dichiarazione annuale. Le ultime colonne della lista dei risultati presentano i valori delle variabili di ottimizzazione per data di prova. Quando si decide quale combinazione di parametri adatta alle vostre esigenze il meglio tutto quello che dovete fare è quello di sostituire i valori di default in funzione di ottimizzare le chiamate con i valori ottimali. Allo stato attuale è necessario digitarli a mano nella finestra formula di modifica (il secondo parametro della chiamata di funzione optimize). Visualizzazione di carte di ottimizzazione animato 3D per visualizzare grafico ottimizzazione 3D, è necessario eseguire l'ottimizzazione di due variabili prima. Due ottimizzazione variabile ha bisogno di una formula che ha 2 chiamate di funzione Optimize (). Un esempio due variabili formula ottimizzazione assomiglia a questo: per ottimizzare (a 2. 5. 50. 1.) Livello Ottimizzare Comprare Croce (CCI (per), - Level) Vendere Croce (livello 2. 2. 150. 4). (Livello, CCI (per)) Dopo aver inserito la formula è necessario fare clic sul pulsante quotOptimizequot. Una volta che l'ottimizzazione è completa si dovrebbe clic sulla freccia a discesa sul pulsante Optimize e scegliere grafico ottimizzazione vista 3D. In pochi secondi apparirà un colorato grafico superficie tridimensionale in una finestra del visualizzatore grafico 3D. Un grafico 3D esempio generato usando sopra la formula è mostrato sotto. Per impostazione predefinita, i grafici dei valori di visualizzazione 3D di utile netto contro variabili di ottimizzazione. È tuttavia possibile tracciare grafico a superficie 3D per qualsiasi colonna nella tabella dei risultati di ottimizzazione. Basta cliccare sulla colonna per ordinare esso (apparirà freccia blu indica che i risultati di ottimizzazione sono allineati secondo la colonna selezionata) e poi scegliere nuovamente grafico ottimizzazione vista 3D. Visualizzando come i parametri di sistemi influiscono sulle prestazioni di trading, si può più facilmente decidere quali valori dei parametri producono quotfragilequot e che producono quotrobustquot le prestazioni del sistema. impostazioni robusti sono regioni nel grafico 3D che mostrano i cambiamenti graduali, piuttosto che improvvisi nella trama della superficie. grafici di ottimizzazione 3D sono ottimo strumento per prevenire curva-montaggio. Curva-montaggio (o sopra-ottimizzazione) si verifica quando il sistema è più complesso di quanto dovrebbe essere, e tutto ciò che la complessità è concentrata su condizioni di mercato che non può mai accadere di nuovo. Cambiamenti radicali (o picchi) nelle classifiche di ottimizzazione 3D mostrano chiaramente le aree sovra-ottimizzazione. Si consiglia di scegliere regione parametro che produce un altopiano ampio e largo sul grafico 3D per il tuo trading vita reale. I set di parametri che producono picchi di profitto non funziona in modo affidabile nel trading reale. visualizzatore grafico 3D controlla visualizzatore grafico AmiBrokers 3D offre capacità di visualizzazione totale con rotazione grafico completo e l'animazione. Ora è possibile visualizzare i risultati del sistema da ogni prospettiva immaginabile. È possibile controllare la posizione e altri parametri del grafico usando il mouse, della barra degli strumenti e scorciatoie da tastiera, tutto ciò che trovano più facile per voi. Qui di seguito troverete l'elenco. - A Ruota - tenere premuto il tasto sinistro del mouse e si muovono in direzioni XY - di zoom-in, zoom-out - tenere premuto il pulsante destro del mouse e muoversi in direzioni XY - to Move (tradurre) - tenere premuto il pulsante sinistro del mouse e il tasto CTRL e muoversi in direzioni XY - animare - tenere premuto il tasto sinistro del mouse, trascinare rapidamente e rilasciare il pulsante mentre si trascina SPACE - animate (rotazione automatica) tasto freccia sinistra - ruotare vert. sinistra tasto freccia destra - ruotare vert. destra Freccia chiave - ruotare Horiz. fino tasto freccia giù - ruotare Horiz. giù NUMPAD (PLUS) - vicino (zoom avanti) TASTONUM - (meno) - Far (diminuire) 4 TN - spostare NUMPAD sinistra 6 - sposta a destra NUMPAD 8 - spostarsi verso l'alto 2 TN - spostare verso il basso PAGE UP - il livello dell'acqua fino PGGIÙ - il livello dell'acqua basso intelligente (non esaustivo) l'ottimizzazione AmiBroker offre ora (non esaustivo) l'ottimizzazione intelligente, oltre a regolare, ricerca esaustiva. Ricerca non esaustivo è utile se il numero di tutte le combinazioni di parametri di sistema dato di trading è semplicemente troppo grande per essere fattibile per la ricerca esaustiva. ricerca esaustiva è perfettamente bene finché è ragionevole usarla. Diciamo che avere 2 parametri ciascuno che vanno da 1 a 100 (fase 1). Quello 10000 combinazioni - perfettamente ok per la ricerca esaustiva. Ora con 3 parametri che hai 1 milione di combinazioni - è ancora OK per ricerca esaustiva (ma può essere questo lento). Con 4 richieste che ha 100 milioni di combinazioni e con 5 parametri (1..100) si dispone di 10 miliardi di combinazioni. In tal caso sarebbe troppo tempo per controllare tutti loro, e questo è l'area dove non esaustivi metodi di smart-ricerca in grado di risolvere il problema che non è risolvibile in tempi ragionevoli utilizzando la ricerca esaustiva. Qui è assolutamente le istruzioni SEMPLICE come utilizzare nuovo ottimizzatore non esaustivo (in questo caso CMA-ES). 1. Aprire la formula nell'Editor Formula 2. Aggiungere questa sola riga nella parte superiore del vostro formula: OptimizerSetEngine (quotcmaequot) è anche possibile utilizzare quotspsoquot o quottribquot qui 3. (Facoltativo) Selezionare la destinazione di ottimizzazione in analisi automatica, Impostazioni, quotWalk scheda - Forwardquot, Ottimizzazione campo di destinazione. Se si salta questo passaggio, verranno ottimizzati per CARMDD (ritorno annuo composto diviso per max drawdown). Ora, se si esegue l'ottimizzazione utilizzando questa formula, utilizzerà nuova evolutivo (non esaustiva) CMA-ES ottimizzatore. Come funziona L'ottimizzazione è il processo di ricerca di minimo (o massimo) di data funzione. Qualsiasi sistema di scambio può essere considerata come una funzione di certo numero di argomenti. Gli ingressi sono parametri e dati di quotazione. l'uscita è il vostro target di ottimizzazione (dire CARMDD). E si sta cercando per un massimo di data funzione. Alcuni di algoritmi di ottimizzazione intelligente si basano sulla natura (comportamento animale) - algoritmo PSO, o biologico - Algoritmi genetici, e alcuni si basano su concetti matematici derivati ​​dagli esseri umani - CMA-ES. Questi algoritmi sono utilizzati in molti settori diversi, tra cui la finanza. Inserisci quotPSO financequot o quotCMA-ES financequot in Google e troverete un sacco di informazioni. Non esaustivo (o quotsmartquot) metodi troveranno ottimale globale o locale. L'obiettivo è ovviamente quello di trovare uno globale, ma se c'è un unico acuto di picco di un'infinità combinazioni di parametri, metodi non esaustivi potrebbe non riuscire a trovare questo unico picco, ma prendendo forma commercianti perspecive, trovando unico picco tagliente è inutile per negoziazione perché questo risultato sarebbe instabile (troppo fragile) e non replicabile nel trading reale. Nel processo di ottimizzazione che stiamo invece cercando regioni altopiano con parametri stabili e questa è l'area in cui brillano i metodi intelligenti. Per quanto riguarda algoritmo utilizzato da ricerca non esaustivo appare come segue: a) l'ottimizzatore genera alcuni (di solito a caso) la popolazione di partenza del parametro imposta b) backtest viene eseguito da AmiBroker per ciascun set di parametri da parte della popolazione c) i risultati dei test retrospettivi sono valutato secondo la logica di algoritmo e nuova popolazione viene generato in base all'evoluzione dei risultati, d) se nuovo è trovato meglio - salvarlo e passare al punto b) fino a quando i criteri di arresto sono soddisfatti Esempio fermare criteri possono includere: a) raggiungendo specificato iterazioni massimo b) si fermano se la gamma dei migliori valori oggettivi delle ultime generazioni X è zero c) fermare se l'aggiunta di 0,1 vettore deviazione standard in qualsiasi direzione asse principale non cambia il valore del valore oggettivo d) ad altri di utilizzare qualsiasi intelligente (non esaustivo) ottimizzatore in AmiBroker è necessario specificare il motore di ottimizzazione che si desidera utilizzare nella formula AFL utilizzando la funzione OptimizerSetEngine. La funzione seleziona motore di ottimizzazione esterno definito in base al nome. AmiBroker attualmente fornito con 3 motori: standard Particle Swarm Optimizer (quotspsoquot), Tribù (quottribquot), e CMA-ES (quotcmaequot) - i nomi in parentesi graffe devono essere utilizzate nelle chiamate OptimizerSetEngine. Oltre a selezionare Engine Optimizer si consiglia di impostare alcuni dei suoi parametri interni. Per fare in modo di utilizzare la funzione OptimizerSetOption. OptimizerSetOption (quotnamequot, valore) La funzione impostare i parametri aggiuntivi per l'ottimizzazione dei motori esterni. I parametri sono dipendente dal motore. Tutti e tre gli ottimizzatori forniti con AmiBroker (SPSO, Trib, CMAE) supportano due parametri: quotRunsquot (numero di piste) e quotMaxEvalquot (valutazioni massime (test) per singola corsa). Il comportamento di ciascun parametro è dipendente dal motore, così stessi valori può e solitamente produrrà risultati diversi con differenti motori utilizzati. La differenza tra le esecuzioni e MaxEval è la seguente. La valutazione (o prova) è unico backtest (o la valutazione di valore della funzione obiettivo). RUN è una corsa piena di dell'algoritmo (trovare il valore ottimale) - di solito coinvolge molti test (Valutazione hotel). Ogni corsa RIPARTE semplicemente l'intero processo di ottimizzazione del nuovo inizio (nuova popolazione iniziale casuale). Pertanto ogni esecuzione può portare a trovare diversi maxmin locale (se non trova quello globale). Così recita parametro definisce il numero di successive esecuzioni algoritmo. MaxEval è il numero massimo di valutazioni (bactests) in ogni singola corsa. Se il problema è relativamente semplice e 1000 prove sono sufficienti per trovare max globale, 5x1000 è più probabile trovare la massima globale, perché ci sono meno possibilità di essere bloccato in max locali, come le esecuzioni successive partiranno da diversi valori iniziali dei parametri popolazione casuale scelta possibile essere difficile. Dipende dal problema in prova, la sua complessità, ecc, ecc Qualsiasi metodo non esaustivo stocastica non darvi garanzia di trovare maxmin globale, indipendentemente dal numero di test, se è più piccolo esaustivo. La risposta più semplice è quello. specificare come gran numero di test come è ragionevole per te in termini di tempo richiesti per completare. Un altro consiglio semplice è quello di moltiplicare per 10 il numero di test con l'aggiunta di nuova dimensione. Che possono portare a serie di test richiesti sopravvalutare, ma è abbastanza sicuro. motori spediti sono progettati per essere semplice da usare, quindi quotreasonablequot valori defaultautomatic vengono utilizzati in modo ottimizzazione può essere di solito eseguito senza specificare nulla (default accettare). E 'importante capire che tutti i metodi di ottimizzazione intelligenti funzionano meglio in spazi di parametri continui e funzioni obiettivo relativamente lisce. Se lo spazio parametro è discreta algoritmi evolutivi possono avere difficoltà a trovare il valore ottimale. E 'vero soprattutto per i parametri (OnOff) binarie - che non sono adatti per qualsiasi metodo di ricerca che utilizza la pendenza del cambiamento funzione obiettivo (come la maggior parte metodi intelligenti fanno). Se il sistema di scambio contiene molti parametri binari, non si dovrebbe usare intelligente ottimizzatore direttamente su di loro. Invece cercare di ottimizzare solo parametri continui tramite intelligenti di ottimizzazione, e passare parametri binari manualmente o tramite script esterno. SPSO - Particle standard Swarm Optimizer standard Particle Swarm Optimizer è basato sul codice SPSO2007 che dovrebbe produrre buoni risultati, a condizione che i parametri corretti (cioè Esegue, MaxEval) sono previste per particolari problemi. Picking opzioni corrette per l'ottimizzatore PSO può essere difficile pertanto i risultati possono variare notevolmente da caso a caso. SPSO. dll viene fornito con i codici sorgente completo all'interno quotADKquot sottocartella. codice di esempio per standard Particle Swarm Optimizer: (trovando valore ottimale in 1000 test all'interno dello spazio di ricerca di 10.000 combinazioni) OptimizerSetEngine (quotspsoquot) OptimizerSetOption (quotRunsquot, 1) OptimizerSetOption (quotMaxEvalquot, 1000) sl Optimize (quotsquot, 26, 1, 100, 1 ) fa Ottimizza (quotfquot, 12, 1, 100, 1) Acquisto Croce (MACD (FA, sl), 0) Vendere Croce (0, MACD (FA, sl)) TRIBES - Adaptive parametro meno Tribù Particle Swarm Optimizer è adattabile , versione parametro-meno di PSO (Particle swarm Optimization) ottimizzatore non esaustivo. Per vedere background scientifico: particleswarm. infoTribes2006Cooren. pdf In teoria dovrebbe funzionare meglio di regolare PSO, perché può regolare automaticamente le dimensioni e la strategia sciame algoritmo per il problema viene risolto. La pratica dimostra che le sue prestazioni è molto simile a PSO. Il plugin Tribes. DLL implementa quotTribes-dquot (cioè senza dimensioni) variante. Sulla base di clerc. maurice. free. frpsoTribesTRIBES-D. zip da Maurice Clerc. codici sorgente originale utilizzato con il permesso dell'autore Tribes. DLL viene fornito con il codice sorgente completo (all'interno della cartella quotADKquot) Parametri supportati: quotMaxEvalquot - numero massimo di valutazioni (estensivi) per ciclo (default 1000). Si dovrebbe aumentare il numero di valutazioni con il crescente numero di dimensioni (numero di params di ottimizzazione). L'impostazione predefinita 1000 è buono per 2 o al massimo 3 dimensioni. quotRunsquot - numero di esecuzioni (riavvio). (Predefinito 5) È possibile lasciare il numero di corse al valore predefinito di 5. numero predefinito di piste (o riavvio) è impostato su 5. Per utilizzare Tribù ottimizzatore, è sufficiente aggiungere una riga al codice: OptimizerSetOption (quotMaxEvalquot , 5000) 5000 valutazioni max CMA-ES - covarianza Matrix Adattamento strategia evolutiva ottimizzatore CMA-ES (Matrix covarianza adattamento strategia evolutiva) è avanzato ottimizzatore non esaustivo. Per background scientifico vedi: bionik. tu-berlin. deusernikocmaesintro. html Secondo parametri di riferimento scientifici supera nove altri, più popolari strategie evolutive (come PSO, genetica e differenziale evoluzione). bionik. tu-berlin. deusernikocec2005.html Il plugin CMAE. DLL implementa quotGlobalquot variante di ricerca con diversi riavvii con l'aumentare della dimensione della popolazione CMAE. DLL viene fornito con il codice sorgente completo (all'interno della cartella quotADKquot) Per numero predefinito di piste (o riavvio) è impostato a 5. si consiglia di lasciare il numero predefinito di riavvii. Si può variare utilizzando chiamata OptimizerSetOption (quotRunsquot, N), dove N dovrebbe essere nella gamma 1..10. Specificando più di 10 corse non è consigliabile, anche se possibile. Si noti che ogni esecuzione utilizza due volte la dimensione della popolazione di corsa precedente in modo che cresce in modo esponenziale. Quindi con 10 piste si finisce con popolazione 210 maggiori (1024 volte) rispetto alla prima esecuzione. Vi è un altro parametro quotMaxEvalquot. Il valore di default è zero che significa che plugin calcolerà automaticamente MaxEval richiesto. Si consiglia di non definire MaxEval da soli come impostazione predefinita funziona bene. L'algoritmo è abbastanza intelligente per ridurre al minimo il numero di valutazioni richieste e converge molto veloce a punto una soluzione, così spesso si trova soluzioni più velocemente di altre strategie. E 'normale che il plugin saltare alcuni passaggi valutazioni, se rileva che è stata trovata una soluzione, quindi, non dovrebbe essere sorpreso dal fatto che barra di avanzamento ottimizzazione può muoversi molto velocemente in alcuni punti. Il plugin ha anche la capacità di aumentare il numero di passaggi rispetto al valore inizialmente stimato se è necessario per trovare la soluzione. Grazie alla sua natura adattiva, il tempo quotestimated leftquot Andor quotnumber di stepsquot mostrato dalla finestra di avanzamento è solo un'ipotesi quotbest al timequot e possono variare durante corso di ottimizzazione. Per utilizzare CMA-ES ottimizzatore, è sufficiente aggiungere una riga al codice: Questo farà eseguire l'ottimizzazione con le impostazioni predefinite che vanno bene per la maggior parte dei casi. Va notato, come è il caso di molti algoritmi di ricerca continouos-spazio, che diminuendo quotstepquot parametro Ottimizzare chiamate funciton () non influenza in modo significativo i tempi di ottimizzazione. L'unica cosa che conta è il quotdimensionquot problema, vale a dire il numero di differenti parametri (numero di chiamate di funzione optimize). Il numero di quotstepsquot per parametro può essere impostato senza influenzare il tempo di ottimizzazione, in modo da utilizzare la risoluzione più fine che si desidera. In teoria l'algoritmo dovrebbe essere in grado di trovare soluzione al massimo 900 (N3) (N3) backtests dove quotNquot è la dimensione. In pratica si converge molto più veloce. Per esempio la soluzione a 3 (N3) spazio dei parametri dimensionali (dire 100100100 1 milione passi esaustivo) possono essere trovati in soli 500-900 passi CMA-ES. Multi-threaded ottimizzazione individuale A partire da AmiBroker 5,70 oltre a multiple-simbolo multithreading. è possibile eseguire l'ottimizzazione multi-threaded singolo simbolo. Per accedere a questa funzionalità, cliccare sulla freccia verso il basso accanto al pulsante quotOptimizequot nella finestra Nuovo Analisi e selezionare quot Optimize individuale quot. quotIndividual Optimizequot utilizzerà tutti i core del processore disponibili per eseguire l'ottimizzazione unico simbolo, il che rende molto più veloce di ottimizzazione regolare. In modalità symbolquot quotCurrent esso deve svolgere l'ottimizzazione su un simbolo. Nelle modalità quotFilterquot quotAll symbolsquot e vengono elaborati tutti i simboli in modo sequenziale, vale a dire l'ottimizzazione prima completa per primo simbolo, quindi l'ottimizzazione sul secondo simbolo, ecc Limitazioni: 1. backtester personalizzata NON è supportato (ancora) 2. motori di ottimizzazione intelligente non sono supportati - solo l'ottimizzazione ESAURIENTE funziona. Alla fine possiamo sbarazzarci di limitazione (1) - quando AmiBroker viene modificato in modo personalizzato backtester non usa più OLE. Ma (2) è probabilmente qui per rimanere per long. Trading Sistema: come il codice di un Moving Average Crossover che ha restituito 28 all'anno Ah, l'umile movimento sistema di scambio medio di crossover Come uno dei primi (se non il primo in sé) sistemi di trading creato e utilizzato da Richard Donchian e ed Seykota già alla fine del 1960, probabilmente avete sentito parlare di un crossover media mobile in qualche forma durante il vostro tempo nei mercati. Uno dei più comuni è il 8220Golden Cross8221 e 8220Dead Cross8221, dove il 50 giorni in movimento croci in media al di sopra (o al di sotto) la media mobile a 200 giorni. L'uno in questo video è un 61 giorni e 93 giorni in movimento di crossover media, in cui aggiungiamo anche una perdita del 10 smettere di usare la funzione ApplyStop in AmiBroker. Ciò consente di ridurre al massimo draw down un po ', per rendere il sistema un po' più confortevole. Si potrebbe, se si voleva, anche fuori utilizzando una media 60 giorni e 90 giorni in movimento 8211 i risultati sono simili. Nel complesso, il sistema ha restituito una media di 28 all'anno negli ultimi 13 anni. Naturalmente, come si sa, questa non è una garanzia di risultati futuri, ma può dare idee per la creazione di sistemi di trading. Guarda il video qui di seguito i risultati del sistema di Moving Average Crossover negoziazione: su una 200 lista ASX oltre 13 anni: perc: 49 Media Annual Return: 36 p. a. La massima perdita di sistema: 45 dopo aver aggiunto una perdita di 10 stop: perc: 41 Media Annual Return: 28 p. a. Massima Sistema drawdown: 37 Ovviamente, è bene testare questo sistema di trading da soli, aggiungere parti o modificare in base alle proprie esigenze, essendo a conoscenza della vostra soglia massima del dolore drawdown e comprendere la necessità di testare su dati out-of-campione. Ma è un grande sguardo ad un altro sistema di negoziazione e come codificare in AmiBroker Possiamo anche vedere il back testing risultati in pochi secondi, invece di testare noi stessi e prendere settimane o mesi. Questi sono i grandi vantaggi di collaudo automatico veloce, facile e gratuito. Spero che questo aiuta, trend felice e godere 8211 Dave McLachlan video nel AmiBroker corso gratuito: Trading libero Sistema Video Lezioni: GRATIS AmiBroker Q amplificatore A Video: 6 Risposte Lascia una strategia di temporizzazione ReplyStock mercato: La media mobile Crossover La media mobile è un indicatore estremamente utile che viene utilizzato in molti settori diversi, non solo finanziare. E il potere it8217s come una strategia di temporizzazione del mercato azionario è importante sapere. Nei mercati, gli operatori si sovrappongono le medie sui loro grafici dei prezzi in movimento al fine di mostrare quando un mercato è in trend e per fornire objective comprare e vendere di segnali. grafico dei prezzi con le medie sovrapposti in movimento. Src: IG Index. Se una media mobile si muove verso l'alto si vede che, in generale, il mercato è in trend più elevato, mentre se una media mobile si muove verso il basso indica che il mercato è in trend inferiore. In movimento crossover medi sono anche utilizzati per identificare cambiamenti di tendenza. Quindi, se un rapido movimento media, come la 50 giorni in movimento croci medi di una media mobile più lenta, come la media mobile a 200 giorni, il mercato si può dire che sono cambiati da una tendenza al ribasso per un nuovo trend rialzista. E questo è noto ai commercianti come una croce d'oro. L'opposto di ciò si verifica quando il movimento croci media 50 al giorno sotto i 200 giorni di media mobile e questo è noto come un Death Croce. Utilizzando la media mobile come un filtro Alcuni commercianti ritengono che la Croce d'Oro è un segnale forte per comprare il mercato azionario e una croce La morte è un segnale forte per vendere, partendo dal presupposto che i mercati finanziari si muovono in mezzo a tendenze a lungo termine. Se si utilizzano questi due segnali è possibile catturare i guadagni quando il mercato si sta muovendo più in alto, e muoversi in contanti quando il mercato sta andando in basso. Quindi, consente di caricare alcuni dati ora e vedere come questa strategia di temporizzazione del mercato azionario ha effettivamente svolto nel corso degli ultimi 100 anni. Quindi, prima di tutto ho intenzione di caricare alcuni dati giornalieri storici per il Dow Jones Industrial Average in AmiBroker e Im andando a calcolare il buy and hold rendimenti tra il 1900 e il 2014. Così come si può vedere dai risultati qui sotto, il annualizzato nominale tornare da buy and hold, con il Dow Jones è 5.22. e il prelievo massimo è 89. che si è verificato durante la Grande Depressione. (Drawdown è un modo per misurare il calo di picco-valle di un investimento. Quindi, in questo caso, il buy and hold investimento avrebbe perso 89 dal picco nel 1929 al trogolo nel 1932). It8217s pena ricordare che questi sono i rendimenti nominali. Per ottenere i reali, restituisce vita reale, è necessario regolare i dati per in forma di rendimento, così come per l'inflazione. E 'possibile effettuare questa regolazione, ma per dati giornalieri necessari qui non è così facile. Pertanto, saranno utilizzati i rendimenti nominali. Basta tenere a mente che i rendimenti possono essere leggermente superiore in realtà dovuto ai dividendi. In generale, la borsa ha dimostrato di ritorno intorno 6-7 nel lunghissimo periodo. 89 prelievo durante la Grande Depressione. L'esecuzione della strategia di crossover Ora, invece di utilizzare un buy and hold approccio ci sarà solo comprare il Dow quando il movimento croci media di 50 giorni oltre la media mobile a 200 giorni (una croce d'oro). E noi venderemo al mercato ogni volta che la 50-day MA attraversa sotto il 200 giorni di MA (un Death Cross). Si può vedere dai risultati qui sotto che il filtro media mobile ha funzionato: Così, invece di limitarsi a comprare e tenendo l'indice, weve effettivamente realizzati 81 commerci nel periodo di tempo. E i tabella mostra provengono delle più recenti compravendite. Frecce verdi sono segnali di acquisto e le frecce rosse sono segnali di vendita. Si può vedere che la media mobile in realtà ci ha portato fuori dal mercato a destra prima della crisi del credito. E ci ha portato di nuovo nel mercato il 1 ° luglio 2009. Ora lascia fare la stessa cosa, ma su un insieme di dati diverso. Quindi in questo caso, Ill eseguire la strategia buy and hold sul Index SampP 500 tra il 1955 e il 2014. E si può vedere dai risultati che il rendimento annualizzato dal buy and hold è 6.65, con un prelievo di -57 per il periodo di tempo. E qui il buy and hold ci dà un ritorno 1,65 annuale e al prelievo dalla crisi del credito di -57. Questo si traduce in una curva di equità molto instabile, come potete vedere qui sotto: Nel frattempo, la strategia di crossover media mobile si traduce in un rendimento annuo del 6,06, con un prelievo di appena 20. E come si può vedere, la curva di equità con il movimento di crossover media è molto meno spaventoso. Anche in questo caso, la strategia media mobile ci ha tenuti fuori dal mercato durante la maggior parte del crollo del mercato nel 2008. strategia di crossover MA: riepilogo generale, Id dire che si tratta di una vittoria per il movimento di crossover media come una strategia di temporizzazione del mercato azionario. Abbiamo eseguito tre prove e la popolare strategia di Golden Cross ci ha aiutato a tempo il mercato migliore rispetto al buy and hold in ogni occasione. Per me, la cosa più importante è che ha drasticamente ridotto la nostra esposizione alle perdite durante i mercati orso. Naturalmente, si potrebbe andare avanti su questa strada e guardare media mobile diverse velocità e tempi diversi, ma non voglio fare troppo ottimizzando così male lasciare a voi per indagare se stessi. Utilizzando il mercato più ampio per tempo un portafoglio Così ora abbiamo visto come la media mobile semplice può aiutare quando temporizzazione del mercato azionario. Ma cosa succede se non siamo interessati ad acquistare il mercato azionario in sé, ma piuttosto un portafoglio di diversi titoli. Forse il mercato azionario più ampio può aiutare volta che i nostri singoli commerci di troppo. Per verificare ciò, ho istituito una semplice strategia di portafoglio di azioni sulla base di quantità di moto e massimi di 52 settimane. Molto semplicemente, ogni volta che un titolo chiude a un nuovo 52 settimane tale stock si aggiunge al portafoglio sulla prossima apertura. Ogni volta che si chiude a un nuovo 26 settimane basso, lo stock è venduto sul prossimo aperto e cade fuori il portafoglio. Il portafoglio può contenere un massimo di 10 titoli in qualsiasi momento e ognuno è lo stesso peso senza margini utilizzato. La strategia sceglie scorte dall'universo SampP 500 e le commissioni sono fissati a 10 per il commercio con un capitale iniziale di 10.000. L'esecuzione di questo strategia di base del portafoglio ha determinato un rendimento annuo del 9,69 tra il 2000 e il 2014, che è abbastanza buono. Utilizzando il SampP 500 come filtro Molti operatori ritengono che it8217s meglio solo comprare azioni quando il mercato più ampio è in trend verso l'alto e di vendere tali azioni quando il mercato si sta dirigendo a sud o in un trend ribassista. Un filtro mercato potrebbe quindi essere in grado di migliorare una semplice strategia di moto come questa, prendendo il portafoglio in contanti quando il mercato azionario più ampio si sta muovendo più bassa. Che importa se si introduce un filtro mercato come prima in modo che abbiamo solo comprare azioni quando il SampP 500 è in una tendenza rialzista per i prossimi test, le scorte sono solo acquistati e aggiunti al portafoglio se la media mobile a 50 giorni del SampP 500 è sopra it8217s 200 giorni di media mobile. Se la media mobile a 50 giorni delle SampP 500 croci sotto it8217s 200 giorni di media mobile, tutti gli stock sono venduti e il portafoglio si muove in denaro contante. Non appena una nuova croce dorata verifica nel SampP 500, il sistema è permesso di iniziare l'acquisto di scorte di nuovo. L'esecuzione di questa strategia con il filtro mercato SampP 500 acceso risultati in un ritorno di 7.47 e un prelievo di -12. Quindi, anche se il rendimento annuo è caduto al suolo la perdita è notevolmente migliorata e la curva di equità è molto agevole: Questa volta, il sistema si acquista uno stock ogni volta che si fa una settimana 52 elevato, proprio come il primo test. Sarà poi vendere tutti i titoli in portafoglio ogni volta che un Death Croce si verifica nel SampP 500. In questo modo, le posizioni vengono tagliati quando il mercato più ampio declina. Tuttavia, non vi è alcun filtro per i commerci lunghi come prova di due. In altre parole, il mercato non deve essere in un rialzo completamente formato di avviare nuovi traffici e questo dà la strategia un po 'più flessibilità e l'esposizione. L'esecuzione di questo test di prodotto un rendimento annuo di 5,49 e un prelievo di -38. Rispetto alla strategia originale, il prelievo è diminuito ma il ritorno annuale ha anche sofferto. Mi sembra che il problema con il test di tre, è che il sistema sta uscendo posizioni vincenti troppo presto. Proprio perché il mercato più ampio si sta dirigendo verso il basso non significa che non ci sono singoli titoli superando il punto di riferimento. Pertanto nei prossimi test, faccio il contrario. Le scorte vengono acquistati solo se il SampP 500 è in una tendenza rialzista (il 50 MA è al di sopra del 200 mA), ma non sono venduti se i SampP 500 si muove in un trend al ribasso. Questo dà una migliore rendimento annuo di 8,78 e un prelievo massimo di -29. Successivo Prenderò rapidamente ciascuno di questi test torna all'inizio del set di dati per vedere cosa succede su un telaio di tempo più lungo. (By the way, I am using stocks from the SampP 500 universe that includes historical constituents, this is provided by Norgate Premium Data .) Test 1, between 1985 and 2014, produced an annual return of 10.01 with a maximum drawdown of -33 . This is the original system with no market timing filter. Test 2, between 1985 and 2014, produced an annual return of 6.93 with a -34 drawdown so this was much much worse than our previous result. From looking at the results and equity curve, the buy criteria may be too strict. Test 3, between 1985 and 2014, produced an annual return of 3.73 with a maximum drawdown of -31 . Again, this is a bad result for the market timing filter. Test 4, between 1985 and 2014, produced an annual return of 8.71 and a maximum drawdown of -31 . Portfolio filter: Summary Overall, the moving average filter appears to have some merit when used to trade the broader stock market. However, the case is not so clear-cut when used as part of a portfolio strategy. When timing the overall market, the crossover strategy improves both drawdown and return in most cases. But when using the crossover as a filter for a momentum portfolio strategy, there is no clear improvement in either. One reason for this could be that the momentum portfolio already has it8217s own exit criteria built into the system. Using an extra market filter adds extra complexity and might therefore be overkill. One thing the momentum portfolio needs to succeed is to be able to capture long tail profits in stocks so the cutting short of trades is not always helpful. It is also possible that the market filter criteria is simply too strict and by changing the parameters slightly, we might be able to improve results. That may be so, but these results do suggest one thing at least that the market filter strategy is not necessarily a magic bullet for portfolio systems, and this also confirms my own previous findings. Charts provided by Amibroker. Dow Jones data from Measuring Worth. All other stock market data from Norgate Premium Data . JB MarwoodSimple Triple Moving Average Crossover 8211 Amibroker AFL Code Here is the very simple and classical example to build a triple EMA (Exponential Moving Average Crossover system). Il sistema è molto popolare, se qualcuno (traderinvestor) è un novizio di analisi tecnica classica. In questo AFL la tripla come compra media, vendono i segnali sono codificati e viene fornito con la scansione e la funzionalità di esplorazione. Si tratta di un semplice sistema seguente andamento in cui il sistema mostra comprare segnale se 3 EMA 13 EMA 34 EMA e mostra un segnale di vendita se Medie 3 EMA e applydrag e rilasciare il Triple Moving Average Crossover codice sopra il diagramma vuoto. 7) Bingo si è fatto. Ora sarete in grado di vedere il movimento di crossover media tripla con indicatori di comprare e vendere. Letture e le relative osservazioni circa Rajandran Rajandran è un commerciante a tempo pieno e fondatore di Marketcalls, enormemente interessato a costruire modelli di temporizzazione, algos. concetti di negoziazione discrezionali e di analisi Sentimental Trading. Ora istruisce gli utenti in tutto il mondo, da operatori esperti, operatori professionali di singoli operatori. Rajandran frequentato il college a Chennai, dove ha conseguito un BE in Elettronica e Comunicazioni. Rajandran ha una visione ampia di software commerciali come AmiBroker, NinjaTrader, eSignal, Metastock, Motivewave, Market Analyst (Optuma), Metatrader, Tradingivew, Python e capisce le esigenze individuali di operatori e gli investitori che utilizzano una vasta gamma di metodologie. Grazie mille. Richiesto governo degli Stati Uniti di responsabilità CTFC articolo 4.41 Futures commercio contiene rischio sostanziale e non è adatto per tutti gli investitori. Un investitore potrebbe potenzialmente perdere tutto o oltre l'investimento iniziale. Il capitale di rischio è il denaro che può essere perso senza compromettere quelli sicurezza finanziaria o stile di vita. prendere in considerazione solo il capitale di rischio che deve essere utilizzato per la negoziazione e solo quelli con capitale di rischio sufficiente dovrebbero prendere in considerazione di trading. rendimenti passati non sono necessariamente indicativi di risultati futuri. CTFC RULE 4,41 RISULTATI DEL RENDIMENTO ipotetici o simulate hanno alcune limitazioni. A DIFFERENZA DI UN RECORD effettive prestazioni, risultati simulati NON RAPPRESENTANO trading reale. Inoltre, poiché i mestieri NON SONO STATI ESEGUITI, I risultati possono avere sotto-O-OVER compensato l'eventuale impatto, dei fattori di mercato ALCUNE come la liquidità. Programmi di trading simulato in GENERALI sono inoltre soggetti a FATTO CHE sono stati progettati con il senno di poi. Non viene facenda che tutto il conto non sarà o sia idonea a realizzare profitti o perdite simili a quelli illustrati. Tutte le operazioni, modelli, grafici, sistemi, ecc discussi in questo sito web o pubblicità sono solo a scopo illustrativo e non interpretati come raccomandazioni specifiche di consulenza. Tutte le idee e materiali presentati nel presente documento sono di informazione e di formazione solo a scopo. Nessun sistema o metodologia di trading è stato mai sviluppato in grado di garantire profitti o impedire le perdite. Le testimonianze e gli esempi citati nel presente documento sono risultati eccezionali che non si applicano alla gente media e non intendono rappresentare o garantire che chiunque raggiungerà gli stessi o simili risultati. Trades immessi sul affidamento dei sistemi Metodi Trend sono prese a proprio rischio per il proprio account. Questa non è un'offerta di acquisto o di vendita a termine interessi. Copyright 2015 Marketcalls Financial Services Pvt Ltd middot middot Tutti i diritti riservati E nostro sito middot Tutti i loghi amp marchio appartiene ai rispettivi Ownersmiddot dati e le informazioni sono fornite solo a scopo informativo e non è destinato per scopi di negoziazione. Né il sito marketcalls. in né alcuno dei suoi promotori sono responsabili per eventuali errori o ritardi nel contenuto, o per eventuali decisioni assunte in base ad essi.

No comments:

Post a Comment