Oui j’ai bien compris, mais puisque les ordres sont des ordres conditionnels LIMIT en dessous du prix du marché pour un achat et au dessus pour une vente, on ne va pas attendre mille ans que l’ordre se déclenche ? 🙂
Les ordres conditionnels expirent à chaque nouvelle barre sous proorder, donc il faut pour cela induire le fait que le code doit repositionner ces ordres constamment. Donc durant combien de temps, depuis le signal, les ordres conditionnels doivent ils être repositionnés ?
Pour être encore plus précis il peut très bien y avoir 5/6 points barres rouges avant que la condition sous la MM7 de 1.5pt soit là. Si cette condition est remplie déclenchement du trading et prise de position ou pas si l’autre condition est remplie – 1pt. L’inverse bien sur pour le vert.
Merci
Si cela vous semble impossible abandonnez l’idée. Le dommage c’est que cela change les résultats
Bon et bien comme je n’arrive pas à obtenir l’information, j’ai introduit la variable “BarsExpiration” à la ligne 11, celle-ci est à renseigner pour donner le nombre de bars maximum à attendre depuis le signal pour ouvrir la position (10 par défaut). L’ajout de seuil de perte journalier a été ajouté, le paramètre à renseigner est à la ligne 10 : “MaxDailyLoss”, il s’exprime en monnaie comme pour le seuil de gain quotidien.
// https://www.prorealcode.com/topic/formule-pour-les-ordres/
// 13.01.2017 - ajout seuil de perte journalier + Expiration après X bars (BarsExpiration)
defparam cumulateorders = false
defparam flatafter = 173000
// ---parameters
MaxDailyProfit=300 //Max daily profit allowed (in money)
MaxDailyLoss=100 //Max daily loss allowed (in money)
BarsExpiration=10 //Max bars expiration après signal
once TradeAllowed=1
If intradaybarindex=0 then
MyProfit=STRATEGYPROFIT
TradeAllowed=1
endif
// test if the strategyprofit of the day is currently above the daily profit allowed of below the daily loss allowed
If StrategyProfit>=MyProfit+MaxDailyProfit or Strategyprofit<=MyProfit-MaxDailyLoss then
TradeAllowed=0
endif
mymacd = macd[20,66,9]
avg = average[7](close)
tcondition = time>=100000 and time<153000
green = mymacd>mymacd[1] and mymacd[1]<mymacd[2]
red = mymacd<mymacd[1] and mymacd[1]>mymacd[2]
if green and not green[1] then
savedbargreen = barindex
endif
if red and not red[1] then
savedbarred = barindex
endif
// case LONG
if TradeAllowed then
if not longonmarket and barindex<savedbargreen+BarsExpiration and tcondition and green and close>=avg+1.5*pointsize then
buy 1 share at close-1*pointsize limit
endif
if not shortonmarket and barindex<savedbarred+BarsExpiration and tcondition and red and close<=avg-1.5*pointsize then
sellshort 1 share at close+1*pointsize limit
endif
endif
if longonmarket and red and positionperf>0 then
sell at market
endif
if shortonmarket and green and positionperf>0 then
exitshort at market
endif
set target pprofit 10
set stop ploss 8
Je reviens vers vous car je vous ai répondu mais peut être mal ou pas clairement.
Par contre si je vous ai bien compris, le code que vous m’avez complété achètera dans le rouge ou le vert si mes conditions sont respectées jusqu’à 10 barres. Si je modifie à 12 ou plus je pense que c’est possible. Il me suffit de changer le nombre je suppose.
Je vérifierai lundi en réel mais je suis pratiquement sür que vous avez répondu parfaitement à ma demande. Pour l’heure je vais regarder sur Probacktest.
Par contre chez PRT je ne vais pas manquer de leur dire qu’heureusement il y a des gens comme vous. Quand vous pensez qu’il y a plus de 2 mois qu’ils laissent trainer sans donner de réponses, ce n’est pas sérieux.
Gratitude à vous et je reste en contact.
Cordialement
Nicolas bonjour,
je reviens vers vous car j’ai testé avec Probacktest et il n’y a pas de modification avec le BarsExpiration.
Hier par exemple le chandelier de 12h40 clôture à 4903.1pts et la MM7 est à 4905.8. Je suis sur le 3ème ligne point rouge.
Sur le 4ème ligne point rouge normalement il y aurait dû y avoir un déclenchement du trading auto, puisque -de 1.5pt de la MM7.
Ensuite une ouverture de position à la vente puisque le chandelier de 12h50 remonte à 4906.1pt. Mais rien!
Vous allez me dire heureusement car la position est perdante!
Comment déclencher cette prise de position puisque le barsexpiration ne fonctionne pas?
Pas de problème pour la limite de point.
Il faut lire limite de gain
En fait je dois être troublé, c’est perte dans la journée qu’il faut lire et qui est ok
Bonjour Nicolas
Il y a quelques semaines vous m’avez très gentiment écrit un code que je n’arrivaiq pas à obtenir avec Prorealtime. Comme indiqué précédemment votre modification sur le nombre de barre index n’a rien changé pour l’achat et la vente. Dernièrement j’ai été hospitalisé plusieurs jours et n’ai pu reprendre contact avec vous. Dans quelques jours je reviendrai vers vous pour voir si nous pouvons légèrement améliorer le code.
Encore merci pour votre générosité envers les autres.