Achat si EtatSignal[1] different de EtatSignal

Forums ProRealTime forum Français Support ProOrder Achat si EtatSignal[1] different de EtatSignal

  • This topic has 3 replies, 3 voices, and was last updated 2 days ago by avatarIván.
Viewing 4 posts - 1 through 4 (of 4 total)
  • #250443
    jgn

    Bonjour à vous,

    Je pense qu’il y a eu de nombreuses réponses sur ce type de questions, mais tout ce que j’ai trouvé (et essayé) n’ont pas fonctionné… ;(

    Je crée une strategie contenant un indicateur qui affiche ce type de signaux:

    SignalLong =(S>V AND……)

    SignalShort = (S<V AND….)

    (Au final, j’ai une courbe, qui change de couleur & des points qui s’affiche sur ces changements d’etat).

    Dans mes conditions de BUY ou de SellShort, je voudrais que la strategie prenne en compte ces signaux : le passage de l’etat “SignalS” à “SignalL” pour un Buy & inversement pour un Short.

    Au départ j’avais ecrit : IF SignalL AND Filtre1 AND Filtre2 THEN  => Mais j’ai des prises de positions pendant tout le temps ou la courbe est dans l’etat “SignalL”.

    Apres recherches, j’ai tenté :

    • IF SignalS[1] AND SignalL And “FiltresX” THEN

    Ca ne prend aucune positions en Backtest.

    • IF Close[1] = SignalS AND Close = SignalL THEN

    Ou en ajoutant des (close[1] = SignalS)…..  => Ce n’est pas mieux.

     

    Est-ce un probleme de syntaxe dans mes condition de BUY & SellShort, ou est-ce que je dois chercher dans le code en amont ?

    D’avance merci.

    #250446
    JS

    Bonjour,

    Les signaux de l’indicateur sont des booléens (TRUE/FALSE)…

    Pour construire des décisions de trading basées sur des booléens, il faut observer les moments où le booléen bascule (change d’état)…

    Cela peut s’exprimer ainsi :

    LongTrigger = SignalLong AND NOT SignalLong[1]

    ShortTrigger = SignalShort AND NOT SignalShort[1].

    En le combinant avec une vérification de position :

    If LongTrigger and NOT LongOnMarket then

    BUY 1 CONTRACT AT MARKET

    If ShortTrigger and NOT ShortOnMarket then

    SELLSHORT 1 CONTRACT AT MARKET

    En d’autres termes, la transaction n’est exécutée qu’au moment du flip du signal booléen, ce qui garantit que vous n’entrez pas plusieurs fois tant que le signal reste TRUE…

    2 users thanked author for this post.
    #250462
    jgn

    Bonjour JS,

     

    Merci pour vos explications.

    J’ai fais une 1ere modification > Cela crée bien des points d’entrées a la bascule du signal, mais cela continue a en créer sur le reste de la periode.

    Je vais continuer a creuser dans mon code pour voir pourquoi parceque je n’ai pas mis d’autres conditions dans mes ordres d’achat/vente.

    En regardant les points d’entrées, ils se produisent aussi bien juste après une clôture, qu’en plein mouvement de prix alors que le signal n’a pas changé…….

     

    J’espere finir par trouver ce que je fais mal sans avoir a nouveau a vous embeter 😉

    #250464

    Bonjour ! Comme le dit @JS, pour éviter d’entrer plusieurs fois vous devez déclarer un trigger comme celui qu’il propose.
    Si vous partagez le code, nous pourrons vous aider.

Viewing 4 posts - 1 through 4 (of 4 total)

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