Gronk-Style Lunar Cycle Projection (fixed 30m base)Based on the lunar cycle timing provided by Gronko Polo - A Bromance in Finance
Penunjuk dan strategi
FVG & SMA @danciFVG zones with 200 SMA & daily dividers for intraday analysis, customizable and clear.
Spiderlines BTCUSD - daily/weekly📘 Documentation – Daily and Weekly Spider Lines for Bitcoin
🔹 Purpose of the Script
This script draws dynamic “Spider Lines” in the Bitcoin chart.
The lines connect certain historical candles with a reference candle and extend to the right.
These act as guideline levels that can serve as potential support or resistance zones.
🔹 How It Works
The script operates in two modes, depending on the active chart timeframe:
Weekly Mode (timeframe.isweekly)
The reference date is July 1, 2019.
The number of weeks since that date is calculated.
This defines the connection candle (connection_candle).
Several predefined offsets (e.g., +32, +34, +36 …) are added to the reference to determine starting candles.
Lines are drawn from these candles toward the connection candle.
→ Line color: green
Daily Mode (timeframe.isdaily)
Same reference date: July 1, 2019.
The number of days since that date is calculated.
Again, a connection candle is set.
A different set of offsets (e.g., +224, +238, +252 …) defines the starting candles.
Lines are drawn accordingly.
→ Line color: red
🔹 Line Logic
Each line connects:
Start → bar_index at high
End → bar_index at close
Lines are extended indefinitely to the right (extend.right).
Appearance: dashed style, width 2.
🔹 Error Handling
If a calculated candle index does not exist in the chart history (e.g., chart data does not go back far enough),
a label is plotted in the chart showing the message:
"Daily idx out of range: 252"
This way, missing lines can be diagnosed easily.
🔹 Color Convention
Weekly Spider Lines → Green
Daily Spider Lines → Red
🔹 Use Cases
Visualization of historical cyclic line patterns.
Helps in technical chart analysis: spotting potential reaction zones in price movement.
Designed mainly for long-term traders and analysts observing Bitcoin in Daily or Weekly timeframes.
🔹 Limitations
Works only on Daily and Weekly charts.
Requires chart data going back to July 1, 2019.
Based purely on fixed offsets → not a classical indicator like Moving Averages or RSI.
Engulfing Candles Tarama// This Pine Scriptâ„¢ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © dipavcisi0007
//@version=5
indicator('Engulfing Candles Tarama', overlay=true)
longer = ta.sma(close, 50)
short = ta.sma(close, 20)
length1 = input(14)
price = close
length = input.int(20, minval=1)
ad = close == high and close == low or high == low ? 0 : (close - open) / (high - low) * volume
//ad = close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume
mf = math.sum(ad, length) / math.sum(volume, length)
crsis = mf
openBarCurrent1 = open
closeBarCurrent1 = close
highBarCurrent1 = high
lowBarCurrent1 = low
volumeBarCurrent1 = volume
topvolumeBarCurrent1 = math.sum(volume , 50) / 50
BarOran1 = (closeBarCurrent1 - openBarCurrent1) / (highBarCurrent1 - lowBarCurrent1)
//BarOran1=(2*closeBarCurrent1-lowBarCurrent1-highBarCurrent1)/(highBarCurrent1-lowBarCurrent1)
openBarCurrent2 = open
closeBarCurrent2 = close
highBarCurrent2 = high
lowBarCurrent2 = low
volumeBarCurrent2 = volume
topvolumeBarCurrent2 = math.sum(volume , 50) / 50
BarOran2 = (closeBarCurrent2 - openBarCurrent2) / (highBarCurrent2 - lowBarCurrent2)
//BarOran2=(2*closeBarCurrent2-lowBarCurrent2-highBarCurrent2)/(highBarCurrent2-lowBarCurrent2)
openBarCurrent3 = open
closeBarCurrent3 = close
highBarCurrent3 = high
lowBarCurrent3 = low
volumeBarCurrent3 = volume
topvolumeBarCurrent3 = math.sum(volume , 50) / 50
BarOran3 = (closeBarCurrent3 - openBarCurrent3) / (highBarCurrent3 - lowBarCurrent3)
//BarOran3=(2*closeBarCurrent3-lowBarCurrent3-highBarCurrent3)/(highBarCurrent3-lowBarCurrent3)
cmi = 0.15
oran = 0.90
katsayi = 1.05
stoporan = 1
length2 = input(14)
price1 = close
vrsi = ta.rsi(price1, length2)
//If current bar open is less than equal to the previous bar close AND current bar open is less than previous bar open AND current bar close is greater than previous bar open THEN True
bullishEngulfing1 = BarOran1 > oran and BarOran1 * volumeBarCurrent1 > topvolumeBarCurrent1 * katsayi and crsis > cmi and close > highBarCurrent1
//If current bar open is greater than equal to previous bar close AND current bar open is greater than previous bar open AND current bar close is less than previous bar open THEN True
bullishEngulfing2 = BarOran2 > oran and BarOran2 * volumeBarCurrent2 > topvolumeBarCurrent2 * katsayi and crsis > cmi and close > highBarCurrent2
//If current bar open is greater than equal to previous bar close AND current bar open is greater than previous bar open AND current bar close is less than previous bar open THEN True
bullishEngulfing3 = BarOran3 > oran and BarOran3 * volumeBarCurrent3 > topvolumeBarCurrent3 * katsayi and crsis > cmi and close > highBarCurrent3
var K1 = 0.0
res = input.timeframe(title='Time Frame', defval='D')
if bullishEngulfing1
K1 := lowBarCurrent1
else if bullishEngulfing2
K1 := lowBarCurrent2
else if bullishEngulfing3
K1 := lowBarCurrent3
plot(K1, linewidth=2, color=color.new(color.purple, 0), title='TSL')
//bullishEngulfing/bearishEngulfing return a value of 1 or 0; if 1 then plot on chart, if 0 then don't plot
plotshape(bullishEngulfing1 or bullishEngulfing2 or bullishEngulfing3, style=shape.triangleup, location=location.belowbar, color=color.new(#43A047, 0), size=size.tiny)
////////////////////////
grupSec = input.string(defval='1', options= , group='Taraması yapılacak 40\'arlı gruplardan birini seçin', title='Grup seç')
per = input.timeframe(defval='', title='PERİYOT',group = "Tarama yapmak istediğiniz periyotu seçin")
func() =>
cond = bullishEngulfing1 or bullishEngulfing2 or bullishEngulfing3
//GRUP VE TARANACAK HİSSE SAYISINI AYNI ÅEKİLDE DİLEDİÄİNİZ GİBİ ARTIRABİLİRSİNİZ.
a01 = grupSec == '1' ? 'BIST:A1CAP' : grupSec == '2' ? 'BIST:ANSGR' : grupSec == '3' ? 'BIST:BEYAZ' : grupSec == '4' ? 'BIST:CEMZY' : grupSec == '5' ? 'BIST:DURKN' : grupSec == '6' ? 'BIST:EUYO' : grupSec == '7' ? 'BIST:HALKB' : grupSec == '8' ? 'BIST:ISGYO' : grupSec == '9' ? 'BIST:KOPOL' : grupSec == '10' ? 'BIST:MARKA' : grupSec == '11' ? 'BIST:ONCSM' : grupSec == '12' ? 'BIST:POLTK' : grupSec == '13' ? 'BIST:SISE' : grupSec == '14' ? 'BIST:TOASO' : grupSec == '15' ? 'BIST:YBTAS' : na
a02 = grupSec == '1' ? 'BIST:ACSEL' : grupSec == '2' ? 'BIST:ARASE' : grupSec == '3' ? 'BIST:BFREN' : grupSec == '4' ? 'BIST:CEOEM' : grupSec == '5' ? 'BIST:DYOBY' : grupSec == '6' ? 'BIST:EYGYO' : grupSec == '7' ? 'BIST:HATEK' : grupSec == '8' ? 'BIST:ISKPL' : grupSec == '9' ? 'BIST:KORDS' : grupSec == '10' ? 'BIST:MARTI' : grupSec == '11' ? 'BIST:ONRYT' : grupSec == '12' ? 'BIST:PRDGS' : grupSec == '13' ? 'BIST:SKBNK' : grupSec == '14' ? 'BIST:TRCAS' : grupSec == '15' ? 'BIST:YEOTK' : na
a03 = grupSec == '1' ? 'BIST:ADEL' : grupSec == '2' ? 'BIST:ARCLK' : grupSec == '3' ? 'BIST:BIENY' : grupSec == '4' ? 'BIST:CIMSA' : grupSec == '5' ? 'BIST:DZGYO' : grupSec == '6' ? 'BIST:FADE' : grupSec == '7' ? 'BIST:HATSN' : grupSec == '8' ? 'BIST:ISKUR' : grupSec == '9' ? 'BIST:KOTON' : grupSec == '10' ? 'BIST:MAVI' : grupSec == '11' ? 'BIST:ORCAY' : grupSec == '12' ? 'BIST:PRKAB' : grupSec == '13' ? 'BIST:SKTAS' : grupSec == '14' ? 'BIST:TRGYO' : grupSec == '15' ? 'BIST:YESIL' : na
a04 = grupSec == '1' ? 'BIST:ADESE' : grupSec == '2' ? 'BIST:ARDYZ' : grupSec == '3' ? 'BIST:BIGCH' : grupSec == '4' ? 'BIST:CLEBI' : grupSec == '5' ? 'BIST:EBEBK' : grupSec == '6' ? 'BIST:FENER' : grupSec == '7' ? 'BIST:HDFGS' : grupSec == '8' ? 'BIST:ISMEN' : grupSec == '9' ? 'BIST:KOZAA' : grupSec == '10' ? 'BIST:MEDTR' : grupSec == '11' ? 'BIST:ORGE' : grupSec == '12' ? 'BIST:PRKME' : grupSec == '13' ? 'BIST:SKYLP' : grupSec == '14' ? 'BIST:TRILC' : grupSec == '15' ? 'BIST:YGGYO' : na
a05 = grupSec == '1' ? 'BIST:ADGYO' : grupSec == '2' ? 'BIST:ARENA' : grupSec == '3' ? 'BIST:BIMAS' : grupSec == '4' ? 'BIST:CMBTN' : grupSec == '5' ? 'BIST:ECILC' : grupSec == '6' ? 'BIST:FLAP' : grupSec == '7' ? 'BIST:HEDEF' : grupSec == '8' ? 'BIST:ISSEN' : grupSec == '9' ? 'BIST:KOZAL' : grupSec == '10' ? 'BIST:MEGAP' : grupSec == '11' ? 'BIST:ORMA' : grupSec == '12' ? 'BIST:PRZMA' : grupSec == '13' ? 'BIST:SKYMD' : grupSec == '14' ? 'BIST:TSGYO' : grupSec == '15' ? 'BIST:YGYO' : na
a06 = grupSec == '1' ? 'BIST:AEFES' : grupSec == '2' ? 'BIST:ARSAN' : grupSec == '3' ? 'BIST:BINBN' : grupSec == '4' ? 'BIST:CMENT' : grupSec == '5' ? 'BIST:ECZYT' : grupSec == '6' ? 'BIST:FMIZP' : grupSec == '7' ? 'BIST:HEKTS' : grupSec == '8' ? 'BIST:ISYAT' : grupSec == '9' ? 'BIST:KRDMA' : grupSec == '10' ? 'BIST:MEGMT' : grupSec == '11' ? 'BIST:OSMEN' : grupSec == '12' ? 'BIST:PSDTC' : grupSec == '13' ? 'BIST:SMART' : grupSec == '14' ? 'BIST:TSKB' : grupSec == '15' ? 'BIST:YIGIT' : na
a07 = grupSec == '1' ? 'BIST:AFYON' : grupSec == '2' ? 'BIST:ARTMS' : grupSec == '3' ? 'BIST:BINHO' : grupSec == '4' ? 'BIST:CONSE' : grupSec == '5' ? 'BIST:EDATA' : grupSec == '6' ? 'BIST:FONET' : grupSec == '7' ? 'BIST:HKTM' : grupSec == '8' ? 'BIST:IZENR' : grupSec == '9' ? 'BIST:KRDMB' : grupSec == '10' ? 'BIST:MEKAG' : grupSec == '11' ? 'BIST:OSTIM' : grupSec == '12' ? 'BIST:PSGYO' : grupSec == '13' ? 'BIST:SMRTG' : grupSec == '14' ? 'BIST:TSPOR' : grupSec == '15' ? 'BIST:YKBNK' : na
a08 = grupSec == '1' ? 'BIST:AGESA' : grupSec == '2' ? 'BIST:ARZUM' : grupSec == '3' ? 'BIST:BIOEN' : grupSec == '4' ? 'BIST:COSMO' : grupSec == '5' ? 'BIST:EDIP' : grupSec == '6' ? 'BIST:FORMT' : grupSec == '7' ? 'BIST:HLGYO' : grupSec == '8' ? 'BIST:IZFAS' : grupSec == '9' ? 'BIST:KRDMD' : grupSec == '10' ? 'BIST:MEPET' : grupSec == '11' ? 'BIST:OTKAR' : grupSec == '12' ? 'BIST:QNBFK' : grupSec == '13' ? 'BIST:SNGYO' : grupSec == '14' ? 'BIST:TTKOM' : grupSec == '15' ? 'BIST:YKSLN' : na
a09 = grupSec == '1' ? 'BIST:AGHOL' : grupSec == '2' ? 'BIST:ASELS' : grupSec == '3' ? 'BIST:BIZIM' : grupSec == '4' ? 'BIST:CRDFA' : grupSec == '5' ? 'BIST:EFORC' : grupSec == '6' ? 'BIST:FORTE' : grupSec == '7' ? 'BIST:HOROZ' : grupSec == '8' ? 'BIST:IZINV' : grupSec == '9' ? 'BIST:KRGYO' : grupSec == '10' ? 'BIST:MERCN' : grupSec == '11' ? 'BIST:OTTO' : grupSec == '12' ? 'BIST:QNBTR' : grupSec == '13' ? 'BIST:SNICA' : grupSec == '14' ? 'BIST:TTRAK' : grupSec == '15' ? 'BIST:YONGA' : na
a10 = grupSec == '1' ? 'BIST:AGROT' : grupSec == '2' ? 'BIST:ASGYO' : grupSec == '3' ? 'BIST:BJKAS' : grupSec == '4' ? 'BIST:CRFSA' : grupSec == '5' ? 'BIST:EGEEN' : grupSec == '6' ? 'BIST:FRIGO' : grupSec == '7' ? 'BIST:HRKET' : grupSec == '8' ? 'BIST:IZMDC' : grupSec == '9' ? 'BIST:KRONT' : grupSec == '10' ? 'BIST:MERIT' : grupSec == '11' ? 'BIST:OYAKC' : grupSec == '12' ? 'BIST:QUAGR' : grupSec == '13' ? 'BIST:SNKRN' : grupSec == '14' ? 'BIST:TUCLK' : grupSec == '15' ? 'BIST:YUNSA' : na
a11 = grupSec == '1' ? 'BIST:AGYO' : grupSec == '2' ? 'BIST:ASTOR' : grupSec == '3' ? 'BIST:BLCYT' : grupSec == '4' ? 'BIST:CUSAN' : grupSec == '5' ? 'BIST:EGEPO' : grupSec == '6' ? 'BIST:FROTO' : grupSec == '7' ? 'BIST:HTTBT' : grupSec == '8' ? 'BIST:JANTS' : grupSec == '9' ? 'BIST:KRPLS' : grupSec == '10' ? 'BIST:MERKO' : grupSec == '11' ? 'BIST:OYAYO' : grupSec == '12' ? 'BIST:RALYH' : grupSec == '13' ? 'BIST:SNPAM' : grupSec == '14' ? 'BIST:TUKAS' : grupSec == '15' ? 'BIST:YYAPI' : na
a12 = grupSec == '1' ? 'BIST:AHGAZ' : grupSec == '2' ? 'BIST:ASUZU' : grupSec == '3' ? 'BIST:BMSCH' : grupSec == '4' ? 'BIST:CVKMD' : grupSec == '5' ? 'BIST:EGGUB' : grupSec == '6' ? 'BIST:FZLGY' : grupSec == '7' ? 'BIST:HUBVC' : grupSec == '8' ? 'BIST:KAPLM' : grupSec == '9' ? 'BIST:KRSTL' : grupSec == '10' ? 'BIST:METRO' : grupSec == '11' ? 'BIST:OYLUM' : grupSec == '12' ? 'BIST:RAYSG' : grupSec == '13' ? 'BIST:SODSN' : grupSec == '14' ? 'BIST:TUPRS' : grupSec == '15' ? 'BIST:YYLGD' : na
a13 = grupSec == '1' ? 'BIST:AHSGY' : grupSec == '2' ? 'BIST:ATAGY' : grupSec == '3' ? 'BIST:BMSTL' : grupSec == '4' ? 'BIST:CWENE' : grupSec == '5' ? 'BIST:EGPRO' : grupSec == '6' ? 'BIST:GARAN' : grupSec == '7' ? 'BIST:HUNER' : grupSec == '8' ? 'BIST:KAREL' : grupSec == '9' ? 'BIST:KRTEK' : grupSec == '10' ? 'BIST:METUR' : grupSec == '11' ? 'BIST:OYYAT' : grupSec == '12' ? 'BIST:REEDR' : grupSec == '13' ? 'BIST:SOKE' : grupSec == '14' ? 'BIST:TUREX' : grupSec == '15' ? 'BIST:ZEDUR' : na
a14 = grupSec == '1' ? 'BIST:AKBNK' : grupSec == '2' ? 'BIST:ATAKP' : grupSec == '3' ? 'BIST:BNTAS' : grupSec == '4' ? 'BIST:DAGHL' : grupSec == '5' ? 'BIST:EGSER' : grupSec == '6' ? 'BIST:GARFA' : grupSec == '7' ? 'BIST:HURGZ' : grupSec == '8' ? 'BIST:KARSN' : grupSec == '9' ? 'BIST:KRVGD' : grupSec == '10' ? 'BIST:MGROS' : grupSec == '11' ? 'BIST:OZATD' : grupSec == '12' ? 'BIST:RGYAS' : grupSec == '13' ? 'BIST:SOKM' : grupSec == '14' ? 'BIST:TURGG' : grupSec == '15' ? 'BIST:ZOREN' : na
a15 = grupSec == '1' ? 'BIST:AKCNS' : grupSec == '2' ? 'BIST:ATATP' : grupSec == '3' ? 'BIST:BOBET' : grupSec == '4' ? 'BIST:DAGI' : grupSec == '5' ? 'BIST:EKGYO' : grupSec == '6' ? 'BIST:GEDIK' : grupSec == '7' ? 'BIST:ICBCT' : grupSec == '8' ? 'BIST:KARTN' : grupSec == '9' ? 'BIST:KSTUR' : grupSec == '10' ? 'BIST:MHRGY' : grupSec == '11' ? 'BIST:OZGYO' : grupSec == '12' ? 'BIST:RNPOL' : grupSec == '13' ? 'BIST:SONME' : grupSec == '14' ? 'BIST:TURSG' : grupSec == '15' ? 'BIST:ZRGYO' : na
a16 = grupSec == '1' ? 'BIST:AKENR' : grupSec == '2' ? 'BIST:ATEKS' : grupSec == '3' ? 'BIST:BORLS' : grupSec == '4' ? 'BIST:DAPGM' : grupSec == '5' ? 'BIST:EKIZ' : grupSec == '6' ? 'BIST:GEDZA' : grupSec == '7' ? 'BIST:ICUGS' : grupSec == '8' ? 'BIST:KARYE' : grupSec == '9' ? 'BIST:KTLEV' : grupSec == '10' ? 'BIST:MIATK' : grupSec == '11' ? 'BIST:OZKGY' : grupSec == '12' ? 'BIST:RODRG' : grupSec == '13' ? 'BIST:SRVGY' : grupSec == '14' ? 'BIST:UFUK' : grupSec == '15' ? 'BIST:AKFIS' :na
a17 = grupSec == '1' ? 'BIST:AKFGY' : grupSec == '2' ? 'BIST:ATLAS' : grupSec == '3' ? 'BIST:BORSK' : grupSec == '4' ? 'BIST:DARDL' : grupSec == '5' ? 'BIST:EKOS' : grupSec == '6' ? 'BIST:GENIL' : grupSec == '7' ? 'BIST:IDGYO' : grupSec == '8' ? 'BIST:KATMR' : grupSec == '9' ? 'BIST:KTSKR' : grupSec == '10' ? 'BIST:MMCAS' : grupSec == '11' ? 'BIST:OZRDN' : grupSec == '12' ? 'BIST:ROYAL' : grupSec == '13' ? 'BIST:SUMAS' : grupSec == '14' ? 'BIST:ULAS' : grupSec == '15' ? 'BIST:ARMGD': na
a18 = grupSec == '1' ? 'BIST:AKFYE' : grupSec == '2' ? 'BIST:ATSYH' : grupSec == '3' ? 'BIST:BOSSA' : grupSec == '4' ? 'BIST:DCTTR' : grupSec == '5' ? 'BIST:EKSUN' : grupSec == '6' ? 'BIST:GENTS' : grupSec == '7' ? 'BIST:IEYHO' : grupSec == '8' ? 'BIST:KAYSE' : grupSec == '9' ? 'BIST:KUTPO' : grupSec == '10' ? 'BIST:MNDRS' : grupSec == '11' ? 'BIST:OZSUB' : grupSec == '12' ? 'BIST:RTALB' : grupSec == '13' ? 'BIST:SUNTK' : grupSec == '14' ? 'BIST:ULKER' : grupSec == '15' ? 'BIST:BALSU': na
a19 = grupSec == '1' ? 'BIST:AKGRT' : grupSec == '2' ? 'BIST:AVGYO' : grupSec == '3' ? 'BIST:BRISA' : grupSec == '4' ? 'BIST:DENGE' : grupSec == '5' ? 'BIST:ELITE' : grupSec == '6' ? 'BIST:GEREL' : grupSec == '7' ? 'BIST:IHAAS' : grupSec == '8' ? 'BIST:KBORU' : grupSec == '9' ? 'BIST:KUVVA' : grupSec == '10' ? 'BIST:MNDTR' : grupSec == '11' ? 'BIST:OZYSR' : grupSec == '12' ? 'BIST:RUBNS' : grupSec == '13' ? 'BIST:SURGY' : grupSec == '14' ? 'BIST:ULUFA' : grupSec == '15' ? 'BIST:BESLR':na
a20 = grupSec == '1' ? 'BIST:AKMGY' : grupSec == '2' ? 'BIST:AVHOL' : grupSec == '3' ? 'BIST:BRKO' : grupSec == '4' ? 'BIST:DERHL' : grupSec == '5' ? 'BIST:EMKEL' : grupSec == '6' ? 'BIST:GESAN' : grupSec == '7' ? 'BIST:IHEVA' : grupSec == '8' ? 'BIST:KCAER' : grupSec == '9' ? 'BIST:KUYAS' : grupSec == '10' ? 'BIST:MOBTL' : grupSec == '11' ? 'BIST:PAGYO' : grupSec == '12' ? 'BIST:RYGYO' : grupSec == '13' ? 'BIST:SUWEN' : grupSec == '14' ? 'BIST:ULUSE' : grupSec == '15' ? 'BIST:DSTKF': na
a21 = grupSec == '1' ? 'BIST:AKSA' : grupSec == '2' ? 'BIST:AVOD' : grupSec == '3' ? 'BIST:BRKSN' : grupSec == '4' ? 'BIST:DERIM' : grupSec == '5' ? 'BIST:EMNIS' : grupSec == '6' ? 'BIST:GIPTA' : grupSec == '7' ? 'BIST:IHGZT' : grupSec == '8' ? 'BIST:KCHOL' : grupSec == '9' ? 'BIST:KZBGY' : grupSec == '10' ? 'BIST:MOGAN' : grupSec == '11' ? 'BIST:PAMEL' : grupSec == '12' ? 'BIST:RYSAS' : grupSec == '13' ? 'BIST:TABGD' : grupSec == '14' ? 'BIST:ULUUN' : grupSec == '15' ? 'BIST:GLRMK': na
a22 = grupSec == '1' ? 'BIST:AKSEN' : grupSec == '2' ? 'BIST:AVPGY' : grupSec == '3' ? 'BIST:BRKVY' : grupSec == '4' ? 'BIST:DESA' : grupSec == '5' ? 'BIST:ENERY' : grupSec == '6' ? 'BIST:GLBMD' : grupSec == '7' ? 'BIST:IHLAS' : grupSec == '8' ? 'BIST:KENT' : grupSec == '9' ? 'BIST:KZGYO' : grupSec == '10' ? 'BIST:MPARK' : grupSec == '11' ? 'BIST:PAPIL' : grupSec == '12' ? 'BIST:SAFKR' : grupSec == '13' ? 'BIST:TARKM' : grupSec == '14' ? 'BIST:UMPAS' : grupSec == '15' ? 'BIST:KLYPV': na
a23 = grupSec == '1' ? 'BIST:AKSGY' : grupSec == '2' ? 'BIST:AVTUR' : grupSec == '3' ? 'BIST:BRLSM' : grupSec == '4' ? 'BIST:DESPC' : grupSec == '5' ? 'BIST:ENJSA' : grupSec == '6' ? 'BIST:GLCVY' : grupSec == '7' ? 'BIST:IHLGM' : grupSec == '8' ? 'BIST:KERVN' : grupSec == '9' ? 'BIST:LIDER' : grupSec == '10' ? 'BIST:MRGYO' : grupSec == '11' ? 'BIST:PARSN' : grupSec == '12' ? 'BIST:SAHOL' : grupSec == '13' ? 'BIST:TATEN' : grupSec == '14' ? 'BIST:UNLU' :grupSec == '15' ? 'BIST:MOPAS': na
a24 = grupSec == '1' ? 'BIST:AKSUE' : grupSec == '2' ? 'BIST:AYCES' : grupSec == '3' ? 'BIST:BRMEN' : grupSec == '4' ? 'BIST:DEVA' : grupSec == '5' ? 'BIST:ENKAI' : grupSec == '6' ? 'BIST:GLRYH' : grupSec == '7' ? 'BIST:IHYAY' : grupSec == '8' ? 'BIST:LIDFA' : grupSec == '10' ? 'BIST:MRSHL' : grupSec == '11' ? 'BIST:PASEU' : grupSec == '12' ? 'BIST:SAMAT' : grupSec == '13' ? 'BIST:TATGD' : grupSec == '14' ? 'BIST:USAK' : grupSec == '15' ? 'BIST:A1YEN': na
a25 = grupSec == '1' ? 'BIST:AKYHO' : grupSec == '2' ? 'BIST:AYDEM' : grupSec == '3' ? 'BIST:BRSAN' : grupSec == '4' ? 'BIST:DGATE' : grupSec == '5' ? 'BIST:ENSRI' : grupSec == '6' ? 'BIST:GLYHO' : grupSec == '7' ? 'BIST:IMASM' : grupSec == '8' ? 'BIST:KFEIN' : grupSec == '9' ? 'BIST:LILAK' : grupSec == '10' ? 'BIST:MSGYO' : grupSec == '11' ? 'BIST:PATEK' : grupSec == '12' ? 'BIST:SANEL' : grupSec == '13' ? 'BIST:TAVHL' : grupSec == '14' ? 'BIST:VAKBN' : grupSec == '15' ? 'BIST:BIGEN': na
a26 = grupSec == '1' ? 'BIST:ALARK' : grupSec == '2' ? 'BIST:AYEN' : grupSec == '3' ? 'BIST:BRYAT' : grupSec == '4' ? 'BIST:DGGYO' : grupSec == '5' ? 'BIST:ENTRA' : grupSec == '6' ? 'BIST:GMTAS' : grupSec == '7' ? 'BIST:INDES' : grupSec == '8' ? 'BIST:KGYO' : grupSec == '9' ? 'BIST:LINK' : grupSec == '10' ? 'BIST:MTRKS' : grupSec == '11' ? 'BIST:PCILT' : grupSec == '12' ? 'BIST:SANFM' : grupSec == '13' ? 'BIST:TBORG' : grupSec == '14' ? 'BIST:VAKFN' : grupSec == '15' ? 'BIST:BULGS': na
a27 = grupSec == '1' ? 'BIST:ALBRK' : grupSec == '2' ? 'BIST:AYES' : grupSec == '3' ? 'BIST:BSOKE' : grupSec == '4' ? 'BIST:DGNMO' : grupSec == '5' ? 'BIST:EPLAS' : grupSec == '6' ? 'BIST:GOKNR' : grupSec == '7' ? 'BIST:INFO' : grupSec == '8' ? 'BIST:KIMMR' : grupSec == '9' ? 'BIST:LKMNH' : grupSec == '10' ? 'BIST:MTRYO' : grupSec == '11' ? 'BIST:PEHOL' : grupSec == '12' ? 'BIST:SANKO' : grupSec == '13' ? 'BIST:TCELL' : grupSec == '14' ? 'BIST:VAKKO' : grupSec == '15' ? 'BIST:CGCAM': na
a28 = grupSec == '1' ? 'BIST:ALCAR' : grupSec == '2' ? 'BIST:AYGAZ' : grupSec == '3' ? 'BIST:BTCIM' : grupSec == '4' ? 'BIST:DIRIT' : grupSec == '5' ? 'BIST:ERBOS' : grupSec == '6' ? 'BIST:GOLTS' : grupSec == '7' ? 'BIST:INGRM' : grupSec == '8' ? 'BIST:KLGYO' : grupSec == '9' ? 'BIST:LMKDC' : grupSec == '10' ? 'BIST:MZHLD' : grupSec == '11' ? 'BIST:PEKGY' : grupSec == '12' ? 'BIST:SARKY' : grupSec == '13' ? 'BIST:TCKRC' : grupSec == '14' ? 'BIST:VANGD' : grupSec == '15' ? 'BIST:EGEGY': na
a29 = grupSec == '1' ? 'BIST:ALCTL' : grupSec == '2' ? 'BIST:AZTEK' : grupSec == '3' ? 'BIST:BUCIM' : grupSec == '4' ? 'BIST:DITAS' : grupSec == '5' ? 'BIST:ERCB' : grupSec == '6' ? 'BIST:GOODY' : grupSec == '7' ? 'BIST:INTEK' : grupSec == '8' ? 'BIST:KLKIM' : grupSec == '9' ? 'BIST:LOGO' : grupSec == '10' ? 'BIST:NATEN' : grupSec == '11' ? 'BIST:PENGD' : grupSec == '12' ? 'BIST:SASA' : grupSec == '13' ? 'BIST:TDGYO' : grupSec == '14' ? 'BIST:VBTYZ' : grupSec == '15' ? 'BIST:ENDAE':na
a30 = grupSec == '1' ? 'BIST:ALFAS' : grupSec == '2' ? 'BIST:BAGFS' : grupSec == '3' ? 'BIST:BURCE' : grupSec == '4' ? 'BIST:DMRGD' : grupSec == '5' ? 'BIST:EREGL' : grupSec == '6' ? 'BIST:GOZDE' : grupSec == '7' ? 'BIST:INTEM' : grupSec == '8' ? 'BIST:KLMSN' : grupSec == '9' ? 'BIST:LRSHO' : grupSec == '10' ? 'BIST:NETAS' : grupSec == '11' ? 'BIST:PENTA' : grupSec == '12' ? 'BIST:SAYAS' : grupSec == '13' ? 'BIST:TEKTU' : grupSec == '14' ? 'BIST:VERTU' : grupSec == '15' ? 'BIST:RUZYE': na
a31 = grupSec == '1' ? 'BIST:ALGYO' : grupSec == '2' ? 'BIST:BAHKM' : grupSec == '3' ? 'BIST:BURVA' : grupSec == '4' ? 'BIST:DMSAS' : grupSec == '5' ? 'BIST:ERSU' : grupSec == '6' ? 'BIST:GRNYO' : grupSec == '7' ? 'BIST:INVEO' : grupSec == '8' ? 'BIST:KLNMA' : grupSec == '9' ? 'BIST:LUKSK' : grupSec == '10' ? 'BIST:NIBAS' : grupSec == '11' ? 'BIST:PETKM' : grupSec == '12' ? 'BIST:SDTTR' : grupSec == '13' ? 'BIST:TERA' : grupSec == '14' ? 'BIST:VERUS' : grupSec == '15' ? 'BIST:SERNT': na
a32 = grupSec == '1' ? 'BIST:ALKA' : grupSec == '2' ? 'BIST:BAKAB' : grupSec == '3' ? 'BIST:BVSAN' : grupSec == '4' ? 'BIST:DNISI' : grupSec == '5' ? 'BIST:ESCAR' : grupSec == '6' ? 'BIST:GRSEL' : grupSec == '7' ? 'BIST:INVES' : grupSec == '8' ? 'BIST:KLRHO' : grupSec == '9' ? 'BIST:LYDHO' : grupSec == '10' ? 'BIST:NTGAZ' : grupSec == '11' ? 'BIST:PETUN' : grupSec == '12' ? 'BIST:SEGMN' : grupSec == '13' ? 'BIST:TEZOL' : grupSec == '14' ? 'BIST:VESBE' : grupSec == '15' ? 'BIST:SMRVA':na
a33 = grupSec == '1' ? 'BIST:ALKIM' : grupSec == '2' ? 'BIST:BALAT' : grupSec == '3' ? 'BIST:BYDNR' : grupSec == '4' ? 'BIST:DOAS' : grupSec == '5' ? 'BIST:ESCOM' : grupSec == '6' ? 'BIST:GRTHO' : grupSec == '7' ? 'BIST:IPEKE' : grupSec == '8' ? 'BIST:KLSER' : grupSec == '9' ? 'BIST:LYDYE' : grupSec == '10' ? 'BIST:NTHOL' : grupSec == '11' ? 'BIST:PGSUS' : grupSec == '12' ? 'BIST:SEGYO' : grupSec == '13' ? 'BIST:TGSAS' : grupSec == '14' ? 'BIST:VESTL' : grupSec == '15' ? 'BIST:VSNMD':na
a34 = grupSec == '1' ? 'BIST:ALKLC' : grupSec == '2' ? 'BIST:BANVT' : grupSec == '3' ? 'BIST:CANTE' : grupSec == '4' ? 'BIST:DOBUR' : grupSec == '5' ? 'BIST:ESEN' : grupSec == '6' ? 'BIST:GSDDE' : grupSec == '7' ? 'BIST:ISATR' : grupSec == '8' ? 'BIST:KLSYN' : grupSec == '9' ? 'BIST:MAALT' : grupSec == '10' ? 'BIST:NUGYO' : grupSec == '11' ? 'BIST:PINSU' : grupSec == '12' ? 'BIST:SEKFK' : grupSec == '13' ? 'BIST:THYAO' : grupSec == '14' ? 'BIST:VKFYO' : na
a35 = grupSec == '1' ? 'BIST:ALMAD' : grupSec == '2' ? 'BIST:BARMA' : grupSec == '3' ? 'BIST:CASA' : grupSec == '4' ? 'BIST:DOCO' : grupSec == '5' ? 'BIST:ETILR' : grupSec == '6' ? 'BIST:GSDHO' : grupSec == '7' ? 'BIST:ISBIR' : grupSec == '8' ? 'BIST:KMPUR' : grupSec == '9' ? 'BIST:MACKO' : grupSec == '10' ? 'BIST:NUHCM' : grupSec == '11' ? 'BIST:PKART' : grupSec == '12' ? 'BIST:SEKUR' : grupSec == '13' ? 'BIST:TKFEN' : grupSec == '14' ? 'BIST:VKGYO' : na
a36 = grupSec == '1' ? 'BIST:ALTNY' : grupSec == '2' ? 'BIST:BASCM' : grupSec == '3' ? 'BIST:CATES' : grupSec == '4' ? 'BIST:DOFER' : grupSec == '5' ? 'BIST:ETYAT' : grupSec == '6' ? 'BIST:GSRAY' : grupSec == '7' ? 'BIST:ISBTR' : grupSec == '8' ? 'BIST:KNFRT' : grupSec == '9' ? 'BIST:MAGEN' : grupSec == '10' ? 'BIST:OBAMS' : grupSec == '11' ? 'BIST:PKENT' : grupSec == '12' ? 'BIST:SELEC' : grupSec == '13' ? 'BIST:TKNSA' : grupSec == '14' ? 'BIST:VKING' : na
a37 = grupSec == '1' ? 'BIST:ALVES' : grupSec == '2' ? 'BIST:BASGZ' : grupSec == '3' ? 'BIST:CCOLA' : grupSec == '4' ? 'BIST:DOGUB' : grupSec == '5' ? 'BIST:EUHOL' : grupSec == '6' ? 'BIST:GUBRF' : grupSec == '7' ? 'BIST:ISCTR' : grupSec == '8' ? 'BIST:KOCMT' : grupSec == '9' ? 'BIST:MAKIM' : grupSec == '10' ? 'BIST:OBASE' : grupSec == '11' ? 'BIST:PLTUR' : grupSec == '12' ? 'BIST:SELGD' : grupSec == '13' ? 'BIST:TLMAN' : grupSec == '14' ? 'BIST:VRGYO' : na
a38 = grupSec == '1' ? 'BIST:ANELE' : grupSec == '2' ? 'BIST:BAYRK' : grupSec == '3' ? 'BIST:CELHA' : grupSec == '4' ? 'BIST:DOHOL' : grupSec == '5' ? 'BIST:EUKYO' : grupSec == '6' ? 'BIST:GUNDG' : grupSec == '7' ? 'BIST:ISDMR' : grupSec == '8' ? 'BIST:KONKA' : grupSec == '9' ? 'BIST:MAKTK' : grupSec == '10' ? 'BIST:ODAS' : grupSec == '11' ? 'BIST:PNLSN' : grupSec == '12' ? 'BIST:SELVA' : grupSec == '13' ? 'BIST:TMPOL' : grupSec == '14' ? 'BIST:YAPRK' : na
a39 = grupSec == '1' ? 'BIST:ANGEN' : grupSec == '2' ? 'BIST:BEGYO' : grupSec == '3' ? 'BIST:CEMAS' : grupSec == '4' ? 'BIST:DOKTA' : grupSec == '5' ? 'BIST:EUPWR' : grupSec == '6' ? 'BIST:GWIND' : grupSec == '7' ? 'BIST:ISFIN' : grupSec == '8' ? 'BIST:KONTR' : grupSec == '9' ? 'BIST:MANAS' : grupSec == '10' ? 'BIST:ODINE' : grupSec == '11' ? 'BIST:PNSUT' : grupSec == '12' ? 'BIST:SEYKM' : grupSec == '13' ? 'BIST:TMSN' : grupSec == '14' ? 'BIST:YATAS' : na
a40 = grupSec == '1' ? 'BIST:ANHYT' : grupSec == '2' ? 'BIST:BERA' : grupSec == '3' ? 'BIST:CEMTS' : grupSec == '4' ? 'BIST:DURDO' : grupSec == '5' ? 'BIST:EUREN' : grupSec == '6' ? 'BIST:GZNMI' : grupSec == '7' ? 'BIST:ISGSY' : grupSec == '8' ? 'BIST:KONYA' : grupSec == '9' ? 'BIST:MARBL' : grupSec == '10' ? 'BIST:OFSYM' : grupSec == '11' ? 'BIST:POLHO' : grupSec == '12' ? 'BIST:SILVR' : grupSec == '13' ? 'BIST:TNZTP' : grupSec == '14' ? 'BIST:YAYLA' : na
= request.security(a01, per, func())
= request.security(a02, per, func())
= request.security(a03, per, func())
= request.security(a04, per, func())
= request.security(a05, per, func())
= request.security(a06, per, func())
= request.security(a07, per, func())
= request.security(a08, per, func())
= request.security(a09, per, func())
= request.security(a10, per, func())
= request.security(a11, per, func())
= request.security(a12, per, func())
= request.security(a13, per, func())
= request.security(a14, per, func())
= request.security(a15, per, func())
= request.security(a16, per, func())
= request.security(a17, per, func())
= request.security(a18, per, func())
= request.security(a19, per, func())
= request.security(a20, per, func())
= request.security(a21, per, func())
= request.security(a22, per, func())
= request.security(a23, per, func())
= request.security(a24, per, func())
= request.security(a25, per, func())
= request.security(a26, per, func())
= request.security(a27, per, func())
= request.security(a28, per, func())
= request.security(a29, per, func())
= request.security(a30, per, func())
= request.security(a31, per, func())
= request.security(a32, per, func())
= request.security(a33, per, func())
= request.security(a34, per, func())
= request.security(a35, per, func())
= request.security(a36, per, func())
= request.security(a37, per, func())
= request.security(a38, per, func())
= request.security(a39, per, func())
= request.security(a40, per, func())
roundn(x, n) =>
mult = 1
if n != 0
for i = 1 to math.abs(n) by 1
mult *= 10
mult
n >= 0 ? math.round(x * mult) / mult : math.round(x / mult) * mult
scr_label = 'TARAMA '
scr_label := s1 ? scr_label + syminfo.ticker(a01) + ' ' + str.tostring(roundn(v1, 2)) + ' ' : scr_label
scr_label := s2 ? scr_label + syminfo.ticker(a02) + ' ' + str.tostring(roundn(v2, 2)) + ' ' : scr_label
scr_label := s3 ? scr_label + syminfo.ticker(a03) + ' ' + str.tostring(roundn(v3, 2)) + ' ' : scr_label
scr_label := s4 ? scr_label + syminfo.ticker(a04) + ' ' + str.tostring(roundn(v4, 2)) + ' ' : scr_label
scr_label := s5 ? scr_label + syminfo.ticker(a05) + ' ' + str.tostring(roundn(v5, 2)) + ' ' : scr_label
scr_label := s6 ? scr_label + syminfo.ticker(a06) + ' ' + str.tostring(roundn(v6, 2)) + ' ' : scr_label
scr_label := s7 ? scr_label + syminfo.ticker(a07) + ' ' + str.tostring(roundn(v7, 2)) + ' ' : scr_label
scr_label := s8 ? scr_label + syminfo.ticker(a08) + ' ' + str.tostring(roundn(v8, 2)) + ' ' : scr_label
scr_label := s9 ? scr_label + syminfo.ticker(a09) + ' ' + str.tostring(roundn(v9, 2)) + ' ' : scr_label
scr_label := s10 ? scr_label + syminfo.ticker(a10) + ' ' + str.tostring(roundn(v10, 2)) + ' ' : scr_label
scr_label := s11 ? scr_label + syminfo.ticker(a11) + ' ' + str.tostring(roundn(v11, 2)) + ' ' : scr_label
scr_label := s12 ? scr_label + syminfo.ticker(a12) + ' ' + str.tostring(roundn(v12, 2)) + ' ' : scr_label
scr_label := s13 ? scr_label + syminfo.ticker(a13) + ' ' + str.tostring(roundn(v13, 2)) + ' ' : scr_label
scr_label := s14 ? scr_label + syminfo.ticker(a14) + ' ' + str.tostring(roundn(v14, 2)) + ' ' : scr_label
scr_label := s15 ? scr_label + syminfo.ticker(a15) + ' ' + str.tostring(roundn(v15, 2)) + ' ' : scr_label
scr_label := s16 ? scr_label + syminfo.ticker(a16) + ' ' + str.tostring(roundn(v16, 2)) + ' ' : scr_label
scr_label := s17 ? scr_label + syminfo.ticker(a17) + ' ' + str.tostring(roundn(v17, 2)) + ' ' : scr_label
scr_label := s18 ? scr_label + syminfo.ticker(a18) + ' ' + str.tostring(roundn(v18, 2)) + ' ' : scr_label
scr_label := s19 ? scr_label + syminfo.ticker(a19) + ' ' + str.tostring(roundn(v19, 2)) + ' ' : scr_label
scr_label := s20 ? scr_label + syminfo.ticker(a20) + ' ' + str.tostring(roundn(v20, 2)) + ' ' : scr_label
scr_label := s21 ? scr_label + syminfo.ticker(a21) + ' ' + str.tostring(roundn(v21, 2)) + ' ' : scr_label
scr_label := s22 ? scr_label + syminfo.ticker(a22) + ' ' + str.tostring(roundn(v22, 2)) + ' ' : scr_label
scr_label := s23 ? scr_label + syminfo.ticker(a23) + ' ' + str.tostring(roundn(v23, 2)) + ' ' : scr_label
scr_label := s24 ? scr_label + syminfo.ticker(a24) + ' ' + str.tostring(roundn(v24, 2)) + ' ' : scr_label
scr_label := s25 ? scr_label + syminfo.ticker(a25) + ' ' + str.tostring(roundn(v25, 2)) + ' ' : scr_label
scr_label := s26 ? scr_label + syminfo.ticker(a26) + ' ' + str.tostring(roundn(v26, 2)) + ' ' : scr_label
scr_label := s27 ? scr_label + syminfo.ticker(a27) + ' ' + str.tostring(roundn(v27, 2)) + ' ' : scr_label
scr_label := s28 ? scr_label + syminfo.ticker(a28) + ' ' + str.tostring(roundn(v28, 2)) + ' ' : scr_label
scr_label := s29 ? scr_label + syminfo.ticker(a29) + ' ' + str.tostring(roundn(v29, 2)) + ' ' : scr_label
scr_label := s30 ? scr_label + syminfo.ticker(a30) + ' ' + str.tostring(roundn(v30, 2)) + ' ' : scr_label
scr_label := s31 ? scr_label + syminfo.ticker(a31) + ' ' + str.tostring(roundn(v31, 2)) + ' ' : scr_label
scr_label := s32 ? scr_label + syminfo.ticker(a32) + ' ' + str.tostring(roundn(v32, 2)) + ' ' : scr_label
scr_label := s33 ? scr_label + syminfo.ticker(a33) + ' ' + str.tostring(roundn(v33, 2)) + ' ' : scr_label
scr_label := s34 ? scr_label + syminfo.ticker(a34) + ' ' + str.tostring(roundn(v34, 2)) + ' ' : scr_label
scr_label := s35 ? scr_label + syminfo.ticker(a35) + ' ' + str.tostring(roundn(v35, 2)) + ' ' : scr_label
scr_label := s36 ? scr_label + syminfo.ticker(a36) + ' ' + str.tostring(roundn(v36, 2)) + ' ' : scr_label
scr_label := s37 ? scr_label + syminfo.ticker(a37) + ' ' + str.tostring(roundn(v37, 2)) + ' ' : scr_label
scr_label := s38 ? scr_label + syminfo.ticker(a38) + ' ' + str.tostring(roundn(v38, 2)) + ' ' : scr_label
scr_label := s39 ? scr_label + syminfo.ticker(a39) + ' ' + str.tostring(roundn(v39, 2)) + ' ' : scr_label
scr_label := s40 ? scr_label + syminfo.ticker(a40) + ' ' + str.tostring(roundn(v40, 2)) + ' ' : scr_label
var panel =table.new(position = position.top_right,columns = 10,rows=10,bgcolor = color.green,frame_color = color.black,border_color = color.red)
//lab_1 = label.new(bar_index + loc,50, scr_label, color=color.green, textcolor=color.white, style=label.style_label_center)
//label.delete(lab_1 )
if barstate.islast
table.cell(panel,0,0,text = str.tostring(scr_label))
if str.length(scr_label) > 8
alert(scr_label,alert.freq_once_per_bar_close)
//------------------------------------------------------
Dual Relative Strength (Fast & Slow, Single Baseline)Dual-Period RS Setup (Fast + Slow)
1. Fast RS (Early Leadership)
• Indicator: Relative Strength (by modhelius)
• Comparative Symbol: NIFTY
• Period: 26 weeks (~6 months)
• Purpose: Detects early shifts in relative strength before price fully confirms.
⸻
2. Slow RS (Confirmation)
• Add the same indicator again.
• Comparative Symbol: NIFTY
• Period: 52 weeks (1 year)
• Purpose: Confirms sustained leadership. Helps filter noise & false positives.
SP500 Weekly Posture Ribbon (EMA10W)Check if the SP500 is bullish or bearish. Do not buy stocks when SP500 is bearish.
Monthly MA Box for S&P 500 or othersThis moving average helps detect when the asset is undervalued or overvalued. Users can adjust the spread between the moving averages.
Time-Based Vertical LinesFeatures:
8 Customizable Lines: Each line can be individually enabled/disabled
Time Selection: Set specific times for each line (e.g., 9:30 AM)
Daily Repetition: Lines automatically repeat at the same time every trading day
Color Customization: Choose any color for each line
Additional Options: Width and style (solid, dashed, dotted) for each line
How to Use:
Copy the entire script
In TradingView, open the Pine Editor (at the bottom of the chart)
Create a new indicator and paste the code
Click "Add to Chart"
Configure your lines by clicking the settings gear icon:
Enable/disable each line
Set the time using the time picker
Choose colors
Adjust width and style as desired
Default Setup:
Line 1 is enabled by default at 9:30 AM (blue)
Lines 2-8 are disabled by default but can be enabled
Each line has a different default color for easy identification
The indicator will draw vertical lines that extend across the entire price range at your specified times, repeating every day. The lines use your chart's timezone settings, so they'll appear at the correct local time for your market.
COT-App//the COT-App generates potential trading signals for commodities and currencies futures based on the weekly COT data of the CFTC
//the COT data commercial netto, commercial short, non commercial short, non commercial long, a commercial netto oscillator, the ratio of commercial short tot he open interest and the open interest (types of COT data) can be shown as chart
//for each type of COT data you can define and set an extreme long and short level
//the COT types commercial netto, commercial short and commercial netto generate potential trading signals if the curve of type of COT data runs into the defined long or short extreme area
//a potential trading signal will be stronger if in additon further types of COT data runs in the same extreme area long or short
//
Kalkulator pozycji N100This indicator is a real-time position size calculator designed specifically for NASDAQ 100 futures (E-mini NQ and Micro NQ). It works on any timeframe, best on 1-minute charts, and calculates your position size based on candle body (ignoring wicks). This allows you to always see your exact risk and the number of contracts you can take before the candle closes.
Day And Week SeparatorA day separator plots a vertical line at the beginning of each new trading day. This is useful for identifying daily trading sessions and resetting your perspective on price movements. It can help you spot key reversal points or breakouts that often occur at the start of a new session.
Volume by Time [LuxAlgo]The Volume by Time indicator collects volume data for every point in time over the day and displays the average volume of the specific dataset collected at each respective bar.
The indicator overlays the current volume and the historical average to allow for better comparisons.
🔶 USAGE
Throughout the day, the volume of every bar is stored in groups organized by the time when each bar occurred.
Over time, the datasets accumulate, and from that, we can simply determine the average value at each specific time of the day.
The display is a histogram style, which consists of hollow bars and solid filled columns.
-Hollow bars represent the average volume at that time of the day.
-Solid columns display the current volume from the current bar.
By default, the entire history of data is used, but if desired, the number of days under analysis can be specified to provide a more relevant point of view.
A readout of the number of days being analyzed can be seen in the status bar at any time.
Note: Due to partial sessions, it is typical to see this value change throughout the day; this is simply due to the fact that not every trading session has the exact same schedule 100% of the time.
The analysis type can also be specified; these can be either Average (Default) or Median.
Additionally, a Bi-directional can be toggled for a distinct difference between upwards volume and downwards volume.
🔶 SETTINGS
Analysis Type: Choose between Average or Median analysis modes.
Length (Days): Set the number of days to use for analysis. Set to 0 for full data (Default 0).
Bi-Directional Toggle: Toggle between one-sided or two-sided display.
Artharjan High Volume Zones v2Artharjan High Volume Zones (AHVZ)
The Artharjan High Volume Zones (AHVZ) indicator is designed to identify, highlight, and track price zones formed during exceptionally high-volume bars. These levels often act as critical support and resistance zones, revealing where institutions or large players have shown significant interest.
By combining both short-term (ST) and long-term (LT) high-volume zones, the tool enables traders to align intraday activity with broader market structures.
Core Purpose
Markets often leave behind footprints in the form of high-volume bars. The AHVZ indicator captures these footprints and projects their influence forward, allowing traders to spot zones of liquidity, accumulation, or distribution where future price reactions are likely.
Key Features
🔹 Short-Term High Volume Zones (ST-ZoI)
Identifies the highest-volume bar within a short-term lookback period (default: 22 bars).
Draws and maintains:
Upper & Lower Bounds of the high-volume candle.
Midpoint Line (M-P) as the zone’s equilibrium.
Buffer Zones above and below for intraday flexibility (percentage-based).
Highlights these zones visually for quick intraday decision-making.
🔹 Long-Term High Volume Zones (LT-ZoI)
Scans for the highest-volume bar in a long-term lookback period (default: 252 bars).
Similar plotting structure as ST-ZoI: Upper, Lower, Midpoint, and Buffers.
Useful for identifying institutional footprints and multi-week/month accumulation zones.
🔹 Dynamic Buffering
Daily/Weekly/Monthly charts: Adds a fixed percentage buffer above and below high-volume zones.
Intraday charts: Uses price-range based buffers, scaling zones more adaptively to volatility.
🔹 Visual Customization
Independent color settings for ST and LT zones, mid-range lines, and buffers.
Adjustable plot thickness for clarity across different chart styles.
How It Helps
Intraday Traders
Use ST zones to pinpoint short-term supply/demand clusters.
Trade rejections or breakouts near these high-volume footprints.
Swing/Positional Traders
Align entries with LT zones to stay on the side of institutional flows.
Spot areas where price may stall, reverse, or consolidate.
General Market Structure Analysis
Understand where volume-backed conviction exists in the chart.
Avoid trading into hidden walls of liquidity by recognizing prior high-volume zones.
Closing Note
The Artharjan High Volume Zones indicator acts as a volume map of the market, giving traders a deeper sense of where meaningful battles between buyers and sellers took place. By combining short-term noise filtering with long-term structural awareness, it empowers traders to make more informed, disciplined decisions.
With Thanks,
Rrahul Desai @Artharjan
ATR Bands with SL and TPATR Bands with SL and TP (TanTechTrades™)
This indicator uses the Average True Range (ATR) to dynamically calculate stop-loss and take-profit levels around the current price.
🔹 Features
Adjustable ATR period for volatility sensitivity
Separate multipliers for stop-loss and take-profit
Plots long/short SL and TP levels simultaneously
Color-coded bands for quick visual reference (orange = SL, blue = TP)
🔹 How to Use
For long positions: SL is plotted below price, TP above price.
For short positions: SL is plotted above price, TP below price.
The wider the ATR, the further the levels adjust, reflecting higher volatility.
This tool helps traders set volatility-based exits instead of fixed pip/point levels, making risk management more adaptive to market conditions.
⚠️ Disclaimer: For educational purposes only. Not financial advice.
Futures Multi-Asset Open Distance Table## Multi-Asset Open Distance Table - Quick Description
This Pine Script indicator displays a **real-time table** that tracks how far **three user-selected assets** are from their key opening price levels.
**What it shows:**
- **Three customizable assets** (default: NQ!, ES!, YM!)
- **Distance from 3 key opens** for each asset:
- **1800 ET Open** (Electronic trading session start)
- **0930 ET Open** (Regular market hours start)
- **Weekly Open** (Beginning of trading week)
**Visual features:**
- **Percentage changes** from each open level
- **Color coding**: Green for gains above opens, red for losses below opens
- **Direction arrows**: ▲ (above), ▼ (below), ■ (unchanged)
- **Customizable table position** and size
**Perfect for:**
- **Intraday traders** monitoring key session levels
- **Multi-timeframe analysis** across different market opens
- **Quick reference** to see which assets are performing relative to major opening levels
- **Session-based trading strategies** using 6PM and 9:30AM opens
The table updates in real-time and provides an at-a-glance view of where your chosen assets stand relative to these critical price reference points throughout the trading day.
Rolling Midpoints of Price vs 50% FibThis script overlays two complementary midpoint lines on your chart to reveal evolving bias, structural imbalances, and zones of mean reversion:
🔸 The Price Midpoint tracks a dynamic center based on the raw price range over a user-defined lookback.
🔸 The Fib Midpoint is calculated from the most recent confirmed swing high and low, forming a live 50% Fibonacci retracement — then smoothed for trend stability.
📘 What Is Mean Reversion, and Why Midpoints Matter?
Markets often oscillate between periods of trend and consolidation. Mean reversion refers to the tendency of price to return to a “fair value” after stretching too far in one direction. The Price Midpoint captures this range-based balance, while the Fib Midpoint anchors to structural swing levels. When price strays far from both, it may be overextended — setting the stage for pullbacks or reversion. When price hovers between or tests both midlines, it reflects balance or indecision. EquiZone helps visualize this dynamic, offering traders real-time insight into whether price is moving with strength, fading, or snapping back to equilibrium.
🔍 Concept Breakdown
➖Price Midpoint – A rolling midpoint between the highest high and lowest low over a user-defined lookback. Think of it as a range-weighted equilibrium.
➖Fib Midpoint – A dynamic 50% Fibonacci retracement between the most recent confirmed swing high and swing low (based on pivot logic), smoothed over time for stability.
➖Color-coded Fills & Bar Colors – Highlight confluence and divergence between the two midpoints, offering intuitive visual cues on trend alignment or structural disagreement.
🎯 Why It’s Useful
➖Spot consolidation zones and structural inflection points
➖Detect hidden divergence between price action and swing structure
➖Use midpoint alignment as a trend confirmation filter
➖Identify mean reversion setups when price strays too far from both midlines
➖Visualize market equilibrium across two complementary perspectives
⚙️ Customizable Features
➖Independent lookbacks for both midpoints
➖Toggle fill shading and adjust color schemes
➖Choose from multiple bar color modes (Close, HL2, OHLC3, OHLC4)
➖Control pivot sensitivity via left/right bar windows
➖Select pivot source: high, low, or close
🧠 How to Use
➖When Price Mid > Fib Mid, momentum may be outrunning structure → bullish extension
➖When Fib Mid > Price Mid, structure leads but price lags → bearish potential or fading momentum
➖When the two lines converge, it signals a zone of balance or potential breakout setup
➖Use bar colors to confirm whether price is leading or following structure
🔧 This isn’t just a visual overlay — it’s a structure-aware bias engine.
Best For:
📈 Trend-followers seeking confirmation between price action and structure
🔄 Reversal traders watching for midpoint divergence
📊 Range traders identifying dynamic fair-value zones
🔍 Price-action analysts who want a clean, non-lagging context layer
➡️ Built for clarity and speed, EquiZone adds zero clutter and works seamlessly across all timeframes and asset types. It pairs especially well with support/resistance zones, trendlines, Fibonacci ladders, and price action patterns.
📌 Final Note:
While Rolling Midpoints provides insight into market balance and directional bias, no single indicator should be traded in isolation. For best results, combine it with contextual tools such as trend structure, volume analysis, higher-timeframe mapping, and clear entry/exit frameworks. Use this as a bias confirmation tool, not a trigger by itself.
Prev Day Volume ProfileWhat the script does
Calculates yesterday’s Volume Profile from the bars on your chart (not tick data) and derives:
POC (Point of Control)
VAL (Value Area Low)
VAH (Value Area High)
Draws three horizontal lines for today:
POC in orange
VAL and VAH in purple
Adds labels on the right edge that show the level name and the exact price (e.g., POC 1.2345).
Why it’s bar-based (not tick-based)
Pine Script can’t fetch external tick/aggTrades data. The script approximates a volume profile by distributing each bar’s volume across the price bins that the bar’s high–low range covers. For “yesterday”, this produces a stable, TV-native approximation that’s usually sufficient for intraday trading.
Key inputs
Value Area %: Defaults to 0.70 (70%)—the typical value area range.
TZ Offset vs Exchange (hours): Shifts the day boundary to match your desired session (e.g., Europe/Berlin: +1 winter / +2 summer). This ensures “yesterday” means 00:00–24:00 in your target timezone.
Row Size: Manual? / Manual Row Size: If enabled, you can set the price bin size yourself. Otherwise, the script chooses a TV-like step from syminfo.mintick.
Colors & Line width: POC orange; VAL/VAH purple; configurable width.
Multi-Timeframe HTS Retest Strategy v6Multi-Timeframe HTS Retest Strategy v6 is a trend-following tool designed to detect high-probability retest entries aligned with higher timeframe direction. The indicator applies HTS bands (short & long) on both the current and higher timeframe (4x–8x multiplier) to confirm market bias.
A strong trend is validated when HTS bands separate on the higher timeframe. On the lower timeframe, the strategy tracks price behavior relative to the bands: after breaking outside, price must retest either the fast (blue) or slow (red) band, confirmed by a rejection candle. This generates precise BUY or SELL retest signals.
Features include flexible average methods (RMA, EMA, SMA, etc.), customizable cross detection (final cross, 4 crosses, or both), volume-based retest conditions, and clear visual signals (dots for trend start, triangles for retests). Alerts are integrated for automation.
This strategy is suitable for forex, crypto, indices, and stocks, supporting both scalping and swing trading.
EMA Cross Alert V666 [noFuck]EMA Cross Alert — What it does
EMA Cross Alert watches three EMAs (Short, Mid, Long), detects their crossovers, and reports exactly one signal per bar by priority: EARLY > Short/Mid > Mid/Long > Short/Long. Optional EARLY mode pings when Short crosses Long while Mid is still between them—your polite early heads-up.
Why you might like it
Three crossover types: s/m, m/l, s/l
EARLY detection: earlier hints, not hype
One signal per bar: less noise, more focus
Clear visuals: tags, big cross at signal price, EARLY triangles
Alert-ready: dynamic alert text on bar close + static alertconditions for UI
Inputs (plain English)
Short/Mid/Long EMA length — how fast each EMA reacts
Extra EMA length (visual only) — context EMA; does not affect signals
Price source — e.g., Close
Show cross tags / EARLY triangles / large cross — visual toggles
Enable EARLY signals (Short/Long before Mid) — turn early pings on/off
Count Mid EMA as "between" even when equal (inclusive) — ON: Mid counts even if exactly equal to Short or Long; OFF (default): Mid must be strictly between them
Enable dynamic alerts (one per bar close) — master alert switch
Alert on Short/Mid, Mid/Long, Short/Long, EARLY — per-signal alert toggles
Quick tips
Start with defaults; if you want more EARLY on smooth/low-TF markets, turn “inclusive” ON
Bigger lengths = calmer trend-following; smaller = faster but choppier
Combine with volume/structure/risk rules—the indicator is the drummer, not the whole band
Disclaimer
Alerts, labels, and triangles are not trade ideas or financial advice. They are informational signals only. You are responsible for entries, exits, risk, and position sizing. Past performance is yesterday; the future is fashionably late.
Credits
Built with the enthusiastic help of Code Copilot (AI)—massively involved, shamelessly proud, and surprisingly good at breakfasting on exponential moving averages.
Market Structures by The Noiseless TraderMarket Structure by The Noiseless Trader is an indicator that highlights simple candle-based market structure patterns: Market Structure Low (MSL) and Market Structure High (MSH) . It is designed to make these shifts visible directly on the chart.
Pattern Logic
MSL (Market Structure Low)
Candle 2: Bearish
Candle 1: Bearish, closing below Candle 2’s close
Candle 0: Bullish, closing above Candle 1’s open
Candle 0 must also have a minimum body size (default = 2%)
MSH (Market Structure High)
Candle 2: Bullish
Candle 1: Bullish, closing above Candle 2’s close
Candle 0: Bearish, closing below Candle 1’s open
Candle 0 must also have a minimum body size (default = 2%)
Features
Label plotting: When a pattern forms, the script places an “MSL” or “MSH” label slightly offset from Candle 0 so that the signal is visible but does not overlap the bar.
Bar coloring: Optionally, the script colors the signal candles for faster visual recognition (green for MSL, red for MSH).
Repaint protection : A setting allows the user to confirm signals only on bar close. This ensures the label does not disappear once plotted, though it delays the signal until the candle closes.
Customizable inputs: Users can set the minimum body size threshold (in % of price) and adjust the label offset distance to their preference.
Alerts: TradingView alerts can be created for both MSL and MSH events, making it possible to receive notifications when patterns appear.
How to Use
MSL labels mark potential swing lows where bearish pressure is followed by a bullish reversal.
MSH labels mark potential swing highs where bullish pressure is followed by a bearish reversal.
These patterns are most useful for studying shifts in short-term trend structure. Traders can monitor them as potential areas of interest, but they are not standalone entry or exit signals.
This indicator should be used as part of a broader trading framework. For example, some traders may combine MSL/MSH with trend filters, higher-timeframe analysis, or support/resistance zones or even classical pattern clubbed with MSL/MSH.
Notes
This tool highlights specific three-candle formations. It does not generate buy/sell recommendations.
It is intended for educational and analytical purposes only.
Past appearances of MSL or MSH patterns do not guarantee future performance.
Always confirm with your own market analysis before taking trading decisions.
Developed by The Noiseless Trader .