Programmazione Metatrader Overfitting_II (per principianti)

TS_Analisi_Ciclica

Sto lavorando su due fronti.

Da un lato sto ancora aggiustando il TS vero e proprio, quello che gestirà gli ordini in modo automatico.
Usando una prima versione ancora spartana e facendo dei test, sono arrivato alla conclusione che forse e' meglio gestire due TS complementari, uno che lavora sui cicli diretti e uno che lavora sui cicli inversi.
Il vantaggio e' una migliore chiarezza e facilità di gestione dei trade.
Lo svantaggio e' il raddoppio delle commissioni, ma il gain sembra cosi buono da rendere impercettibili le commissioni stesse.
Scrivero comunque anche la versione di TS che integra simultaneamente le operazioni sui due lati ciclici; poi se qualcuno li vorrà provare, sceglierà la versione che gli piace di piu'.

Dall'altro lato, usando il simulatore grafico, sto provando altri strumenti e altri cicli diversi dal tracy.
Sembra che effettivamente il metodo possa funzionare egregiamente su ogni strumento e su ogni ordine ciclico.
A riprova di cio' vi metto questo grafico che calcola gli ultimi dieci cicli T-3 diretti e inversi su EurUsd, lavorando con Tf H1.

Mi rifarò vivo quando il lavoro di scrittura e debugging dei programmi sarà finito.

:ciao:
 

Allegati

  • EURUSDH1.png
    EURUSDH1.png
    42,1 KB · Visite: 305
Sto lavorando su due fronti.

Da un lato sto ancora aggiustando il TS vero e proprio, quello che gestirà gli ordini in modo automatico.
Usando una prima versione ancora spartana e facendo dei test, sono arrivato alla conclusione che forse e' meglio gestire due TS complementari, uno che lavora sui cicli diretti e uno che lavora sui cicli inversi.
Il vantaggio e' una migliore chiarezza e facilità di gestione dei trade.
Lo svantaggio e' il raddoppio delle commissioni, ma il gain sembra cosi buono da rendere impercettibili le commissioni stesse.
Scrivero comunque anche la versione di TS che integra simultaneamente le operazioni sui due lati ciclici; poi se qualcuno li vorrà provare, sceglierà la versione che gli piace di piu'.

Dall'altro lato, usando il simulatore grafico, sto provando altri strumenti e altri cicli diversi dal tracy.
Sembra che effettivamente il metodo possa funzionare egregiamente su ogni strumento e su ogni ordine ciclico.
A riprova di cio' vi metto questo grafico che calcola gli ultimi dieci cicli T-3 diretti e inversi su EurUsd, lavorando con Tf H1.

Mi rifarò vivo quando il lavoro di scrittura e debugging dei programmi sarà finito.

:ciao:

Ciao, non so niente di analisi ciclica ma secondo me dovresti trovare il modo di trovare i massimi/minimi in maniera automatica senza dover imputare tu una data, così lo puoi testare su più anni e su più strumenti.
buon lavoro
 
Ciao, non so niente di analisi ciclica ma secondo me dovresti trovare il modo di trovare i massimi/minimi in maniera automatica senza dover imputare tu una data, così lo puoi testare su più anni e su più strumenti.
buon lavoro

Ciao luka, grazie per la tua osservazione.
La ricerca dei massimi e dei minimi e' già dentro al programma.
Il problema e' che spesso, lungo i trend, ci sono due max o due min vicini tra loro e il programma potrebbe sbagliare nella scelta dell'uno o dell'altro; l'eventuale scelta sbagliata di quattro o cinque barre si puo' trasmettere per un certo numero di cicli, prima di essere riassorbita.
Bisognerebbe inserire nel metodo una intelligenza superiore, direi quasi umana, per impedirgli di sbagliare, ma ancora non ho deciso come fare.
Penso che si dovrebbe sicuramente ricorrere a qualche oscillatore o incrocio di medie, ma potrebbero nascere altri inconvenienti come l'insorgenza di overfitting durante l'ottimizzazione.
Tieni conto inoltre che anche nelle centrature discrezionali, basate su tali artifici, anche gli analisti ciclici piu' bravi a volte sbagliano o hanno dei dubbi.
In una successiva revisione, proverò comunque anche questa strada.
Per ora, direi che l'intervento manutentivo periodico per riaggiustare le date di ingresso, possa essere un compromesso accettabile.

Approfitto dell'occasione per annunciare che, avendo ricevuto piu' di una richiesta, appena finito il lavoro in corso, mettero' in cantiere un secondo metodo di analisi ciclica automatica, basato sulle regole che Torino ha pubblicato sul suo 3D.
 
buon lavoro :D

occhio sempre al repaint ..ciao

:up:
Si, quella roba li' spesso mi rompe le palllle, sopratutto quando si usano oscillatori o regressioni.
Questa volta si tratta solo di contare le barre e individuare dei minimi o dei massimi e quindi non dovrei correre quel rischio.
 
Bisognerebbe inserire nel metodo una intelligenza superiore, direi quasi umana, per impedirgli di sbagliare, ma ancora non ho deciso come fare.
Penso che si dovrebbe sicuramente ricorrere a qualche oscillatore o incrocio di medie, ma potrebbero nascere altri inconvenienti come l'insorgenza di overfitting durante l'ottimizzazione.

Son confuso, dato titolo e contenuto del thread pensavo che steste proprio cercando i modi migliori in cui fare overfitting...non e' cosi'?
 
Son confuso, dato titolo e contenuto del thread pensavo che steste proprio cercando i modi migliori in cui fare overfitting...non e' cosi'?

Se un professore della bocconi scende nel laboratorio dell'artigiano, dovrebbe parlare terra-terra, e spiegarsi con termini e ragionamenti comprensibili dall'artigiano.
Ma forse i professori della bocconi, che parlano sempre tra di loro, non sanno piu' comunicare con la gente normale.
 
TS_Analisi_Ciclica

Comincio a mettere i files dei TS basati sull'analisi ciclica.
Parto con il TS che gestisce i cicli diretti.

La descrizione di massima del metodo, era descritta a partire da qui :
http://www.investireoggi.it/forum/overfitting_ii-per-principianti-vt84491-41.html#post4207438

IL TS puo' essere usato con ogni strumento di mercato, su ogni TF e su ogni ordine di cicli.
Naturalmente andra' scrupolosamente configurato in funzione di come lo si vorrà utilizzare.
Vi dico subito che questo TS e' una Formula 1 che puo' viaggiare a 300 all'ora ma che, in caso di sbandata, vi porta allo schianto; bisogna pertanto imparare a guidarlo, provando e riprovando in paper trading, finche' non vi sentirete sicuri.
Raccomando di usarlo in reale partendo dai cicli corti, tipo T-2 o T-3, per fare esperienza, senza lavorare su escursioni troppo forti.
Sul come fare la sua configurazione (ottimizzazione), tornero' piu' avanti.

Ecco la descrizione delle Variabili in ingresso, relative alla gestione dei cicli.

StrtTime = "2015.01.15 10:00";
questa e' la data e l'ora della barra successiva alla partenza del primo ciclo; in fase operativa la variabile va aggiornata dopo una eventuale forte anomalia ciclica;

CycleBars = 97;
questa e' la durata (virtuale) del ciclo espressa in numero di barre a partire dalla data e ora di inizio del ciclo; tale data viene aggiornata a posteriori, a due terzi dall'avanzamento dalla data provvisoria; per effetto di questa correzione "in corsa", la durata finale del ciclo puo' risultare inferiore o superiore al valore CycleBars; la correzione e' indispensabile per riassorbire le variazioni di durata dei cicli, rispetto al valore virtuale.

StpLss = 57;
questo e' lo scostamento negativo, espresso in punti (pips), dal minimo di inizio ciclo; se dopo la partenza, il ciclo gira in basso, ovvero se scatta un vincolo ribassista, il Ts reversa da long a short; StpLss rappresenta la tolleranza precedente al vincolo ribassista, utile quando il Ts non azzecca perfettamente il minimo di entrata nel nuovo ciclo, ma anticipa l'entrata stessa.

Perc_Up = 0.67;
questa e' la porzione iniziale di ciclo, espressa in percentuale di CycleBars, in cui (virtualmente) si manifesta la fase crescente (long) del ciclo; se il ciclo inverte la sua direzione prima di concludere questa porzione di ciclo, il gain si riduce; se il prezzo scende troppo, scatta il vincolo ribassista (vedi StpLss); in caso di lungo trend ribassista, puo' essere opportuno abbassare questo valore.

Queste sono invece le variabili in ingresso, relative alla gestione degli ordini:

MyMagic = 888888;
numero attribuito dal TS ai propri ordini, nel caso siano presenti altri ordini.

MyLts = 0.1;
numero di lotti investiti (0.1 lotti equivalgono a 10000 euro).

IniStplss = 999;
questo e' un valore generale di stoploss, espresso in valuta del conto, utile per proteggere il trade da perdite eccessive, in caso di forti movimenti contrari; se si lascia il valore default, lo stoploss generale e' disattivato; se scatta lo stoploss, il TS entra in stand-by fino alla partenza del ciclo successivo.

ProfTrgt = 999;
questo e' un target di profitto, espresso in valuta del conto, che, se viene raggiunto, innesca il trailing; se si lascia il valore di default, il trailing non verrà innescato.

ProfFctr = 0.75;
Questa e' la percentuale di profitto massimo, superiore al target, al di sotto della quale il TS chiude il long e prende profitto; se scatta la presa di profitto, il TS entra in stand-by fino alla partenza del ciclo successivo.

(continua...)
 

Allegati

Configurazione del TS_Cicli

Per prima cosa dovrete scegliere uno strumento (indice, azione, comodities, cambio ecc) e un TF su cui lavorare.
Ovviamente il TF dovra' essere adeguato all'ordine ciclico con cui vorrete operare.

Nell'esempio seguente, prendo in considerazione il CFD EuroStoxx50, che duplica il future, su TF H1.

Se ottimizziamo il TS sulla variabile CycleBars, possiamo costruire un grafico come quello che vi metto qui sotto.
In ascissa vanno i valori di CycleBars e in ordinata i valori di StpLss; il gain, sulla finestra temporale in uso (in questo esempio, circa 4 mesi di barre orarie), e' rappresentato dalla intensità del colore verde.
Come vedete i gain si ottengono con molti valori di CycleBars, distribuiti in fasce di una certa ampiezza.
Ogni fascia (o gruppi di fasce) rappresenta un ordine ciclico.
Tenendo conto che questo CFD copre 14 barre orarie al giorno:
la prima fascia intorno a circa CycleBars = 35 equivale ai cicli T-2;
la seconda fascia, tra circa 40 e 50, equivale ai cicli T-1;
la terza fascia, tra 70 e 84, equivale ai cicli T-1(lunghi) e T;
la quarta fascia, tra 90 e 104, equivale ai cicli T;
e cosi' via fino all'ultima fascia, intorno a 210, che equivale ai cicli T+1.
Il fatto che le fascie abbiano una certa larghezza dipende dalla capacità di autoadattamento del TS ai cicli reali, intorno al valore virtuale di CycleBars, il che rappresenta un buon vantaggio.
Per un dato valore di CycleBars, i gain possono variare in funzione anche del valore di StpLsss, ovvero della tolleranza del TS alla inversione del segno dell'operazione, prima di attivare il reverse long/short.
Ovviamente le combinazioni in verde piu' scuro sono quelle da privilegiare.
Da questo grafico risulterebbero piu' profittevoli le operazioni sui cicli piu' brevi, ma non essendo rappresentato il numero di operazioni, non e' detto che il payoff (gain/operazioni) non sia migliore sui cicli piu' lunghi.

Chi vorrà potrà ora sbizzarrirsi a configurare il TS su MT4 o, dopo conversione, su altre piattaforme, anche su tempi piu' lunghi.
Come ho già detto in qualche intervento precedente, non credo che questo TS debba essere necessariamente configurato su finestre temporali lunghissime, quanto piuttosto riconfigurato spesso su qualche decina di cicli.
Piu' importante ancora sarà l'osservazione della capacità di autoadattamento ai cicli reali e la ridefinizione della variabile StrtTime, ognivolta si noti una anomalia ciclica.
Spero che da qui possano scaturire osservazioni/critiche/consigli per migliorare questa prima versione del TS.

Prima di notte, vi mettero' anche il TS complementare a questo, quello basato sui cicli inversi.


:ciao:
 

Allegati

  • TesterGraph.gif
    TesterGraph.gif
    112,6 KB · Visite: 157
Ultima modifica:

Users who are viewing this thread

Back
Alto