Répondre

Comment faire en sorte qu'une condition soit retardée pendant un certain temps dans une stratégie ?

2 réponses

Hans Hwang

Abonné, bbp_participant, 2 réponses.

Visiter le profil

il y a 3 ans #259239

Bonjour, j'ai découvert AlgoWizard aujourd'hui et je suis très enthousiaste à l'idée qu'il s'agit vraiment d'un bon outil.

J'ai lu le document d'aide et essayé quelques EA.

Je veux faire un EA avec une ou deux conditions retardées, ce qui signifie que lorsque ces conditions sont déclenchées, la condition sera mise à Vrai pour une période de temps, peu importe que la condition originale soit devenue fausse。.

Voici un exemple simple :

Lorsque le MACD diverge dans les 60 dernières barres, lorsque le MACD franchit la ligne 0, l'achat est ouvert. ( il montre une divergence dans le passé mais peut être pas dans le récent ).

J'ai vu que l'on pouvait utiliser if...then pour définir des variables, peut-être puis-je définir une variable lorsque MACD diverge et la laisser durer pendant 60 barres ?

La divergence MACD est une autre fonctionnalité, dont j'ai vu un exemple dans le document de l'utilisateur, mais que je n'ai pas encore visualisée.

Toute réponse sera la bienvenue, je vais continuer à essayer et je donnerai plus d'informations.

merci

 

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

il y a 3 ans #259278

Bonjour,

Si vous souhaitez combiner deux signaux qui ne doivent pas nécessairement apparaître en même temps, mais avec un certain retard l'un par rapport à l'autre, vous pouvez facilement y parvenir en utilisant des variables (appelées variables d'état), ce qui vous permettra de diviser la logique en deux étapes :

1) vérifier la divergence MACD ... lorsqu'une divergence MACD d'achat se produit, vous mettez une variable (créez-en une nouvelle appelée 'divergencyState (int)) à +1

2) créer une deuxième condition qui vérifie une situation où le MACD passe au-dessus de 0 AND divergencyState = 1 .... Vous pouvez maintenant déclencher une entrée d'achat et remettre divergencyState à 0 pour la prochaine situation.

De cette façon, il peut y avoir un délai de plusieurs barres entre ces deux signaux. Ainsi, après une divergence, une stratégie "attend" que le MACD passe au-dessus de la ligne 0.

Si vous souhaitez limiter le nombre de barres entre les signaux, vous devez également "compter les barres" après que divergencyState a été fixé à 1 et vérifier "max bars to detect MACD cross above 0" (nombre maximum de barres pour détecter un croisement MACD au-dessus de 0)

Faites-moi savoir si vous avez besoin d'aide à ce sujet.

0

Hans Hwang

Abonné, bbp_participant, 2 réponses.

Visiter le profil

il y a 3 ans #259306

Je vous remercie de votre réponse.

J'ai une question concernant le "comptage des barres", comment puis-je le faire ?

Et à propos de la divergence macd, j'ai constaté que l'exemple ne peut pas cliquer, ce qui est le cas. https://algowizard.io/examples/

Comment puis-je vérifier la divergence ?

merci

0

Affichage de 2 réponses de 1 à 2 (sur un total de 2)