Screener Multiframe & Heikin-Ashi

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #47313 quote
    pavixpavix
    Participant
    Average

    Bonsoir

    je vous contacte car malgré les ressources très riches de ce site, je n’arrive pas à mes fins !!!

    Voici le screener que j’essaie d’obtenir, en me basan sur une représentation Heikin-Ashi

    Condition1
    ———-
    En timeframe Weekly
    Stochastique : %k > %D
    et il n’y a pas 2 bougies baissières consécutives en “Jour J” et “J-1”

    Condition2
    ———-
    En timeframe Daily
    nous avons
    – soit 2 bougies haussières “Jour J” et “J-1” ET une bougie baissière en J-2 ET %k > %D et %K>40
    – soit un croisement à la hausse du Stochastique (de %K sur %D) ET 2 bougies haussières “Jour J” et “J-1”
    ET
    des bandes de bollinger qui augmentent sur 3 séances

    j’arrive à ça, mais je n’arrive pas à coder le reste…. vous auriez des idées de corrections et de simplification ?

    xClose = (Open+High+Low+Close)/4
    if(barindex>2) then
    xOpen = (xOpen[1] + xClose[1])/2
    endif
    K = ExponentialAverage[7](Stochastic[14,1](close))
    D = ExponentialAverage[3](K)
    
    TIMEFRAME(WEEKLY)
    K = ExponentialAverage[7](Stochastic[14,1](close))
    D = ExponentialAverage[3](K)
    c1 = K>D
    
    c2 = /// je ne sais pas comment coder le fait de ne pas avoir 2 bougies baissières consécutives en "Jour J" et "J-1"
    
    TIMEFRAME (DAILY)
    c3 = xClose[1]>xOpen[1] AND xClose>xOpen AND xClose[2]<xOpen[2] AND (K > D) AND (K >= 40) AND (K [1] <D [1])
    c4 = K CROSSES OVER AND xClose[1]>xOpen[1] AND xClose>xOpen
    c5 = c4 OR c3
    
    p = 10
    dev = 1.5
    BollInf = Average[p](close)-dev*std[p](close)
    BollSup = Average[p](close)+dev*std[p](close)
    pB = (close - BollInf) / (BollSup - BollInf) //// est-ce bien close qu'il faut utiliser ou xClose ?
    c6 = pB > pB[1] > pB[2]
    
    SCREENER (c1 AND c2 AND c5 AND c6)
    #47347 quote
    NicolasNicolas
    Keymaster
    Legend

    La première chose qui me saute aux yeux (et c’est une erreur récurrente), c’est que les conditions d’un screener doivent être entre crochets et non entre parenthèses, ces dernières étant utilisées uniquement pour le critère de tri. Donc pour ton code, la dernière ligne devrait être:

    SCREENER [c1 AND c2 AND c5 AND c6]

    Avec cette correction, tu devrais au moins avoir quelques résultats et tu devrais pouvoir débugger un peu mieux tes conditions sur les 2 unités de temps de ton screener.

    #47351 quote
    pavixpavix
    Participant
    Average

    Bonjour Nicolas,

    merci pour ta réponse, en effet, c’est une grossière erreur de ma part.

    il y avait 2-3 erreurs de “syntaxe”, je corrige ci-dessous.

    Parmi les questions en suspens :

    1. je ne sais pas comment coder le fait de ne pas avoir 2 bougies baissières consécutives en “Jour J” et “J-1”
    2. pour le % bollinger : est-ce bien close qu’il faut utiliser ou xClose ?
    3. si je comprends bien ta réponse, pour le screener, je peux rajouter (Volume), et les actions seront triées en fonction de leur volume journalier ?

    Merci d’avance et bonne journée

    xClose = (Open+High+Low+Close)/4
    if(barindex>2) then
    xOpen = (xOpen[1] + xClose[1])/2
    endif
    K = ExponentialAverage[7](Stochastic[14,1](close))
    D = ExponentialAverage[3](K)
     
    TIMEFRAME(WEEKLY)
    c1 = K>D
    c2 = /// je ne sais pas comment coder le fait de ne pas avoir 2 bougies baissières consécutives en "Jour J" et "J-1"
     
    TIMEFRAME (DAILY)
    c3 = xClose[1]>xOpen[1] AND xClose>xOpen AND xClose[2]<xOpen[2] AND (K > D) AND (K >= 40) AND (K [1] <D [1])
    c4 = K CROSSES OVER AND xClose[1]>xOpen[1] AND xClose>xOpen
    c5 = c4 OR c3
     
    p = 10
    dev = 1.5
    BollInf = Average[p](close)-dev*std[p](close)
    BollSup = Average[p](close)+dev*std[p](close)
    pB = (close - BollInf) / (BollSup - BollInf) //// est-ce bien close qu'il faut utiliser ou xClose ?
    c6 = pB > pB[1] AND pB[1] > pB[2]
     
    SCREENER [c1 AND c2 AND c5 AND c6]
    #47361 quote
    NicolasNicolas
    Keymaster
    Legend

    Pour répondre à tes questions :

    1/ Tu peux utiliser SUMMATION pour faire la somme de tests booléens et vérifier que cette somme est bien égale à 0 : (sujet de la formation à la programmation avancée, gratuite sous certaines conditions rappelons-le ! 🙂 )

    c2 = summation[2](close<close[1])=0

    2/ Tout dépend de comment tu veux calculer la largeur de tes bandes de Bollinger, avec le vrai prix (Close) ou celui plus lissé des bougies Heikin Ashi (xClose).

    3/ Tu as bien compris en effet 🙂 instruction SCREENER

Viewing 4 posts - 1 through 4 (of 4 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

Screener Multiframe & Heikin-Ashi


ProScreener : Scanners de Marché & Détection

New Reply
Author
author-avatar
pavix @pavix Participant
Summary

This topic contains 3 replies,
has 2 voices, and was last updated by NicolasNicolas
9 years, 1 month ago.

Topic Details
Forum: ProScreener : Scanners de Marché & Détection
Language: French
Started: 09/25/2017
Status: Active
Attachments: No files
ProRealCode ProRealCode
Loading...