2 conditions d’achats différents sur la même stratégie
Forums › ProRealTime forum Français › Support ProOrder › 2 conditions d’achats différents sur la même stratégie
- This topic has 10 replies, 3 voices, and was last updated 3 days ago by Lju.
-
-
01/02/2025 at 10:42 PM #242090
Bonsoir à tous,
Dans ma stratégie avec le code fourni en pièce jointe je voudrais avoir la commande “IF Not OnMarket THEN” avec la commande “BUY X SHARES AT MARKET – SET TARGET pPROFIT X ” pour chacune de mes conditions
car elles sont bien distinctes en Target profit. Malheureusement je n’arrive pas à les séparer et créer ce code, j’ai pour l’instant pu avoir un backtest avec la commande “or” entre mes 2 conditions ligne 27 de code.
Mes 2 conditions sont de la ligne 15 à 25 sachant que la première condition c’est ” C1 et C2 ” et l’autre c’est “C3 et C4 ” avec donc un souhait de target différent et sachant que la deuxième condition doit s’enclencher seulement si la première est inactive. J’ai essayer avec la commande TRUE au lieu de False, en ligne 2 mais cela n’a pas fonctionné.
Merci par avance pour votre aideStrategie 2 conditions achats1234567891011121314151617181920212223242526272829303132// Définition des paramètres du codeDEFPARAM CumulateOrders = False // Cumul des positions désactivé// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position avant l'heure spécifiéenoEntryBeforeTime = 153000timeEnterBefore = time >= noEntryBeforeTime// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position après l'heure spécifiéenoEntryAfterTime = 210500timeEnterAfter = time < noEntryAfterTime// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiésdaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0// Conditions pour ouvrir une position acheteuseindicator1 = MACDLine[37/3, 77/3, 9](close)indicator2 = MACDSignal[37/3, 77/3, 9](close)c1 = (indicator1 >= indicator2)indicator3 = MACDLine[37/3, 77/3, 9](close)c2 = (indicator3 >= 2.5)indicator4 = TRIX[15](close)indicator5 = Average[9](indicator4)c3 = (indicator4 CROSSES OVER indicator5)indicator6 = Average[9](TRIX[15](close))c4 = (indicator6 <= 0)IF (c1 AND c2) OR ( c3 AND c4) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THENBUY 1 SHARES AT MARKETENDIF// Stops et objectifsSET TARGET pPROFIT 501/03/2025 at 11:24 AM #242105quand tu utilise ” OR” faire bien attention
la il faut mettre des parenthèses comme ci dessous
on est bien d’accord que c’est C1 et C2 ou C3 et C4
IF ((c1 AND c2) OR ( c3 AND c4)) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN01/03/2025 at 11:38 AM #24210701/03/2025 at 11:53 AM #242108DEFPARAM CumulateOrders = falseIF (c1 AND c2) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THENBUY x SHARES AT MARKETSET TARGET pPROFIT xENDIFIF (c3 AND c4) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THENBUY x SHARES AT MARKETSET TARGET pPROFIT xENDIF01/03/2025 at 12:12 PM #24210901/03/2025 at 12:24 PM #242110Bonjour,
Dans ce code, « If NOT on Market » n’est pas nécessaire, car cela est déjà géré par « DefParam CumulateOrders = false »…
Mais si vous souhaitez l’inclure..IF NOT on Market AND (c3 AND c4) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THENBUY x SHARES AT MARKETSET TARGET pPROFIT xENDIF01/03/2025 at 12:42 PM #24211101/03/2025 at 12:50 PM #24211301/03/2025 at 1:41 PM #242114C’est possible, ce que vous pourriez faire par exemple est :
IF … (C1 and C2) …
Buy x …
Position1=1
Position2=0
…
EndIf
IF … (C3 and C4) …
Buy x…
Position1=0
Position2=1
…
EndIf
If Position1=1 then
Sell …
EndIf
If Position2=1 then
Sell …
EndIf
01/03/2025 at 1:51 PM #24211501/03/2025 at 2:23 PM #242116 -
AuthorPosts
Find exclusive trading pro-tools on