Création signal avec conditions qui peuvent ne pas se déclencher au même instant

Forums ProRealTime forum Français Support ProBuilder Création signal avec conditions qui peuvent ne pas se déclencher au même instant

Viewing 15 posts - 1 through 15 (of 23 total)
  • #38158

    bonjour j’aimerai créer un signal avec deux conditions mais ces conditions peuvent ne pas se déclencher au même instant, existence d’un décalage et c’est cela qui pose problème.

    Y a t’il une instruction sur PRT permettant de valider la condition avec condition 1 validé a un instant T et condition 2 validé a un autre instant T, pas forcément au même moment.

    J’ai utilisé And mais c’est en même temps.

    Or: il me valide l’une ou l’autre

    et je n’ai rien trouvé pour si condition 1 puis condition 2 alors signal validé

    Attention le décalage temps est aléatoire puisque la condition ne dépend pas du temps

    ex: MACD sous zéro et prix qui croise La MM 20 mais pas au même moment avec un décalage, le signale est validé alors

     

    merci

     

    #38167

    Bonjour Ghary,

    A mon humble avis (car je débute) il te faut choisir une des 2 conditions qui déclenchera la stratégie.

    Ci dessous le MACD < 0 et la stratégie se déclenche quand les prix BarClose croise la MM20 (Long)

     

    #38170

    Bonjour

    merci pour la réponse mais on revient toujours à la condition and qui oblige à avoir les deux conditions ici MACD < 0 et croisement bougie MM20 sauf que j’aimerai avoir le signal en ayant le MACD qui a été < 0 mais qui au moment du croisement prix MM 20 n’est pas forcément < 0.

    Le soucis se situe donc bien au niveau de la condition 1 qui peut être présente ou passé.

     

    #38334

    Bonjour

    je reviens vers vous afin de savoir s’il existe une fonction sur PRT permetttant de valider deux conditions décalées dans le temps ou pas ?

    #38344

    C’est l’un des sujets de la formation prorealtime sur la programmation avancée 🙂

    Je viens de tomber sur un exemple en cherchant dans le forum : https://www.prorealcode.com/topic/blocage-programmation-code-prt/

     

    #38354

    Dans l’exemple donné nous avons un nombre de bougie déterminer ici 10 mais si l’on ne connaît pas sur quel nombre de bougie la condition 1 a été validé c’est plus compliqué la non ?

     

    #38355

    // on passe result à 1 si A a était supérieur à B 1 fois dans les 10 dernière périodes:

    result = 0

    for a = 0 to 10 do
    if A[a]>B[a] then
    result = 1
    endif
    next

     

    #38370

    Donne nous ton code complet et je ferai en sorte que ça marche 🙂 Je te l’expliquerai directement à l’intérieur, ça sera plus rapide et plus simple pour tous les deux !

    #38403

    Bonjour Nicolas voici l’idée générale, niveau code c’est assez simple, c’est surtout la condition qui complique la validation du signal.

    Condition 1 Initiale

    MACD (36 72 27) < 0 et MACD (12 26 9) croise à la hausse son signal.

    Validation du signal si condition 1 effectué (en même temps ou non) et après condition 2

    Condition 2

    Prix croise à la baisse la MM 20 alors signal Vente.

    La condition 1 n’arrive pas forcement au même moment.

    Condition 1 Initiale

    MACD (36 72 27) > 0 et MACD (12 26 9) croise à la baisse son signal.

    Condition 2 validée s’il y a eu condition 1

    Prix croise à la hausse la MM 20 alors signal Achat.

    Il faut aussi que MACD(36 72 27) reste >0 ou<0 lors de la condition 2 .

    Niveau codage cela reste simple mais c’est la validation de la condition 1 qui n’a pas lieux forcement au même moment que la condition 2.

    #38440

    L’exemple ci-dessous est ta Condition1 :

    Tant que tu te remets pas buyc à une autre valeur que 1, cette condition reste valide. Donc tu peux l’utiliser plus tard dans le temps .. (voir image).

    #38447

    D’accord mais je dois rajouter la condition 2 après le return buyc ?

     

    #38450

    Ce code est un indicateur, juste pour te faire voir que ta condition1 enregistré dans la variable ‘buyc’ reste valide tant que tu ne la remets pas à zéro toi même.

    Le code de la stratégie pour une condition de vente devrait ressembler à cela:

    Pas testé ! à vérifier.

    1 user thanked author for this post.
    #38451

    D’ailleurs je viens de me rendre compte que ta condition1 je l’ai appelé ‘buyc’ alors que c’est la version short que l’on a codé.. bref tu auras fait le tri toi même 😉

    #38453

    Ce n’est pas grave je l’aurai vu je vais essayer de tester cela. Par contre je ne comprend pas pourquoi tu reset la condition 1 alors que  c’est la condition 2 qui déclenche justement le signal ?

    #38463

    Je reset la condition1 pour le prochain signal, vu que celle-ci on vient de l’utiliser pour lancer une vente, mais libre à toi de la conserver, je ne connais pas ta stratégie en détail.

Viewing 15 posts - 1 through 15 (of 23 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login