Bonjour,
D’une manière générale, je m’interroge sur la façon dont démarrent les systèmes de trading une fois lancés dans ProOrder : quelle est la valeur des variables au démarrage ?
J’ai un système sur le DAX qui utilise la valeur de clôture à 17h35 (les CFD cotant 24/24, je dois récupérer la clôture de la bougie de 17h35). Si je lance mon système un soir à 20h, quelle sera la première valeur de ma variable cloture que va lui attribuer ProOrder?
Est-ce zéro ou PRT remonte dans le temps pour affecter la bonne valeur ?
Je pensais que c’était zéro. Je cherche donc à faire démarrer mon système à J+1 pour être certain que les cours seront passés par 17h35. Pour cela, je souhaitais forcer ma variable une fois à 0 avec ONCE et contrôler que cloture est différent de 0 pour prendre ma position, m’assurant ainsi que les cours étaient bien passés une fois par 17h35.
Et bien :
- d’une part mon ONCE ne fonctionne pas,
- d’autre part PRT semble me récupérer le cours de la veille alors que l’historique affiché démarre un matin ?
Quelqu’un peut m’éclairer svp ?
PS : Preloadbars peut-il m’aider ? Comme je ne vois pas sont fonctionnement en backtest je n’ose pas l’utiliser.
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
DEFPARAM Flatafter = 173000
//DEFPARAM Preloadbars = 600
// J'initialise cloture à 0 une fois
ONCE cloture = 0
// Je récupère ouverture et cloture
IF TIME = 090000 THEN
ouverture = close
ENDIF
IF TIME = 173500 THEN
cloture = close
ENDIF
// Mes conditions d'ouverture de position
C1 = (TIME = 090000)
C2 = ouverture < cloture
C3 = cloture <> 0
// Ma boucle de prise de position
IF c1 AND c2 AND c3 THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
Merci
Ok, donc finalement je n’ai pas besoin de me casser la tête à démarrer en J+1.
Merci @Nicolas