Codice Proscreener non funziona

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #238847 quote
    davidator
    Participant
    Junior

    Buongiorno,

    Il seguente codice funziona in probacktest, l’ho adattato per farne uno screener ma non funziona. Non trova niente.

    Lo screener dovrebbe individuare mercati in cui vi sono state almeno 7 chiusure giornaliere maggiori della media mobile semplice a 5 periodi, seguita da 1 chiusura minore alla media mobile semplice.

    Sma5 = average[5,0](close)
    c1 = (summation[7](close > Sma5) = 7)
    c2 = close < Sma5

    SCREENER[c1 AND c2] ((close/DClose(1)-1)*100 AS “% Var ieri”)

    Grazie per l’aiuto

    #238855 quote
    robertogozzi
    Moderator
    Master

    Non funziona perché la riga 3 contraddice la riga 2.

    Alla riga 2 chiedi che le ultime 7 candele abbiano close > Sma5, però con l’ultima close < Sma5.

    Quindi perché sia vera la riga 3 bisogna che alla 2 siano solo 6 le candele rialziste, ma allora quella condizione sarà falsa, e viceversa.

    Devi dirgli che  le 7 candele siano close > Sma5, ma a partire da quella precedente, in quanto quella in corso deve essere opposta:

    Sma5 = average[5,0](close)
    c1 = (summation[7](close > Sma5) = 7)
    c2 = close < Sma5
    SCREENER[c1[1] AND c2] ((close/DClose(1)-1)*100 AS “% Var ieri”)
    davidator and Iván González thanked this post
    #238861 quote
    davidator
    Participant
    Junior

    Perfetto, grazie Roberto!

    E’ possibile escludere i dati dell week-end dal calcolo?

    Vorrei inglobare la candela della domenica in quella del lunedì, ma a quanto ho capito non è possibile. In tal caso escludere la candela della domenica sarebbe sufficiente.

    #238875 quote
    robertogozzi
    Moderator
    Master

    Prova questo:

    Sma5  = average[5,0](close)
    Count = 0
    FOR i = 1 TO BarIndex
       IF (OpenDayOfWeek[i] >= 1) AND (OpenDayOfWeek[i] <=5) THEN
          IF close[i] < Sma5[i] THEN
             break
          ENDIF
          Count = Count + 1
          IF Count = 7 THEN
             break
          ENDIF
       ENDIF
    NEXT
    c1 = (Count = 7)
    c2 = close < Sma5
    SCREENER[c1 AND c2] ((close/DClose(1)-1)*100 AS "% Var ieri")
    davidator thanked this post
    #238938 quote
    davidator
    Participant
    Junior

    Sembra funzionare.

    Grazie e buona giornata

    robertogozzi thanked this post
Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.

Codice Proscreener non funziona


Supporto ProScreener

New Reply
Author
author-avatar
davidator @davidator Participant
Summary

This topic contains 4 replies,
has 2 voices, and was last updated by davidator
1 year, 3 months ago.

Topic Details
Forum: Supporto ProScreener
Language: Italian
Started: 10/11/2024
Status: Active
Attachments: No files
Logo Logo
Loading...