Trading System e Indicatori Visual Trader

828 views
Skip to first unread message

xgx

unread,
Feb 8, 2014, 9:32:31 AM2/8/14
to quellidib...@googlegroups.com
Ritengo di fare cosa utile nel pubblicare l'equivalente dei sistemi che girano qui nel Forum nella loro versione per Visual Trader.

Per iniziare, questo sotto e' il codice del Filtro Butterworth ottimizzato per il FtseMib.
Se qualcuno usa il software e ha qualcosa da condividere qui e' il benvenuto

{******************************************************************************
*** Formula di Trading System
*** Filtro Butterworth
*******************************************************************************}
Var: par1, par2, par3;
Var: op1, op2, op3, op4, op5, op6, op7, op8, op9, op10, op11;
Var: filtro1, filtro2, buttblu, buttrossa;
Var: oop1, oop2, oop3, oop4, oop5, oop6, oop7, oop8, oop9, oop10, oop11;
Var: media1(0), media2(0), indzona1(0), Indzona2 (0);

// Valore parametri
par1 = 14;
par2 = 49;
// calcolo 1  per parametro 1
op1 = -PI;
op2 = OP (op1, par1, Divis);
op3 = EXP(op2);
// calcolo 2 per parametro 1
op4 = PI;
op5 = OP (op4, par1, Divis);
op6 = OP (1732, 1000, Divis);
op7 = OP (op6, op5, Mul);
op8 = COS(op7);
op9 = OP (op3, op8, Mul);
op10 = OP (2, op9, Mul);
// calcolo 3 per parametro 1
op11 = EXP (-2*op5);


// calcolo 1  per parametro 2
oop1 = -PI;
oop2 = OP (oop1, par2, Divis);
oop3 = EXP(oop2);
// calcolo 2 per parametro 2
oop4 = PI;
oop5 = OP (oop4, par2, Divis);
oop6 = OP (1732, 1000, Divis);
oop7 = OP (oop6, oop5, Mul);
oop8 = COS(oop7);
oop9 = OP (oop3, oop8, Mul);
oop10 = OP (2, oop9, Mul);
// calcolo 3 per parametro 2
oop11 = EXP (-2*oop5);
// calcolo parametro 3

par3 = SQRT (par1*par2);

filtro1 = (op10+op11)*filtro1[1]-(op11+(op10*op11))*filtro1[2]+(op11*op11)*filtro1[3]+((1-op10+op11)*(1-op11)/8)*(C+(3*C[1])+(3*C[2])+C[3]);

filtro2 = (oop10+oop11)*filtro2[1]-(oop11+(oop10*oop11))*filtro2[2]+(oop11*oop11)*filtro2[3]+((1-oop10+oop11)*(1-oop11)/8)*(C+(3*C[1])+(3*C[2])+C[3]);


buttblu = filtro1 - filtro2;

buttrossa = ((((buttblu-buttblu[1])*par3/(2*oop4)))+buttblu)/(1414/1000);



InstallStopLoss(INPERC, 2, "SL");


    // impostare le condizioni di Long e Uscita

if PositionDir <> 1 then
if buttrossa > 0 then
            EnterLong(Bar, atClose);
            //ExitShort(Bar, atClose);
        Endif;
    Endif;
    if PositionDir <> -1 then
        if buttrossa < 0 then
            EnterShort(Bar, atClose);
            //ExitLong(Bar, atClose);
        Endif;
    Endif;


// Alla fine della Formula
   // Creo una zona, sotto al grafico, alta il 10% del grafico stesso.
Indzona1 = CreateViewport(400, true, true);
//Indzona2 = CreateViewport(200, true, true);


//PlotChart(buttblu, Indzona1, blue, solid, 2);
PlotChart(buttrossa, Indzona1, red, solid, 2);
//PlotChart(filtro2, Indzona1, blue, solid, 2);


I parametri 14/49 possono essere cambiati a piacimento (variabili par1 e par2).
E' installato lo stoploss al 2% e anche quello puo' essere modificato tranquillamente

xgx

unread,
Feb 13, 2014, 11:18:09 AM2/13/14
to quellidib...@googlegroups.com
Queste invece sono le TD lines di Demark.
Per la definizione dei TDpoints ho considerato i 4 valori precedenti di minimo/massimo e i 2 successivi sempre di minimo o massimo a secondo del punto da marcare (high o low).

Probabilmente c'e' qualche variabile in piu' che e' rimasta li' dopo aver riscritto il codice un paio di volte visto che mi ha fatto decisamente "dannare" ... pero' adesso funziona bene ....

Var:quattroTPlow, quattroTPhigh;
Var: Massimo, Minimo, contaMassimo, contaMinimo, minimoRel, massimoRel, zona2;

Var: DataPunto1,DataPunto2,DataPunto3,DataPunto4,
Punto1(1),Punto2(0),Punt3(2),
countPunto1(-1),countPunto2(-1),countPunto3(-1),
ValPunto1,ValPunto2,ValPunto3,ValPunto4;

// Linea Low
quattroTPlow = L < L[1] and L < L[2] and L < L[3] and L < L[4]
              and L < L[-1] and L < L[-2];

   If quattroTPlow = true Then

ValPunto1=L;
DataPunto1 = GetDate;
if ValPunto1 > ValPunto2 Then
DrawLine (NEWOGG, 0, DataPunto2, ValPunto2,DataPunto1,ValPunto1 , green, 2, 0, EXTENDED);
endif;
colorbar(yellow);
DrawCircle (createogg, 0, D, down, green, 0, 7);

endif;

quattroTPlow = L < L[1] and L < L[2] and L < L[3] and L < L[4]
              and L < L[-1] and L < L[-2];

   If quattroTPlow = true Then

ValPunto2=L;
DataPunto2 = GetDate;

endif;


// Linea High
quattroTPHigh = H > H[1] and H > H[2] and H > H[3] and H > H[4]
 and H > H[-1] and H > H[-2];


   If quattroTPHigh = true Then

ValPunto3=H;
DataPunto3 = GetDate;
if ValPunto3 < ValPunto4 Then
DrawLine (NEWOGG, 0, DataPunto4, ValPunto4,DataPunto3,ValPunto3 , red, 2, 0, EXTENDED);
endif;
colorbar(blue);
DrawCircle (createogg, 0, D, up, red, 0, 7);

endif;

quattroTPHigh =  H > H[1] and H > H[2] and H > H[3] and H > H[4]
 and H > H[-1] and H > H[-2];

   If quattroTPHigh = true Then

ValPunto4=H;
DataPunto4 = GetDate;

endif;




xgx

unread,
Mar 30, 2014, 11:26:34 AM3/30/14
to quellidib...@googlegroups.com
Questo e' il sistema esperto dell' Aggressive "SOLO LONG" sul FTSEMIB
Per renderlo completo anche con lo short basta sostituire il comando "exitlong" con "entershort"
Lo stop e' settatto al 2%

{******************************************************************************
*** Formula di Trading System
*** Filtro Butterworth Aggressive
*******************************************************************************}
Var: par1, par2, par3;
Var: op1, op2, op3, op4, op5, op6, op7, op8, op9, op10, op11;
Var: filtro1, filtro2, buttblu, buttrossa;
Var: oop1, oop2, oop3, oop4, oop5, oop6, oop7, oop8, oop9, oop10, oop11;
Var: media1(0), media2(0), indzona1(0), Indzona2 (0);

// Valore parametri
par1 = 22;
par2 = 17;
InstallStopLoss(INPERC,2.0,"SL");
    // impostare le condizioni di Long e Uscita

if PositionDir <> 1 then
if buttrossa > buttrossa[1] and buttrossa[1] < buttrossa[2] then
            EnterLong(Bar, atClose);
            //EnterLong(NextBar, atOpen);
        Endif;
    Endif;
    if PositionDir <> -1 then
        if buttrossa < buttrossa[1] then
            ExitLong(Bar, atClose);
            //ExitLong(NextBar, atOpen);
        Endif;
    Endif;


// Alla fine della Formula
   // Creo una zona, sotto al grafico, alta il 10% del grafico stesso.
Indzona1 = CreateViewport(400, true, true);
Indzona2 = CreateViewport(200, true, true);


//PlotChart(buttblu, Indzona1, blue, solid, 2);

PlotChart(buttrossa, Indzona1, COLUPDOWNVAL, solid, 2);


Brucee

unread,
Aug 17, 2014, 6:34:21 AM8/17/14
to quellidib...@googlegroups.com
Ciao xgx,
non sono riuscito a trovare da nessuna parte il funzionamento delle TD lines di Demark e non sono nemmeno riuscito a capire come vanno usate.
Ho provato ad inserirle in un TS per il nostro future ed ha rendimenti pazzeschi, questo però perchè considera anche il futuro [-1] e [-2]
Ho trovato il video su youtube dove Demark spiega in inglese il funzionamento ma non ci ho capito granché.
Hai un link con la spiegazione da dove hai tratto ispirazione per la realizzazione del codice?

brus...@gmail.com

unread,
Aug 17, 2014, 6:42:59 AM8/17/14
to quellidib...@googlegroups.com
Dato che non l'ho visto pubblicato da nessuna parte, posto qui il codice del Demarker Indicator di Tom Demark per Visual Trader,così contribuisco
Si usa al posto dell'RSI, nella stessa identica maniera...

{******************************************************************************
*** Formula Demarker Indicator
*** Autore: Brucee
*******************************************************************************}
var: periodi,DeMax,DeMin,DMark,Indzona1;

periodi=13;
If H > H[1] then
   DeMax = H- H[1];
else
   DeMax = 0;
endif;


If L < L[1] then
   DeMin = L[1] - L;
else
   DeMin = 0;
endif;

DMark = Mov(DeMax,periodi,S)/(Mov(DeMax,periodi,S)+Mov(DeMin,periodi,S));

Indzona1 = CreateViewport(400, true, true);
PlotChart(DMark, Indzona1, blue, solid, 1);
PlotChart(0.30, Indzona1, red, solid, 1);
PlotChart(0.70, Indzona1, red, solid, 1);


xgx

unread,
Aug 18, 2014, 11:23:31 AM8/18/14
to quellidib...@googlegroups.com, brus...@gmail.com
Ciao e benvenuto nel nostro Forum.
Certo che avevo un link con spiegazione in italiano fatta molto ma molto bene. Purtroppo come uno stupido non l'ho salvato da nessuna parte e dopo una breve ricerca fatta appena qualche giorno fa non sono piu' riuscito a trovarlo.
Ti assicuro cmq che il funzionamento e' quello di cui al codice postato qui nel forum.
Quattro punti precedenti confermati da due successivi (che sulla carta dovrebbero essere anch'essi quattro ma il sistema si "rallenta" molto). 
Il [-1] e [-2] che vedi nel codice e' solo un espediente matematico per considerare le quotazioni successive e per far si che si formi la retta.
Successivamente ho riscritto il codice usando una diversa logica ma con assolutamente lo stesso risultato finale. Non lo posto in quanto e' ancora in fase di test e soprattutto perche' lo scopo finale e' collegarlo con un trading system ma sto trovando serissime difficolta' e sono ancora in alto mare.

Grazie a nome di tutti per l'indicatore di Demark.
Lo provo subito.

Ciao

xgx

unread,
Aug 18, 2014, 11:37:16 AM8/18/14
to quellidib...@googlegroups.com, brus...@gmail.com
mi da errore qui:
DMark = Mov(DeMax,periodi,S)/(Mov(DeMax,periodi,S)+Mov(DeMin,periodi,S));
secondo me e' il caso di inserire 3 variabili e far fare poi l'operazione a parte...

xgx

unread,
Aug 19, 2014, 1:20:42 PM8/19/14
to quellidib...@googlegroups.com, brus...@gmail.com
Scusami Brucee ma sono veramente curioso ....
Come le hai inserite in un TS ....?
ma soprattutto come le hai fatte funzionare .....?
Io sono mesi che combatto con le funzioni di visual trader "crossunderline" e "crossoverline" ma non riesco a farle funzionare.


Il giorno domenica 17 agosto 2014 12:34:21 UTC+2, Brucee ha scritto:

finan...@gmail.com

unread,
Sep 10, 2016, 10:59:06 AM9/10/16
to Quelli di BorsAnalisi, brus...@gmail.com
salv ragazzi ma su che time frame lo lanciate a me nn gira su nessuno
Reply all
Reply to author
Forward
0 new messages