Raccolta indicatori e TS per Visualtrader

Discussione in 'Trading Systems, Econometria' iniziata da 100pezzi, 28 Marzo 2011.

    28 Marzo 2011
  1. 100pezzi

    100pezzi New Member

    Registrato:
    10 Febbraio 2011
    Messaggi:
    113
    Apro questo thared con lo scopo di creare una raccola di formule x visualtrader simile a quello che gia' c'e' x prorealtime
    grazie a chiunque voglia collaborare
     
  2. 28 Marzo 2011
  3. 100pezzi

    100pezzi New Member

    Registrato:
    10 Febbraio 2011
    Messaggi:
    113
    PARTIAMO CON QUESTA:

    MEDIAMOBILE DI HULL
    Codice:
    input:P(14);
    Var:demip,temp,racineP,mmhull, colore;
    
    demiP=round(p/2,0);
    temp=op(op(mov(c,demip,a),constval(2),mul),mov(c,p,a),sub);
    racinep=round(sqrt(p),0);
    mmhull= mov(temp,racinep,a);
    
    if c> mmhull then colore = lime;else colore = red;endif;
    
    plotchart(mmhull,0,COLORE,solid,2);
     
    Ultima modifica: 28 Marzo 2011
  4. 28 Marzo 2011
  5. 100pezzi

    100pezzi New Member

    Registrato:
    10 Febbraio 2011
    Messaggi:
    113
    VELOCITA', ACCELERAZIONE E TREND:
    Codice:
    Var: VELNUM,MEDIA1,MEDIA2,VELOCITA, ACCELERAZIONE,TREND,ZONA1,ZONA2;
    Input: p(15);
    
    MEDIA1 = Mov(C,p*3,E);
    VELNUM = op(c,MEDIA1,sub);
    VELOCITA = op(VELNUM,MEDIA1,divis);
    MEDIA2 = Mov(VELOCITA,p,E);
    ACCELERAZIONE = op(VELOCITA,MEDIA2,sub);
    TREND = op(VELOCITA,ACCELERAZIONE,sub);
    
    if VELOCITA>ACCELERAZIONE
    and
    VELOCITA>VELOCITA[1]
    and
    ACCELERAZIONE>ACCELERAZIONE[1]
    and
    VELOCITA>0
    and
    ACCELERAZIONE>0
    and
    TREND>TREND[1]
    and
    TREND>0 then colorbar (black);
    endif;
    
    if VELOCITA<ACCELERAZIONE
    and
    VELOCITA<VELOCITA[1]
    and
    ACCELERAZIONE<ACCELERAZIONE[1]
    and
    VELOCITA<0
    and
    ACCELERAZIONE<0
    and
    TREND<TREND[1]
    and
    TREND<0 then colorbar (fuchsia);
    endif;
    
    ZONA1 = Createviewport (200, true, true);
    Plotchart (VELOCITA, zona1, red, solid, 1);
    Plotchart (ACCELERAZIONE, zona1, navy, solid, 1);
    Plotchart (TREND, zona1, lime, solid, 1);
     
    Ultima modifica: 28 Marzo 2011
  6. 28 Marzo 2011
  7. 100pezzi

    100pezzi New Member

    Registrato:
    10 Febbraio 2011
    Messaggi:
    113
    VWAP più le 2 deviazioni standard
    Codice:
    var:
    PriceW(0),
    ShareW(0),
    Count(0),
    VolWAPValue(0),
    VolWAPVariance(0),
    value1,
    value2,
    value3,
    VolWAPSD(0);
    
    if isfirstbarday then
    d > d[1];
    PriceW = 0;
    ShareW = 0;
    Count = -1;
    Value1 = 0;
    Value2 = 0;
    VolWAPValue = 0;
    endif;
    
    PriceW = PriceW + (A * V);
    ShareW = ShareW + V;
    Count = Count + 1;
    Value3 = 0;
    
    if ShareW > 0 then VolWAPValue =(PriceW /ShareW);
    endif;
    
    beginfor (value1, 1, count);
    Value2 = (V[Value1]/ShareW) * ((AvgPrice[Value1]-VolWAPValue)* (AvgPrice[Value1]-VolWAPValue));
    
    Value3 = Value3 + Value2;
    endfor;
    
    VolWAPVariance = Value3;
    VolWAPSD = Sqrt(VolWAPVariance);
    
    PlotChart(volwapvalue, 0, aqua, solid, 2);
    PlotChart((volwapvalue+VolWAPSD), 0, green, solid, 2);
    PlotChart((volwapvalue-VolWAPSD), 0, red, Solid, 2);
    PlotChart((volwapvalue+(2*VolWAPSD)), 0, green, solid, 2);
    PlotChart((volwapvalue-(2*VolWAPSD)), 0, red, solid, 2);
     
    Ultima modifica: 28 Marzo 2011
  8. 28 Marzo 2011
  9. 100pezzi

    100pezzi New Member

    Registrato:
    10 Febbraio 2011
    Messaggi:
    113
    filtro bipolare:

    Codice:
    var: bip_pdx,bip_ndx,bip_add,bip_sub,bip_div,bip,Indzona1,colore;
    
    
    bip_pdx=DMPDX(C,40);
    bip_ndx=DMNDX(C,40);
    bip_add=op(bip_pdx, bip_ndx, add);
    bip_sub=op(bip_pdx, bip_ndx, sub);
    bip_div=op(bip_sub, bip_add, divis);
    bip=wilder(bip_div, 24);
    
    if bip>0 then colore = lime;else colore = red;endif;
    
    indzona1 = CreateViewport(200, 0, true);
    PlotChart(bip, Indzona1, colore, solid, 2);
     
    Ultima modifica: 28 Marzo 2011
  10. 28 Marzo 2011
  11. 100pezzi

    100pezzi New Member

    Registrato:
    10 Febbraio 2011
    Messaggi:
    113
    divergenza maccd

    Codice:
    {******************************************************************************
    * Nuovo trading-system.
    * Aggiungere in questo punto i Vostri commenti, che vi aiuteranno
    * in seguito a ricordare le linee guida di trading che intendete
    * automatizzare .
    ******************************************************************************}
    {***********************************************************************
    DIVERGENZE MACD REGLIN by GIOVANNI TROMBETTA
    Questo Expert permette di individuare automaticamente le divergenze tra prezzo
    e momentum segnalate dal MACD.
    Vengono definite le seguenti grandezze:
    PERIODO_DIVERGENZA_PREZZO : il periodo su cui calcolare la regressione lineare
    del prezzo.
    PERIODO_DIVERGENZA_INDICATORE : il periodo su cui calcolare la regressione lineare
    dell'indicatore.
    Per evidenziare divergenze su picchi molto vicini di prezzo e momentum è
    consigliabile l'utilizzo di valori piccoli di tali indicatori (es: 50-15).
    Per evidenziare divergenze su picchi più distanti di prezzo e momentum è
    consigliabile l'utilizzo di valori più ampi di tali indicatori (es: 50-50) .
    ************************************************************************}
    input: PERIODO_DIVERGENZA_PREZZO(50) ,PERIODO_DIVERGENZA_INDICATORE(15);
    Var: COMMODITY,
    HIGH_PRICE_CONTROL, LOW_PRICE_CONTROL, MACD_CONTROL,
    indzona1(0);
    {*************************}
    COMMODITY = MACD(C, 12, 26);   //12,26
    HIGH_PRICE_CONTROL = regrlin(H,PERIODO_DIVERGENZA_PREZZO );
    LOW_PRICE_CONTROL = regrlin(L,PERIODO_DIVERGENZA_PREZZO );
    MACD_CONTROL = regrlin(COMMODITY,PERIODO_DIVERGENZA_INDICATORE );
    // DIVERGENZA RIBASSISTA
    if COMMODITY>0                      //il macd è maggiore di zero
    and
    L>mov(C,20,s)                       //il minimo è maggiore della media mobile a 20 periodi
    and
    mov(C,20,s)>mov(C,50,s)             //la media mobile a 20 periodi è maggiore della media mobile a 50 periodi
    and
    HIGH_PRICE_CONTROL > ref(HIGH_PRICE_CONTROL,1)   //la regressione lineare dei massimi risulta maggiore della regressione lineare dei massimi del precedente
    and
    MACD_CONTROL < ref(MACD_CONTROL,1)               //la regressione lineare del macd risulta INFERIORE alla regressione lineare del precedente
    then
    colorbar(yellow);
    endif;
    // DIVERGENZA RIALZISTA
    if COMMODITY<0
    and
    H<mov(c,20,s)
    and
    mov(C,20,s)<mov(C,50,s)
    and
    LOW_PRICE_CONTROL < ref(LOW_PRICE_CONTROL,1)
    and
    MACD_CONTROL > ref(MACD_CONTROL,1)
    then
    colorbar(blue);
    endif;
     
    Ultima modifica: 28 Marzo 2011
  12. 28 Marzo 2011
  13. 100pezzi

    100pezzi New Member

    Registrato:
    10 Febbraio 2011
    Messaggi:
    113
    INDICATORE ASSOLUTO DI CICLO

    Codice:
    Var: media1(0), media2(0), media3(0), velo1(0), velo2(0), velo3(0), iac(0), val(0),
    indzona1(0);
    // Input: media1(50), media2(50), media3(5); // Agggiungere qui le variabili che vi servono
    
    media1 = MOV(C,25,S);
    velo1 = momentum(media1,2,D);
    velo2 = velo1;
    media2 = MOV(velo2,25,S);
    if velo2 >= media2 then
    val = 1;
    endif;
    if velo2 < media2 then
    val = -1;
    endif;
    iac = iac + val; //somma iac al valore precedente
    
    indzona1 = CreateViewport(300, True, True); //Crea 1 zona sotto al grafico alta il 30% dello stesso
    PlotChart (iac,indzona1,black,Solid,2);
     
    Ultima modifica: 28 Marzo 2011
  14. 28 Marzo 2011
  15. quicksilver

    quicksilver New Member

    Registrato:
    6 Settembre 2004
    Messaggi:
    8.583
    scusa una domanda/suggerimento, perchè non metti il codice all'interno di un TAG cosi nell'eventuale copia incolla gli utenti che li useranno non avranno problemi di formattazione del testo

    i TAG sono quelli in figura:


    .
    [​IMG]
     
  16. 28 Marzo 2011
  17. 100pezzi

    100pezzi New Member

    Registrato:
    10 Febbraio 2011
    Messaggi:
    113
    hi-low Activator:

    Codice:
    Var:Hlv, HiLo, Hld, tmpHLD, mediaH, mediaL;
     
     mediaH = MOV(H, 3, S);
     mediaL = MOV(L, 3, S);
     if C > mediaH[1] then
        hld = 1;
        HLv = hld;
     elseif C < mediaL[1] then
        hld = -1;
        HLv = hld;
     else
        hld = 0;
        hlv = hlv[1];
     endif;
     
     if hlv = -1 then
        hilo = mediaH;
     else
        hilo = mediaL;
     endif;
     plotchart(hilo, 0, Navy, solid, 2);
     
  18. 28 Marzo 2011
  19. 100pezzi

    100pezzi New Member

    Registrato:
    10 Febbraio 2011
    Messaggi:
    113
    grazie quiks dell'aiuto:up:
     

Utenti che hanno già letto questo Thread (Totale: 0)

Condividi questa Pagina