Bougies stochastiques
Forums › ProRealTime forum Français › Support ProBuilder › Bougies stochastiques
- This topic has 13 replies, 3 voices, and was last updated 8 years ago by Nicolas.
-
-
10/25/2016 at 2:36 PM #15484
Bonjour à tous,
A partir d’un indicateur stochastique est-il possible de normaliser le dit indicateur sur une échelle de 0 à 100 sous forme de bougies conventionnelles ?
A remplacer donc le graphisme de l’oscillateur par des bougies qui puisse nous permettre d’interpréter à la fois les bougies (harami, etoiles etc )
et leur position dans l’oscillateur( en bas ,au milieu, en haut ).
Libre à chacun après d’utiliser des heikin ashi ou autres types de figures…
12345678910111213// STOCHASTIQUE bougiesplusHaut = HIGHEST[p](HIGH)plusBas = LOWEST[p](LOW)OSC = 100 * ( customclose - plusbas ) / ( plushaut - plusbas )DRAWCANDLE (Open[0],High[0],Low[0], Close[0])RETURN OSC as " OSC ", 0 as " zero " ,20 as " 20 " , 50 as " 50 ",80 as " 80 " , 100 as " 100 "// variables// p = 24 entier par défaut10/25/2016 at 3:25 PM #15492On peut tout normaliser en effet, il suffit d’abord de définir l’échelle et dans ton cas, tu souhaiterai qu’elle soit réalisé à partir des derniers plus hauts (pour le 100%) et des derniers plus bas (pour le 0%) si je ne me trompe pas, ça rejoint en effet la stochastique, on peut aussi appeler ça un ‘percentile rank’, soit un classement en pourcentage.
Une fois que tu as calculé ton échelle dynamique, tu peux donc calculer où se situe les OHLC de chaque bougie vis à vis de cette échelle, ici je ferai la différence en chaque valeur et le floor de cette échelle (le dernier plus bas sur X périodes):
12345678910111213141516171819202122232425262728293031//PRC_CandlesticksStochastic | indicator//25.10.2016//Nicolas @ www.prorealcode.com//Sharing ProRealTime knowledgeperiod = 50//lastest highhest high and lowest low over "period"hh = highest[period](high)ll = lowest[period](low)scale = hh-ll//dynamic OHLC (percentile rank)dynO = ((open-ll)/scale)*100dynH = ((high-ll)/scale)*100dynL = ((low-ll)/scale)*100dynC = ((close-ll)/scale)*100//candle colorif open>close thenr = 255g = 0elser = 0g = 255endif//draw candlesticksDRAWCANDLE(dynO,dynH,dynL,dynC) coloured(r,g,0)return 20 as "20% level", 50 as "50% level", 80 as "80% level"J’ai ajouté les niveaux 20, 50 et 80%. On peut en effet bien s’amuser avec la nouvelle instruction DRAWCANDLE 🙂
10/25/2016 at 4:26 PM #15500Campéon !!
Un grand merci Nicolas pour ce retour en espérant qu’il profitera au plus grand nombre, c’est exactement ce que je souhaitais, en effet on peut s’amuser avec drawcandle , on peut même rajouter bordercolor et placer des niveaux de surachat / survente à sa guise et mettre period en variable.
merci encore pour l’efficacité et le rapidité.
10/25/2016 at 4:37 PM #15507Je viens de l’ajouter à la Library : normalisation de chandeliers japonais
Tu peux aussi changer les niveaux avec ceux de Fibonacci éventuellement. La détection des points hauts et bas pourraient être elle aussi issue d’un autre calcul.. Bref, toute une vie ne serait pas suffisante pour tout tester 🙂
10/26/2016 at 11:01 AM #15544Bonjour à tous
Sur le même principe que les ” candles stochastic ” j’ai reproduit ci-dessous le code pour faire ressortir des bougies sous forme de heikin ashi mais malheureusement rien ne s’affiche
si ce n’est les lignes horizontales, quelqu’un voit il où est le bug ?
merci de votre aide.
123456789101112131415161718192021222324252627282930313233// HAS PRC .......... HEINKIN ASHI STOCHASTIQUE PRC 26.10.2016//Nicolas @ www.prorealcode.com //Sharing ProRealTime knowledgeHAClose=totalpriceHAOpen=(HAOpen[1]+HAClose[1])/2HAHigh=Max(high,HAOpen)HALow=Min(low,HAOpen)//////////////////////////////////////////////////////////////////////lastest highhest high and lowest low over "period"hh = highest[period](high)ll = lowest[period](low)scale = hh-ll//dynamic OHLC (percentile rank)dynO = ((HAClose)/scale)*100dynH = ((HAOpen)/scale)*100dynL = ((HAHigh)/scale)*100dynC = ((HALow)/scale)*100//candle colorif HAOpen>HAClose thenr = 0g = 255elser = 255g = 0endif//draw candlesticksDRAWCANDLE(dynO,dynH,dynL,dynC) coloured(g,r,0) bordercolor (255,255,255)return 20 as "20% level", 50 as "50% level", 80 as "80% level"// Variables :// period = 2610/26/2016 at 11:53 AM #15546Le code de base était pourtant commenté 🙂
Ok, donc pour calculer la ligne 5, il faut déjà qu’il existe un HAclose en n-1 de calculé et dés le début ça n’est pas possible, donc il faut tester auparavant si on a au moins une barre de l’historique déjà lu ou non (voir code corrigé).
Ensuite, tu as mal recopié le calcul dynamique des bougies quand tu as voulu faire l’Heikin Ashi. Ci-joint correction ci-dessous:
123456789101112131415161718192021222324252627282930313233343536// HAS PRC .......... HEINKIN ASHI STOCHASTIQUE PRC 26.10.2016//Nicolas @ www.prorealcode.com //Sharing ProRealTime knowledge// Variables :period = 26HAClose=totalpriceif barindex>1 thenHAOpen=(HAOpen[1]+HAClose[1])/2elseHAOpen = totalpriceendifHAHigh=Max(high,HAOpen)HALow=Min(low,HAOpen)//////////////////////////////////////////////////////////////////////lastest highhest high and lowest low over "period"hh = highest[period](high)ll = lowest[period](low)scale = hh-ll//dynamic OHLC (percentile rank)dynO = ((HAClose-ll)/scale)*100dynH = ((HAOpen-ll)/scale)*100dynL = ((HAHigh-ll)/scale)*100dynC = ((HALow-ll)/scale)*100//candle colorif HAOpen>HAClose thenr = 0g = 255elser = 255g = 0endif//draw candlesticksDRAWCANDLE(dynO,dynH,dynL,dynC) coloured(g,r,0) bordercolor (255,255,255)return 20 as "20% level", 50 as "50% level", 80 as "80% level"10/26/2016 at 12:29 PM #1555410/26/2016 at 2:06 PM #1555810/27/2016 at 10:40 AM #1561710/27/2016 at 10:54 AM #1562110/27/2016 at 11:11 AM #1562310/27/2016 at 11:42 AM #15625Je ne suis pas utilisateur de la 10.3 beta pour vérifier le drawcandle, donc je ne peux pas tester ces lignes, mais en théorie si je ne me trompe pas dans le Heikin Ashi, j’aurais mis en lignes 12 et 13:
12HAHigh=Max(high,Max(HAOpen, HAclose))HALow=Min(low,Min(HAOpen, HAclose))D’autre part, en lisant le reste (car un bug peut en cacher un autre), on dirait que les lignes 20 à 23 sont décalées d’un cran et qu’en les redéfinissant ainsi, c’est surtout cette partie là qui fera apparaître les mèches basses:
1234dynO = ((HAOpen-ll)/scale)*100dynH = ((HAHigh-ll)/scale)*100dynL = ((HALow-ll)/scale)*100dynC = ((HAClose-ll)/scale)*10010/27/2016 at 12:43 PM #15633Voici le code modifié par Noobywan et le graphe de Air Liquide avec les niveaux de Fibonacci
1234567891011121314151617181920212223242526272829303132333435// HAS PRC FIBO V1 .......... HEINKIN ASHI STOCHASTIQUE PRC FIBO V1 27.10.2016//Nicolas @ www.prorealcode.com //Sharing ProRealTime knowledge modifié NOOBYWANHAClose=totalpriceif barindex>1 thenHAOpen=(HAOpen[1]+HAClose[1])/2elseHAOpen = totalpriceendifHAHigh=Max(high,Max(HAOpen, HAclose))HALow=Min(low,Min(HAOpen, HAclose))//////////////////////////////////////////////////////////////////////lastest highhest high and lowest low over "period"hh = highest[period](high)ll = lowest[period](low)scale = hh-lldynO = ((HAOpen-ll)/scale)*100dynH = ((HAHigh-ll)/scale)*100dynL = ((HALow-ll)/scale)*100dynC = ((HAClose-ll)/scale)*100//candle colorif HAOpen>HAClose thenr = 0g = 255elser = 255g = 0endif//draw candlesticksDRAWCANDLE(dynO,dynH,dynL,dynC) coloured(g,r,0) bordercolor (255,255,255)return 0 as " 0 " ,23.6 as "23.6 % level",38.2 as " 38.2 ", 50 as "50% level", 61.8 as " 61.8 " ,100 as " 100 "// Variables :// period = 2611/07/2016 at 12:38 PM #16074Faire ses bougies soit même avec DRAWCANDLE, c’est le sujet de ma dernière vidéo sur la programmation prorealtime : construire ses chandeliers japonais
-
AuthorPosts
Find exclusive trading pro-tools on