Bonjour la communauté,
j’ai récupéré sur le site Doctrading.fr une petite formule sympa:
P=21
N=26
EMA = ExponentialAverage[P](Close)
If EMA >= EMA[N] Then
Slope = (EMA - EMA[N])/EMA[N]
elsif EMA < EMA[N] Then
Slope = (EMA - EMA[N])/EMA
Endif
//actuellement j'utilise:
Slope > 0 //pour Bull
Slope < 0 // pour Bear
// J'ai de faux signaux car je n'ai pas d'indication sur si je suis "Bull" ou "Bear"
cela me permet de déjà fixer ma prise de position lorsque Slope est <> à 0
J’aimerai allé plus loin et me servir des Valeurs passées de “Slope” pour optimiser mes signaux d’achat ou de vente:
En effet, lorsque la valeur de “Slope” est croissante, je présume être “Bull” au contraire lorsque la valeur de “Slope est décroissante je présume etre “Bear”
Un petit coup de main pour pour la syntaxe du code serait bienvenu.
Merci la communauté
On peut vérifier si la valeur de Slope est croissante ou non sur les X dernières périodes :
X = 10 // quantite de période croissante
bull = summation[x](slope>0)=x
Merci Nicolas,
Ça fonctionne au poil!
Une Petite chose encore….:)
j’y je veux profiter de toute la pente…..<>0 ; comment dois m’y prendre?
Slts
Si tu es en position et que la pente s’inverse alors ferme la ?
Y a t’il un moyen de trouver le Plus Haut ou le Plus Bas de “Slope” sur les X dernières périodes?
Voir Screen ci-dessous, ou j’aimerai pouvoir prendre position avec le bot…:)
De cette manière en descendant de mon dernier plus > 0 vers un plus bas < 0 le pourrai déterminer une plage “Bear” plus longue ET dans l’autre sens une plage “Bull” plus longue également.
le Plus Haut ou le Plus Bas de “Slope” sur les X dernières périodes
Avec Highest et Lowest, exemple avec le plus haut :
x = 10
hh = highest[x](slope)
Ok, ça je comprend, mais cela ne me donne que le plus haut de “slope” sur les x dernière période.
Après, je sais pas si c’est possible, mais je voudrai définir de début de la partie Bear depuis le plus haut ( prendre position “short” quelque chandelle plus loin) jusqu’au plus bas, c’est à dire lorsque la valeur de slope remonte, et avoir une période bull qui démarre à ce moment (et prendre position quelque chandelle après) jusqu’au prochain plus haut…
En tout cas merci pour l’aide….
je suis pas loin de pouvoir je pense apporter ma part de contribution à la bibliothèque de stratégie.
à te lire…
Bjr Nicolas,
X = 10 // quantite de période croissante
bull = summation[x](slope>0)=x
la formule fonctionne bien, mais lorsque je graph, j’obtient l’équivalant de la valeur 1 lorsque > 0 et 0 lorsque <0
ne serait il pas possible d’avoir une formule type “Avancement décroissant ou décroissant (FOR, DOWNTO, DO, NEXT)”
Je me suis penché un peu sur la doc PDF, mais sincèrement c’est du chinois pour le débutant que je suis…
Slt
Essayons ceci : (X étant la quantité de chandeliers depuis le début du changement de slope pour prendre position, à l’achat ou à VAD).
P=21
N=26
EMA = ExponentialAverage[P](Close)
If EMA >= EMA[N] Then
Slope = (EMA - EMA[N])/EMA[N]
elsif EMA < EMA[N] Then
Slope = (EMA - EMA[N])/EMA
Endif
//actuellement j'utilise:
Slope > 0 //pour Bull
Slope < 0 // pour Bear
if slope<>slope[1] then
start = barindex
if slope>0 then
direction = 1
else
direction = -1
endif
endif
X = 3 //3 barres après le début de la nouvelle tendance on prendra l'ordre
if not onmarket and barindex-start >=X then
if direction = 1 then
buy at market
else
sellshort at market
endif
endif
//sorties de positions
if longonmarket and direction<0 then
sell at market
endif
if shortonmarket and direction>0 then
exitshort at market
endif
Slt Nicolas,
je viens de faire un test (code ci-dessous):
P=21
Np=26
x=3 //3 barres après le début de la nouvelle tendance on prendra l'ordre
EMA = ExponentialAverage[P](Close)
If EMA >= EMA[Np] Then
Slope = (EMA - EMA[Np])/EMA[Np]
elsif EMA < EMA[Np] Then
Slope = (EMA - EMA[Np])/EMA
Endif
if slope<>slope[1] then
start = barindex
if slope>0 then
direction = 1
else
direction = -1
endif
endif
//************************************************************************
//Gestion des Profits
levier = 1
capital = 250 + strategyprofit
n = (capital / 1000) * levier
//************************************************************************
//Position acheteuse
BuyConditionA = (Close > Pivot and Close > MMA100 and Close > MMA300 and Close > MMA600)
BuyConditionB = MyRSI < 38.2
if not onmarket and barindex-start >=x then
if direction = 1 then
if buyconditionA and BuyConditionB and not daysForbiddenEntry then
buy n share at market
else
sellshort at market
endif
endif
endif
//sorties de positions
if longonmarket and direction<0 then
sell at market
endif
//Position Vendeuse
SellConditionA = (Close < Pivot and Close < MMA100 and Close < MMA300 and Close < MMA600)
SellConditionB = MyRSI > 61.8
If not onmarket and barindex-start >=x then
if direction = -1 then
if SellConditionA and SellconditionB and not daysForbiddenEntry then
sellshort n share at market
else
exitshort at market
endif
endif
endif
//sorties de positions
if shortonmarket and direction>0 then
exitshort at market
endif
J’ai “0” resultat!!!
je dois avoir une erreur de code quelque part….
Ci-dessous le code qui me donne de bon resultat:
P=21
Np=26
x=11 // quantite de période croissante/Décroissante
EMA = ExponentialAverage[P](Close)
If EMA >= EMA[Np] Then
Slope = (EMA - EMA[Np])/EMA[Np]
elsif EMA < EMA[Np] Then
Slope = (EMA - EMA[Np])/EMA
Endif
bull = summation[x](slope > -0.0004) = x
Bear = summation[x](slope < 0.0004) = x
//************************************************************************
//Gestion des Profits
levier = 1
capital = 250 + strategyprofit
n = (capital / 1000) * levier
//************************************************************************
//Position acheteuse
BuyConditionA = (Close > Pivot and Close > MMA100 and Close > MMA300 and Close > MMA600)
BuyConditionB = Bull
BuyConditionC = MyRSI < 38.2
if buyconditionA and BuyConditionB and BuyConditionC and not daysForbiddenEntry then
buy n share at market
endif
//Position Vendeuse
SellConditionA = (Close < Pivot and Close < MMA100 and Close < MMA300 and Close < MMA600)
SellConditionB = Bear
SellConditionC = MyRSI > 61.8
if SellConditionA and SellconditionB and SellConditionC and not daysForbiddenEntry then
sellshort n share at market
endif
Merci pour ton aide en tout cas!
Slt Nicolas,
y aurait il par hasard un truc qui cloche dans le code?
Ou un problème de syntaxe?
Merci de ton retour
Slts
ZigoParticipant
Master
Un autre Approche (Scalping 1 min)
ZigoParticipant
Master
Je vois que le graphique n’est pas publier.