STC Indicator – de trading view
Forums › ProRealTime forum Français › Support ProBuilder › STC Indicator – de trading view
- This topic has 4 replies, 2 voices, and was last updated 1 year ago by
Nicolas.
-
-
03/26/2023 at 8:32 AM #212122
Bonjour, j’essaye de convertir un code trading view :
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748//@version=5//[SHK] STC colored indicator//https://www.tradingview.com/u/shayankm/indicator(title='[SHK] Schaff Trend Cycle (STC)', shorttitle='STC', overlay=false)EEEEEE = input(12, 'Length')BBBB = input(26, 'FastLength')BBBBB = input(50, 'SlowLength')AAAA(BBB, BBBB, BBBBB) =>fastMA = ta.ema(BBB, BBBB)slowMA = ta.ema(BBB, BBBBB)AAAA = fastMA - slowMAAAAAAAAAA(EEEEEE, BBBB, BBBBB) =>AAA = input(0.5)var CCCCC = 0.0var DDD = 0.0var DDDDDD = 0.0var EEEEE = 0.0BBBBBB = AAAA(close, BBBB, BBBBB)CCC = ta.lowest(BBBBBB, EEEEEE)CCCC = ta.highest(BBBBBB, EEEEEE) - CCCCCCCC := CCCC > 0 ? (BBBBBB - CCC) / CCCC * 100 : nz(CCCCC[1])DDD := na(DDD[1]) ? CCCCC : DDD[1] + AAA * (CCCCC - DDD[1])DDDD = ta.lowest(DDD, EEEEEE)DDDDD = ta.highest(DDD, EEEEEE) - DDDDDDDDDD := DDDDD > 0 ? (DDD - DDDD) / DDDDD * 100 : nz(DDDDDD[1])EEEEE := na(EEEEE[1]) ? DDDDDD : EEEEE[1] + AAA * (DDDDDD - EEEEE[1])EEEEEmAAAAA = AAAAA(EEEEEE, BBBB, BBBBB)mColor = mAAAAA > mAAAAA[1] ? color.new(color.green, 20) : color.new(color.red, 20)if mAAAAA[3] <= mAAAAA[2] and mAAAAA[2] > mAAAAA[1] and mAAAAA > 75alert("Red", alert.freq_once_per_bar)if mAAAAA[3] >= mAAAAA[2] and mAAAAA[2] < mAAAAA[1] and mAAAAA < 25alert("Green", alert.freq_once_per_bar)plot(mAAAAA, color=mColor, title='STC', linewidth=2)ul = plot(25, color=color.new(color.gray, 70))ll = plot(75, color=color.new(color.gray, 70))fill(ul, ll, color=color.new(color.gray, 96))Pour la 2eme fonction j’ai :
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748// function_SchaffTrendCycle// InputsLength = 12FastLength = 26SlowLength = 50// Schaff Trend Cycle calculationAAA = 0.5MACDD = CALL "function_MACD_Difference"[FastLength, SlowLength]CCC = Lowest[Length](MACDD)CCCC = Highest[Length](MACDD) - CCCCCCCC = 0IF CCCC > 0 THENCCCCC = (MACDD - CCC) / CCCC * 100ELSif CCCCC[1] = undefined thenCCCCC = 0elseCCCCC =CCCCC[1]ENDIFDDD = 0IF DDD[1] = 0 THENDDD = AAA * CCCCCELSEDDD = DDD[1] + AAA * (CCCCC - DDD[1])ENDIFDDDD = Lowest[Length](DDD)DDDDD = Highest[Length](DDD) - DDDDDDDDDD = 0IF DDDDD > 0 THENDDDDDD = (DDD - DDDD) / DDDDD * 100elsif DDDDDD[1]= undefined thenDDDDDD = 0ELSEDDDDDD = DDDDDD[1]ENDIFEEEEE = 0IF EEEEE[1] = 0 THENEEEEE = AAA * DDDDDDELSEEEEEE = EEEEE[1] + AAA * (DDDDDD - EEEEE[1])ENDIFRETURN EEEEEJe pense qu’il y a un problème au niveau des fonctions undefined, (nz) sur le pine script) , je ne sais pas comment faire, des idées ?
03/26/2023 at 7:26 PM #212162Bonjour besoin d’aide pour convertir ce code, les “nz” me poses vraiment des problèmes !
//@version=5
//[SHK] STC colored indicator
//https://www.tradingview.com/u/shayankm/indicator(title='[SHK] Schaff Trend Cycle (STC)’, shorttitle=’STC’, overlay=false)
EEEEEE = input(12, ‘Length’)
BBBB = input(26, ‘FastLength’)
BBBBB = input(50, ‘SlowLength’)AAAA(BBB, BBBB, BBBBB) =>
fastMA = ta.ema(BBB, BBBB)
slowMA = ta.ema(BBB, BBBBB)
AAAA = fastMA – slowMA
AAAAAAAAA(EEEEEE, BBBB, BBBBB) =>
AAA = input(0.5)
var CCCCC = 0.0
var DDD = 0.0
var DDDDDD = 0.0
var EEEEE = 0.0
BBBBBB = AAAA(close, BBBB, BBBBB)
CCC = ta.lowest(BBBBBB, EEEEEE)
CCCC = ta.highest(BBBBBB, EEEEEE) – CCC
CCCCC := CCCC > 0 ? (BBBBBB – CCC) / CCCC * 100 : nz(CCCCC[1])
DDD := na(DDD[1]) ? CCCCC : DDD[1] + AAA * (CCCCC – DDD[1])
DDDD = ta.lowest(DDD, EEEEEE)
DDDDD = ta.highest(DDD, EEEEEE) – DDDD
DDDDDD := DDDDD > 0 ? (DDD – DDDD) / DDDDD * 100 : nz(DDDDDD[1])
EEEEE := na(EEEEE[1]) ? DDDDDD : EEEEE[1] + AAA * (DDDDDD – EEEEE[1])
EEEEEmAAAAA = AAAAA(EEEEEE, BBBB, BBBBB)
mColor = mAAAAA > mAAAAA[1] ? color.new(color.green, 20) : color.new(color.red, 20)if mAAAAA[3] <= mAAAAA[2] and mAAAAA[2] > mAAAAA[1] and mAAAAA > 75
alert(“Red”, alert.freq_once_per_bar)
if mAAAAA[3] >= mAAAAA[2] and mAAAAA[2] < mAAAAA[1] and mAAAAA < 25
alert(“Green”, alert.freq_once_per_bar)plot(mAAAAA, color=mColor, title=’STC’, linewidth=2)
ul = plot(25, color=color.new(color.gray, 70))
ll = plot(75, color=color.new(color.gray, 70))
fill(ul, ll, color=color.new(color.gray, 96))03/27/2023 at 10:05 AM #212178Il n’y a pas d’équivalent “NZ” chez nous, c’est utile pour vérifier si une valeur est nulle ou non. Souvent, c’est un excés de zèle dans les codes TV, car pas forcément utile. Cependant, on peut le coder comme ceci en langage ProRealTime:
12345if var = 0 then//NZelse//PAS NZendifPar ailleurs, tu utilises mal UNDEFINED, qui n’a rien à avoir avec le NZ de TV. Il est utile uniquement pour mettre à null une variable (une seule fois seulement), pour qu’elle ne soit pas égale à 0 dés le départ, puisqu’on ne déclare pas les variables en ProBuilder.
Si tu cherches, le Schaff Trend Cycle, il est déjà présent ici:
https://www.prorealcode.com/prorealtime-indicators/schaff-trend-cycle2/
et là
https://www.prorealcode.com/prorealtime-indicators/schaff-trend-cycle/
03/30/2023 at 10:51 PM #21258603/31/2023 at 9:12 AM #212593 -
AuthorPosts
Find exclusive trading pro-tools on