Bonjour à tous,
J’aimerais un coup de main pour coder ma stratégie.
je souhaite que mes positions s’ouvrent à l’achat comme à la vente au changement de couleur du heiken ashi cloturé,
le stop serait placé en points,
le TP serait a nouveau sur le changement de couleur du heiken ashi clôturé,
la taille de la position serait un pourcentage de perte du capital,
les heures de trading seraient de 9h à 17,30h avec clôture de toutes le positions à 17h30
voila je pense que tout y est ^^
Merci pour les liens, je suis arrivé à faire ça:
//Horaires
//No positions open before this time
defparam flatbefore = 090000
//All positions will be closed after this time
defparam flatafter = 173000
// Conditions pour ouvrir une position acheteuse
DEFPARAM CumulateOrders = false
//Heikin-Ashi
xClose = (Open+High+Low+Close)/4
if(barindex>2) then
xOpen = (xOpen[1] + xClose[1])/2
endif
changeToGreencandle = xClose>xOpen AND xClose[1]<xOpen[1]
ChangeToRedcandle = xClose<xOpen AND xClose[1]>xOpen[1]
if changeToGreencandle then
buy PositionSize contract at market
endif
if ChangeToRedcandle then
sellshort PositionSize contract at market
endif
set stop loss 5
set target profit ChangeToRedcandle
// Money Management
Capital = 10000
Risk = 0.01
StopLoss = 5 // Could be our variable X
// Calculate contracts
equity = Capital + StrategyProfit
maxrisk = round(equity*Risk)
PositionSize = abs(round((maxrisk/StopLoss)/PointValue)*pipsize)
Je ne sais pas comment faire pour fermer les positions acheteuses sur le HA rouge suivant et vice versa pour les positions vendeuses. (la ligne 29 n’est pas bonne)
La partie sur le money management devrait être positionnée en haut du code, puisque le programme est lu de haut en bas.
Je n’ai pas compris la partie sur le take profit ? Il faut clôturer l’ordre après une barre depuis son ouverture ?
Bonjour,
J’ai réalisé qu’il fallait 2 codes un pour l’achat et l’autre pour la vente sinon les ordres se coupent, j’ai essayé un truc pour couper les positions sachant que je n’y connait rien en code… bon ça à l’air de fonctionner en Backtest.
//Horaires
//Pas de position avant
defparam flatbefore = 090000
//Toutes les position ferment avant
defparam flatafter = 173000
// Conditions pour ouvrir une position
DEFPARAM CumulateOrders = true
//Heikin-Ashi
once haclose=close
once haopen=close
haclose=(open+close+low+high)/4
haopen=(haopen[1]+haclose[1])/2
if haclose>haopen and haclose[1]<haopen[1] then
BUY PositionSize SHARE AT MARKET
endif
//condition pour fermer une position acheteuse
if haclose<haopen and haclose[1]>haopen[1] then
sell at market
endif
set target profit 30
//if haclose<haopen and haclose[1]>haopen[1] then
//SELLSHORT 1 SHARE AT MARKET
//endif
//condition pour racheter une position vendeuse
//if haclose>haopen and haclose[1]<haopen[1] then
//buy at market
//endif
set stop loss 10
// Money Management
Capital = 10000
Risk = 0.007
StopLoss = 10 // Could be our variable X
REM Calculate contracts
equity = Capital + StrategyProfit
maxrisk = round(equity*Risk)
PositionSize = abs(round((maxrisk/StopLoss)/PointValue)*pipsize)
Quand je change de place le money management j’ai une erreur de syntaxe sur defparam
En effet, les instructions de type “defparam” doivent toujours être en tête du programme, c’est obligatoire.