Bonjour,
Je suis nouveau sur prorealtime. Serait-il possible d’avoir le code des Trendrisk bands (ou equivalent) disponibles sur le soft de tradeinterceptor afin de pouvoir les utiliser dans PRT? La seule reference que je puisse trouver en ligne est http://fxcodebase.com/code/viewtopic.php?f=17&t=61007
D’avance merci
Bien sûr, il suffit de poster à la suite le code original de l’indicateur et quelques images pour référence, en pièces jointes svp. Merci.
Bonjour et merci pour votre reponse rapide.
Je n’ai malheureusement pas la formule. L’allure des bandes superieures et inferieures fait penser au comportement du RSI (en partie).
Ce qui rend le graphique lisible est la coloration des candles lorsqu’un scenario se realise (croisement d’une bande) jusqu’a ce qu’un autre scenario se realise (croisement d’une bande oppose). Cela pourrait s’appliquer a n’importe quel channel.
La difficulte que je n’arrive pas a surmonter est donc comment coder la coloration des candles pour qu’elles restent colorees jusqu’a ce que le scenario inverse se realise.
Par ailleurs, l’indicateur donne la possibilite d’etablir une sorte de “confirmation” en donnant l’option de renseigner le nombre de candles consecutives closing (pour PRT un customclose serait parfait) au-dela de la bande (1, 2, 3, etc…)
Voila donc ma requete qui je vous l’accorde n’est pas tres riche puisque ne disposant pas de la formule mathematique!
Cordialement
J’ai trouvé l’indicateur au format MT4 dans le lien que tu as donné, ça devrait me suffire à le convertir en langage ProBuilder. Ci-dessous un exemple, faut-il que les bandes s’appliquent sur le graphique du prix ou on fait comme dans l’exemple en construisant des bougies pour pouvoir afficher l’indicateur sous le graphique du prix ? (pas plus dur ou compliqué, pas de soucis).
Merci pour l’image.
Ce que je cherche a obtenir c’est colorer les candles tant que le scenario inverse n’est pas realise. Pas juste dessus dessous… Dans l’exemple, admettons que l’instrument passe au dessus de la bande sup, scenario haussier > candle verte par exemple, reste verte lorsque le prix re-penetre a l’interieur du channel, et ne change de couleur qu’apres avoir crossed under la bande inferieure.
Dans l’image que j’ai envoyee, le marche est haussier, un seul cross under rend les candle blanche (trend neutre), ensuite 2 cross under consecutifs confirment la tendance baissiere > candle rouge…
N’hesitez pas a me dire si je ne suis pas clair 🙂
Bien a vous
Très bien donc c’est différent de la version originale de l’indicateur dans ce cas ? Je viens de le convertir, voir image ci-joint. Je vais le poster dans la bibliothèque de codes et ensuite je le modifierai pour qu’il soit adapté à ta vision. Merci donc de bien vouloir me confirmer une version différente de l’indicateur original, merci.
L’indicateur est disponible ici:
Trend Risk Bands indicator
Mille mercis Nicolas.
Oui effectivement, ce que je recherchais c’est que la coloration continue tant que le scenario oppose n’est pas realise. Donc une petite difference avec le code fourni. (j’ai essaye en affectant une valeur +1, 0 et -1 a une valeur intermediaire dans une autre boucle “if” mais je ne n’y arrive pas au but. Cela etant je ne suis pas tres doue donc pas une reference!)
Scenario haussier:
- Crossover bande sup > coloration haussiere (verte par exemple)
- Crossunder bande sup > coloration reste haussiere
- Crossunder bande inf > coloration change pour prendre coloration baissiere (rouge par exemple)
La coloration a l’interieur du channel depend donc du dernier signal, pas simplement du fait d’etre dessus ou dessous… En d’autres termes, la coloration peut etre differente a l’interieur du channel selon la nature du dernier signal.
Encore merci pour votre disponibilite.
Cdlt
Ok, donc comme dans l’exemple ci-joint ?
Très bien, alors voilà le code modifié, il suffit de supprimer tout ce qui concerne les conditions pour “peindre” les chandeliers en gris dans ce cas.
//PRC_Trend Risk indicator | indicator
//29.05.2017
//Nicolas @ www.prorealcode.com
//Sharing ProRealTime knowledge
//translated from MT4 code
// --- settings
//BandsBars=28
//Deviation=3.5
// --- end of settings
once SmoothPrice=close
once SmoothRange=range
if barindex>1 then
SmoothPrice=(SmoothPrice[1]*(BandsBars-1)+Close)/BandsBars
SmoothRange=(SmoothRange[1]*(BandsBars-1)+High-Low)/BandsBars
Top=SmoothPrice+SmoothRange*Deviation
Bottom=SmoothPrice-SmoothRange*Deviation
endif
T=1
D=1
//N=1
if (Close< Top) then
T=0
endif
if (Close> Bottom ) then
D=0
endif
//if ( Close < Bottom or Close> Top ) then
//N=0
//endif
if (T= 1) then
r=0
g=255
b=0
endif
if (D= 1) then
r=255
g=0
b=0
endif
//if (N= 1) then
//r=150
//g=150
//b=150
//endif
DRAWCANDLE(open,high,low,close)coloured(r,g,b)
RETURN Top as "Top channel", Bottom as "Bottom channel"
Ah oui, je vois, je cherchais trop complique en fait!
Merci beaucoup.
Bonjour Nicolas et al.
J’essaie de coder la fermeture d’une position sous condition qu’elle genere du profit…
Voici ou j’en suis (un des nombreux essais…) mais lorsque je backteste les positions sont toutes fermees, sans prendre en compte le MinProfitLevel… Ou est mon erreur?
Vos commentaires sont les bienvenus. Merci!
// Definition of code parameters
// Definition of Order Cumulating strategy True or False
DEFPARAM CumulateOrders = False
// Definition of Variables
// Definition of MinProfit
MinProfit = 5
// Conditions to enter long positions
indicator1
c1 = (indicator1 CROSSES OVER 0)
IF c1 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Reset MinProfitLevel when out of market
IF NOT ONMARKET THEN
MinProfitLevel=0
ENDIF
//Calculate MinProfitLevel when in market
IF LONGONMARKET THEN
MinProfitLevel = tradeprice + MinProfit*pipsize
ENDIF
// Conditions to exit long positions
indicator2 =
c2 = (indicator2 CROSSES UNDER 0)
IF c2 AND MinProfitLevel > 0 THEN
SELL AT MARKET
ENDIF
MinProfitLevel sera toujours supérieur à 0, puisque tu le définit en additionnant le prix d’ouverture de ton ordre et 5 points, donc il est logique que le système ferme très rapidement. Tu devrais utiliser POSITIONPERF (exprimé en pourcentage), comme évoqué dans un autre sujet ensemble.
Merci Nicolas. Oui effectivement, a force de changer des trucs je me suis melange les pinceaux. Merci pour la reponse rapide comme a ton habitude! 🙂
Je ne connais pas POSITIONPERF. Aurais-tu la gentillesse de me donner un exemple rapide de la syntaxe?
A tres bientot/