Bonjour,
J’ai un problème :
Je souhaite que le programme s’arrête si le cours de clôture d’une bougie à 1 seconde est plus grand que 12624.50 et que dans les prochaine 20 barres (d’une seconde) il n’y a ait pas de trade qui se soit engagé.
Si le cours est égal ou dépasse 12626, alors je souhaite vendre au marché et ensuite le programme doit s’arrêter si le trade se clôture selon le TP ou selon le SL.
Voici ci-dessous ce que j’ai programmé :
DEFPARAM CumulateOrders = False
DEFPARAM FLATBEFORE = 091500
DEFPARAM FLATAFTER = 171500
If Close > 12624.5 Then
abc = BarIndex
Endif
If BarIndex > abc + 20 And Not OnMarket Then
Quit
Endif
If High >= 12626 Then
SELLSHORT 1 Lots At Market
Endif
SET STOP $LOSS 20
SET TARGET $PROFIT 10
If StrategyProfit <> 0 Then
Quit
Endif
Ce programme tourne sur le DAX à 1 seconde et dans la Période de la simulation, j’ai mis comme Date de début : 19 juin à 10:59:00.
Ci-joint un print-screen qui montre l’arrêt du programme à 10:58:59.
Quelqu’un pourrait me dire :
1/ Pourquoi le programme s’arrête à 10:58:59.
2/ Ou mieux encore, m’écrire le programme 🙂 !
Merci beaucoup d’avance !
Car au début BARINDEX> 20 à cause des barres préchargées alors que ABC=0 et vous n’êtes pas sur le marché.
Bonjour Roberto,
Merci pour votre réponse… mais malheureusement je ne la comprends pas :-(.
Pourriez-vous être plus clair, ou mieux encore m’écrire le bout de programme 🙂 ?
Pas maintenant parce que je ne suis pas devant le PC, je le ferai demain matin, si personne d’autre n’y a pensé.
À la ligne 4, vous devez mettre
defparam preloadbars=0
car ProOrder charge, par défaut, 2000 barres, donc lorsque vous lancez la stratégie, BARINDEX démarre déjà à partir de cette valeur.
En le mettant à zéro, vous résolvez le problème.
Merci Roberto, vous m’avez donné la solution à mon problème 🙂
Bonne journée, Claudio