Bonjour,
Je cherche à créer une stratégie avec plusieurs ordres cumulés (disons 5 ordres), et avec pour chacun un stop loss et un take profit différent.
Le problème, c’est qu’avec la commande “set stop loss X”, ou “set target profit X”, le SL et le TP sont les mêmes pour les 5 ordres.
Comment procéder pour que chaque ordre ait son stop loss et son take profit qui lui est proche ?
Merci par avance pour vos réponses.
Cordialement,
Bonjour Doc, ces conditions sont liées au courtier et non à la plateforme.
Chez IG ou Prorealtime-trading, les ordres sont traités individuellement (“trade centric”), dans leur serveur mais on ne peut y accéder directement depuis le code car à la base ProRealTime est “position centric”, tous les ordres sont agrégés et leurs prix d’ouverture constitue une moyenne.
Tu as cependant une série d’instructions qui te permet de traiter tes ordres comme :
Prix moyen d’ouverture des ordres ouverts : POSITIONPRICE
Prix d’ouverture du N ordre : TRADEPRICE
BarIndex du N ordre : TRADEINDEX
Performance de la N précédente position : POSITIONPERF
Pour mémoire, toute la documentation du site est commenté et comporte des exemples pour presque chaque instruction. Alors n’hésitez pas à la consulter et aussi à la commenter si vous avez des idées là bas. J’ai tout fait moi même et il est possible qu’il y est de meilleures exemples pour chacune des instructions 🙂
Merci pour ta réponse.
Je vais te faire une confidence : je n’ai jamais pris le temps de lire la notice !
Je l’ai ouverte juste occasionnellement pour piocher un ou deux trucs… j’apprends le plus souvent par moi-même.
Je vais donc lire la notice avec les notions que tu viens de me donner.
C’est le gros avantage du langage de programmation de prorealtime, il est simple d’apprentissage et donc facilement accessible sans devoir être un codeur chevronné. Mais de bons exemples permettent souvent de mieux comprendre certaines instructions et subtilité du langage. Comme je le dis souvent, tous les chemins mènent à Rome en programmation, suffit d’être le plus optimal possible même si ProBuilder/ProOrder/ProBacktest acceptent beaucoup de choses qui ne le sont pas forcément, mais qui fonctionne… bref ! Nous voilà à Rome.
PS :
Je cherche aussi à associer 2 stratégies, pour donner un backtest global.
Même problème : si je mets “Exit at market”, il me clôture toutes les positions des 2 stratégies, alors que je voudrais qu’il ne clôture la position que d’une des deux stratégies à la fois.
Est-il possible sur PRT de combiner 2 backtests pour observer le drawdown, la performance, etc ?
Merci par avance pour ta réponse. 😉
PS : je précis que j’ai tenté ceci :
DEFPARAM CumulateOrders = true
n = 5
// Stratégie 1
conditions c1 & c2, etc.
IF strat1 <> 1 and c1 and c2 THEN
BUY n shares at market
strat1 = 1
ENDIF
IF strat1 = 1 and c3 THEN
SELL n shares at market
strat1 = 0
ENDIF
m = 2
conditions c1b & c2b, etc
IF strat2 <> 1 and c1 and c2 THEN
BUY m shares at market
strat2 = 1
ENDIF
if strat2 = 1 and c3b THEN
EXITSHORT m shares AT MARKET nextbaropen
strat2 = 0
ENDIF
Pourtant avec cette structure, je n’obtiens ni le résultat brut des 2 tests combinés, ni le nombre d’ordres par mois des 2 tests combinés ;
Bizarre, non ?