Bonjour à tous,
j’aurais besoin d’un petit coup de main, j’essaye de programmer un système mais celui-ci ne prend pas position, pouvez-vous m’aider ?
DEFPARAM CumulateOrders = false // pas de cumul de positions
DEFPARAM Preloadbars = 10000
Timeframe (5minute)
EMA200M5 = Average[200,1](close)
EMA100M5 = Average[100,1](close)
Ema50M5 = Average[50,1](close)
Ema20M5 = Average[20,1](close)
StochUpM5 = stochastic [11,5]<20 and (close crosses over stochasticd[11,5,3])
StochdownM5 = stochastic [11,5]>80 and (close crosses under stochasticd[11,5,3])
Up5 = Ema20M5>Ema50M5 and EMA50M5>EMA100M5 AND EMA100M5>EMA200M5 and (close > ExponentialAverage[20]) and StochUpM5
Down5 = Ema20M5<Ema50M5 and EMA50M5<EMA100M5 AND EMA100M5<EMA200M5 and (close < ExponentialAverage[20]) and StochdownM5
TIMEFRAME(15minutes)
EMA200M15 = Average[200,1](close)
EMA100M15 = Average[100,1](close)
Ema50M15 = Average[50,1](close)
Ema20M15 = Average[20,1](close)
Up15 = Ema20M15>Ema50M15 and EMA50M15>EMA100M15 AND EMA100M15>EMA200M15
Down15 = Ema20M15<Ema50M15 and EMA50M15<EMA100M15 AND EMA100M15<EMA200M15
TrendUp = UP5 and Up15
TrendDown = Down5 and down15
// Conditions pour ouvrir une position acheteuse
IF NOT LongOnMarket AND TrendUp THEN
BUY 1 CONTRACTS AT MARKET
ENDIF
// Conditions pour ouvrir une position en vente à découvert
IF NOT ShortOnMarket AND Trenddown THEN
SELLSHORT 1 CONTRACTS AT MARKET
ENDIF
// Stops et objectifs : entrez vos stops et vos objectifs ici
SET STOP pLOSS 10
SET TARGET pPROFIT 20
Il doit y avoir une de tes conditions qui n’est pas remplit. Toujours tester ses variables quand quelquechose ne fonctionne pas:
GRAPH UP5
graph Up15
GRAPH Down5
GRAPH down15
Je ne comprends pas trop dsl
Je l’utilise en screener et ça marche super mais pas habitué au système proorder.
Comment dois-je utiliser ce que tu m’as indiqué ?
Merci d’avance
Ces instructions te permettent de visualiser les valeurs booléennes de tes conditions lors du backtest, ajoute les simplement à la fin de ton code.
Par ailleurs, tu utilises les informations intrabar dans tes 2 timeframes, je ne sais pas si cela est voulu ? voir l’utilisation de UPDATEONCLOSE dans ce sujet: Première approche sur le multi timeframe avec ProRealTime
Le prix (CLOSE) ne peut pas franchir une ligne stochastique (ils sont sur des échelles différentes) :
(close crosses over stochasticd[11,5,3])
(close crosses under stochasticd[11,5,3])
ainsi ils seront toujours FAUX. Puisqu’elles sont liées à d’autres conditions avec AND, toutes les conditions seront toujours fausses et aucune transaction ne sera ouverte.
Merci pour ton aide.
Cependant, je n’ai toujours pas de prise de position même en enlevant le timeframe M15, as-tu le même résultat que moi, cette stratégie n’est pourtant pas compliquée.
Ça doit être tout bête mais je sèche la.
Bonjour,
L’erreur se trouve dans “(close crosses over stochasticd[11,5,3])”.
stochasticd est un oscillateur dont la valeur varie entre 0 et 100.
Je ne sais pas sur quel instrument tu utilises ce code, mais si c’est un indice (le DAX par exemple), la condition sera vraie lorsque le prix à la clôture de bougie (15200 pour le DAX par exemple) devient plus haut que le stochastique, alors qu’il était plus bas à la bougie précédente, ce qui n’est jamais le cas (la valeur du DAX n’est jamais en-dessous de 100). Ceci explique l’absence de prise de position.
Oupsss, oui je comprends merci beaucoup de votre aide effectivement ça ne peut pas marcher.
Je ne sais pas sur quel instrument tu utilises ce code, mais si c’est un indice (le DAX par exemple), la condition sera vraie lorsque le prix à la clôture de bougie (15200 pour le DAX par exemple) devient plus haut que le stochastique, alors qu’il était plus bas à la bougie précédente, ce qui n’est jamais le cas (la valeur du DAX n’est jamais en-dessous de 100). Ceci explique l’absence de prise de position.
La condition ne sera JAMAIS vraie, car pour qu’il y ait un croisement à la hausse, le prix doit D’ABORD avoir été INFÉRIEUR.