Screener TSSwing

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #254136 quote
    CentroCentro
    Participant
    New

    qualcuno può aiutarmi a tradurre il codice scritto per Visual Trader da utilizzare in ProRealTime? di seguito le formule, sono 2 versioni: Le

    formule per Visual Trader®

    Esplorazione: TS Swing – Tutti (il nome della formula)

    Var: RK0; //valore massimo H ultimi 10 giorni

    Var: RK1; // valore di ieri variabile RK0

    Var: RK2; // se il massimo di oggi è maggiore o uguale al

    // massimo di ieri la variabile assume il valore del

    // massimo di ieri, altrimenti assume valore 0

    Var: RK3; // se il massimo di oggi è minore del massimo

    //di ieri, la variabile assume il valore del massimo

    // assoluto degli ultimo 10 giorni, altrimenti valore 0

    Var:RK4; // differenza % tra la chiusura e il prezzo di debord

    Var:RK5; // se attivo prezzo debord, RK4, altrimenti 0

    Var: SK1; // media mobile semplice a 5 giorni sui minimi

    Var: SK2; // differenza % fra chiusura odierna e media mobile

    // a 5 giorni sui minimi

    Var: MV1; // media mobile semplice a 5 giorni sulla chiusura

    Var: MV2; // variazione % a 8 giorni variabile MV1

    Var: VOL1; // se i volumi moltiplicati per la chiusura sono

    // superiori a 50000 la variabile assume valore 1,

    // altrimenti 0

    Var: SIG1; // se la variabile MV2 è positiva e i volumi sono

    // superiori a 50000, la variabile assume valore 1,

    //altrimenti 0

    RK0 = HHV(H,10);

    RK1 = Ref((RK0),1);

    If (H>=RK1) And C>Mov(L,5,s) Then RK2=RK1; Else

    RK2=0;

    Endif;

    If (HEndif;

    SK1 = Mov(L,5,S);

    SK2 = (C-SK1)*100/C;

    MV1 = Mov(C,5,S);

    MV2 = Roc(MV1,8);

    MV3 = Ref(Roc(MV1,8),1);

    If (V*C)> 50000 Then VOL1=1; Else VOL1=0;

    Endif;

    If (MV2>0 and VOL1=1) Then SIG1=1; Else SIG1=0;

    Endif;

    RK4=(RK3-C)*100/C;

    If(RK3=0) Then RK5=0; Else RK5=RK4;

    Endif;

    Descrizione colonne:

    Colonna 1: – nome: Chiusura

    C

    Colonna 2: – Entrato

    RK2

    Colonna 3: – Debord

    RK3

    Colonna 4: – Stop

    SK1

    Colonna 5: – % Stop

    SK2

    Colonna 6: – Roc 8 gg.

    MV2

    Filtro

    SIG1=1

    Esplorazione: TS Swing (il nome della formula)

    Var: RK0; //valore massimo H ultimi 10 giorni

    Var: RK1; // valore di ieri variabile RK0

    Var: RK2; // se il massimo di oggi è maggiore o uguale al

    // massimo di ieri la variabile assume il valore del

    // massimo di ieri, altrimenti assume valore 0

    Var: RK3; // se il massimo di oggi è minore del massimo

    //di ieri, la variabile assume il valore del massimo

    // assoluto degli ultimo 10 giorni, altrimenti valore 0

    Var:RK4; // differenza % tra la chiusura e il prezzo di debord

    Var:RK5; // se attivo prezzo debord, RK4, altrimenti 0

    Var: SK1; // media mobile semplice a 5 giorni sui minimi

    Var: SK2; // differenza % fra chiusura odierna e media mobile

    // a 5 giorni sui minimi

    Var: MV1; // media mobile semplice a 5 giorni sulla chiusura

    Var: MV2; // variazione % a 8 giorni variabile MV1

    Var: MV3; // valore di ieri della variabile MV2

    Var: MV4; // se la variabile MV3 è negativa (valore di ieri)

    // mentre la variabile MV2 è positiva (valore di oggi)

    // la variabile assume valore 1, altrimenti 0

    Var: VOL1; // se i volumi moltiplicati per la chiusura sono

    // superiori a 50000 la variabile assume valore 1,

    // altrimenti 0

    Var: SIG1; // se la variabile MV2 è positiva e i volumi sono

    // superiori a 50000, la variabile assume valore 1,

    //altrimenti 0

    RK0 = HHV(H,10);

    RK1 = Ref((RK0),1);

    If (H>=RK1) And C>Mov(L,5,s) Then RK2=RK1; Else

    RK2=0;

    Endif;

    If (HEndif;

    SK1 = Mov(L,5,S);

    SK2 = (C-SK1)*100/C;

    MV1 = Mov(C,5,S);

    MV2 = Roc(MV1,8);

    MV3 = Ref(Roc(MV1,8),1);

    If MV3<0 and MV2>0 Then MV4=1; Else MV4=0;

    Endif;

    If (V*C)> 50000 Then VOL1=1; Else VOL1=0;

    Endif;

    If (MV4=1 and VOL1=1) Then SIG1=1; Else SIG1=0;

    Endif;

    RK4=(RK3-C)*100/C;

    If(RK3=0) Then RK5=0; Else RK5=RK4;

    Endif;

    Descrizione colonne:

    Colonna 1: – nome: Chiusura

    C

    Colonna 2: – Entrato

    RK2

    Colonna 3: – Debord

    RK3

    Colonna 4: – Stop

    SK1

    Colonna 5: – % Stop

    SK2

    Colonna 6: – Roc 8 gg.

    MV2

    Filtro

    SIG1=1

    Grazie

    #254165 quote
    Iván GonzálezIván González
    Moderator
    Legend
    Ecco il primo screener:
    // TS Swing - Version 1
    // Variable definitions
    
    // RK0: Max High of last 10 days
    RK0 = Highest[10](High)
    
    // RK1: Yesterday's RK0 value
    RK1 = RK0[1]
    
    // Auxiliary variable for SMA 5 on Lows
    AvgLow5 = Average[5](Low)
    
    // RK2 Logic
    IF (High >= RK1) AND (Close > AvgLow5) THEN
    RK2 = RK1
    ELSE
    RK2 = 0
    ENDIF
    
    // RK3 Logic
    IF (High < RK1) THEN
    RK3 = RK0
    ELSE
    RK3 = 0
    ENDIF
    
    // SK1: SMA 5 on Lows
    SK1 = AvgLow5
    
    // SK2: % Diff between Close and SK1
    SK2 = (Close - SK1) * 100 / SK1
    
    // MV1: SMA 5 on Close
    MV1 = Average[5](Close)
    
    // MV2: % Variation of MV1 over 8 days (ROC)
    IF MV1[8] <> 0 THEN
    MV2 = (MV1 - MV1[8]) * 100 / MV1[8]
    ELSE
    MV2 = 0
    ENDIF
    
    // VOL1 Logic (Volume * Close > 50000)
    IF (Volume * Close) > 50000 THEN
    VOL1 = 1
    ELSE
    VOL1 = 0
    ENDIF
    
    // SIG1 Logic (Filter trigger)
    IF (MV2 > 0) AND (VOL1 = 1) THEN
    SIG1 = 1
    ELSE
    SIG1 = 0
    ENDIF
    
    // Condition: SIG1 must be 1
    SCREENER[SIG1](Close AS "Chiusura", RK2 AS "Entrato", RK3 AS "Debord", SK1 AS "Stop", SK2 AS "% Stop", MV2 AS "Roc 8 gg")
    robertogozzi thanked this post
    #254166 quote
    Iván GonzálezIván González
    Moderator
    Legend
    Ecco il secondo:
    // TS Swing - Version 2
    // Variable definitions
    
    // RK0: Max High of last 10 days
    RK0 = Highest[10](High)
    
    // RK1: Yesterday's RK0 value
    RK1 = RK0[1]
    
    // Auxiliary variable for SMA 5 on Lows
    AvgLow5 = Average[5](Low)
    
    // RK2 Logic
    IF (High >= RK1) AND (Close > AvgLow5) THEN
    RK2 = RK1
    ELSE
    RK2 = 0
    ENDIF
    
    // RK3 Logic
    IF (High < RK1) THEN
    RK3 = RK0
    ELSE
    RK3 = 0
    ENDIF
    
    // SK1: SMA 5 on Lows
    SK1 = AvgLow5
    
    // SK2: % Diff between Close and SK1
    SK2 = (Close - SK1) * 100 / SK1
    
    // MV1: SMA 5 on Close
    MV1 = Average[5](Close)
    
    // MV2: % Variation of MV1 over 8 days
    IF MV1[8] <> 0 THEN
    MV2 = (MV1 - MV1[8]) * 100 / MV1[8]
    ELSE
    MV2 = 0
    ENDIF
    
    // MV3: Yesterday's MV2 value
    MV3 = MV2[1]
    
    // MV4 Logic: Crossover detection
    // Checks if yesterday was negative and today is positive
    IF (MV3 < 0) AND (MV2 > 0) THEN
    MV4 = 1
    ELSE
    MV4 = 0
    ENDIF
    
    // VOL1 Logic
    IF (Volume * Close) > 50000 THEN
    VOL1 = 1
    ELSE
    VOL1 = 0
    ENDIF
    
    // SIG1 Logic (Filter trigger)
    IF (MV4 = 1) AND (VOL1 = 1) THEN
    SIG1 = 1
    ELSE
    SIG1 = 0
    ENDIF
    
    // Condition: SIG1 must be 1
    SCREENER[SIG1](Close AS "Chiusura", RK2 AS "Entrato", RK3 AS "Debord", SK1 AS "Stop", SK2 AS "% Stop", MV2 AS "Roc 8 gg")
    
    robertogozzi thanked this post
    #254300 quote
    CentroCentro
    Participant
    New
    Grazie Ivan, provo
    #254309 quote
    CentroCentro
    Participant
    New
    Grazie Ivàn per il tuo aiuto, se non è troppo disturbo potresti aiutarmi anche con la traduzione del Trading System scritto per Visual Trading in ProRealTime? di seguito il codice
    #254310 quote
    CentroCentro
    Participant
    New
    Trading System : TSSwing (il nome della formula) Var: RK0; // valore massimo degli ultimo 10 giorni Var: RK1; // valore di ieri variabile RK0 Var: RK2; // Oggi nuovo massimo e chiusura superiore a // media minimi 5 gg Var: SK1; // media mobile a 5 giorni sui minimi (stop) Var: MV1; // media mobile a 5 gg chiusura Var: MV2; // variazione percentuale 8 gg. media mobile a 5 gg Var: MV3; // ROC positivo o negativo Var: VOL1; // filtro volumi inferiori a 50.000 euro Var: SIG1; // condizioni per il segnale: variabili RK2 e VOL1 // ok, MV3 positivo Var: IND1; // crea sul grafico la zona dove disegnare il ROC RK0 = HHV(H,10); RK1 = Ref((RK0),1); SK1 = Mov(L,5,S); MV1 = Mov(C,5,S); MV2 = Roc(MV1,8); If (H>=RK1) And C>Mov(L,5,s) Then RK2=1; Else RK2=0; Endif; If MV2 >=0 Then MV3=1; Else MV3=0; Endif; If (V*C)>50000 Then VOL1=1; Else VOL1=0; Endif; If (RK2=1 and MV3=1 and VOL1=1) Then SIG1=1; Else SIG1=0; Endif; If SIG1=1 then enterLONG(NextBar, AtOpen); colorbar (green); Elseif MV2<0 and C<SK1 Then enterSHORT (NextBar, AtOpen); colorbar (red); Endif; PlotChart(RK0, 0,green, solid, 2); // disegna sul grafico il // valore massimo ultimi 10 giorni PlotChart(SK1, 0,red, solid, 2); // disegna sul grafico la // media mobile sui minimi a 5 giorni PlotChart(MV1, 0,blue, solid, 2); // disegna sul grafico la // media mobile a 5 giorni della chiusura IND1 = CreateViewport(100, true, true); // crea sul grafico una // nuova zona PlotChart(mv2, IND1, red, solid, 2); // disegna sul grafico il //ROC a 8 giorni
    #254343 quote
    Iván GonzálezIván González
    Moderator
    Legend
    Non vedo alcuna condizione di uscita. Quello che vedo è che il sistema apre una posizione quando sig1=1. Devi solo modificare l'ultima riga dello screener in questo modo:
    if not onmarket and sig1=1 then
    buy 1 contract at market
    endif
    Da qui dovresti definire le condizioni di uscita. Ad esempio:
    set stop %loss 5
    set target %profit 5
    #254378 quote
    CentroCentro
    Participant
    New
    Non sono un esperto, potresti inviarmi il codice del trading system tradotto per PRT con le modifiche che suggerisci? Grazie
    #254393 quote
    Iván GonzálezIván González
    Moderator
    Legend
    // --- System Parameters ---
    DEFPARAM CumulateOrders = False // Do not accumulate positions
    
    // --- Variable Definitions ---
    
    // RK0: Maximum value of the last 10 days (High)
    rk0 = Highest[10](high)
    
    // RK1: Yesterday's RK0 value (Reference to previous bar)
    rk1 = rk0[1]
    
    // SK1: 5-period Simple Moving Average on Lows
    sk1 = Average[5](low)
    
    // MV1: 5-period Simple Moving Average on Close
    mv1 = Average[5](close)
    
    // MV2: 8-period Rate of Change (ROC) applied to MV1
    // Note: Checks the variation of the moving average itself
    mv2 = ROC[8](mv1)
    
    // --- Logic Conditions ---
    
    // RK2: Breakout condition
    // High must be >= yesterday's 10-day high AND Close > SMA 5 of Lows
    rk2 = 0
    IF (high >= rk1) AND (close > sk1) THEN
       rk2 = 1
    ELSE
       rk2 = 0
    ENDIF
    
    // MV3: Momentum condition
    // Checks if the ROC of the Moving Average is positive
    mv3 = 0
    IF mv2 >= 0 THEN
       mv3 = 1
    ELSE
       mv3 = 0
    ENDIF
    
    // VOL1: Volume Filter
    // Traded capital (Volume * Price) must be > 50,000
    vol1 = 0
    IF (volume * close) > 50000 THEN
       vol1 = 1
    ELSE
       vol1 = 0
    ENDIF
    
    // SIG1: Final Entry Signal
    // All conditions must be met
    sig1 = 0
    IF rk2 = 1 AND mv3 = 1 AND vol1 = 1 THEN
       sig1 = 1
    ELSE
       sig1 = 0
    ENDIF
    
    // --- Order Execution ---
    
    // Entry Long
    IF sig1 = 1 THEN
       BUY 1 CONTRACT AT MARKET
    ENDIF
    
    // --- Exits / Money Management ---
    
    // 5% Stop Loss and 5% Profit Target
    SET STOP %LOSS 5
    SET TARGET %PROFIT 5
    
    robertogozzi thanked this post
    #254421 quote
    CentroCentro
    Participant
    New
    Grazie Ivan per il tuo aiuto
Viewing 10 posts - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.
ProRealAI ProRealAI New

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

TradingView to ProRealTime Translation Center

New Reply
Author
author-avatar
Centro @centro Participant
Summary

This topic contains 9 replies,
has 2 voices, and was last updated by CentroCentro
9 months, 3 weeks ago.

Topic Details
Forum: TradingView to ProRealTime Translation Center Forum
Started: 12/02/2025
Status: Active
Attachments: No files
ProRealCode ProRealCode
Loading...