Bizimle iletişime geçin

PineScript

OKX Sinyal Botu – Tradingview Bağlantısı

Paylaştı

on

Merhabalar, bu yazımda OKX borsası ile Tradingview arasındaki bağlantıdan bahsedeceğim. Bu bağlantı sayesinde Tradingview’de yazmış olduğunuz stratejinin ürettiği sinyaller doğrultusunda OKX borsasında vadeli işlemler için emir gönderebileceksiniz.

OKX Hesabı

Bu entegrasyonu yapabilmek için OKX borsasında hesabınız olması gerekiyor. Eğer hesabınız yoksa aşağıdaki linkten kayıt olabilirsiniz. Aynı zamanda Tradingview’de webhook alarmlarını kuracağımız için Tradingview hesabınızın ücretli bir plana sahip olması gerekiyor.

OKX Kayıt Ol

OKX hesabınıza giriş yapın. Yapacağımız tüm işlemleri ilk olarak demo hesapta uygulayacağız. Başarılı olduğunu gördükten sonra gerçek piyasada kullanmaya başlayacağız.

Reklamlar

Kurulum

Giriş yaptıktan sonra aşağıdaki gibi bir ekran sizi karşılayacak. Üst menüden Al-Sat yazısının üstüne geliyoruz ve açılan menüden en alttaki Demo İşlemler butonuna tıklıyoruz.

Aşağıdaki gibi bir ekran bizi karşılayacak. Sol üstte demo modda olduğumuzu görüyoruz, sağ üstte de Gerçek Piyasaya dönmek için bir buton olduğunu görüyoruz. Bu sayede demo panelde olduğumuzu anlayabiliriz.

Demo panelde olduğumuza göre artık botumuzu hızlıca oluşturabiliriz. Sol üstteki Al-Sat butonunun üstüne gelerek açılan menüden Bot Oluştur butonuna tıklıyoruz.

Açılan sayfada biraz aşağı kaydırıp Sinyal Botu butonuna tıklıyoruz.

Reklamlar

Açılan sayfada Özel Sinyal Ekle butonuna tıklayın. Hemen altında da benim daha önce denemek için oluşturduğum botların isimleri gözüküyor.

Şimdi botumuza bir isim ve açıklama gireceğiz. Benim botumun adı ONLY-OKX olacak. Açıklama kısmını şimdilik boş bırakıyorum, siz isterseniz doldurabilirsiniz. İsterseniz çıkan ekranın sol altından OKX’in videolu anlatımına da göz atabilirsiniz. Botunuza isim verdikten sonra Sinyal Oluştur butonuna tıklayabilirsiniz.

Şimdi de Tradingview bağlantısını kurabilmemiz için gerekli bilgilerin verildiği ekrana geçtik. Açılan sayfada ok ile işaretlediğim yerdeki signalToken değerinin karşısındaki değeri bir yere not ediyoruz. İleride bunu kullanacağız. Benim değerim : X0KGS8gfqmXEwqfAySJPTPkk747IaH3088Ol8LM2ikSFqhnefhZD06io8FYoffD7D1q5+7KwaVrWjD5uO169hw==

Yine aynı sayfada 1.adımda gösterilen Webhook url’ni de bir yere kopyalayıp kaydediyorum.

Tamamla butonuna basıp botumu oluşturuyorum.

Beni tekrar bu sayfaya yönlendirdi. Botumu bulup, Bot Oluştur butonuna tıklıyorum.

Reklamlar

Şimdi botumuzun ayarlarını yapacağız. Bu kısım önemli. Kırmızı ile işaretlediğim alandaki değerleri dolduracağız.

Aşağıdaki alana tıklayıp Tradingview üzerinden hangi kripto paralar üzerinde strateji çalıştıracağımı seçiyorum.

Açılan ekrandan ben 2 tane kripto para seçtim, siz istediğiniz kadar seçebilirsiniz. Ben AVAX ve SOL işaretledim. Onayla butonuna tıklıyorum.

Kaldıraç ayarlarını yapacağız. Vadeli işlemler olduğundan dolayı işlemleriniz kaç kaldıraç ile açılması gerektiğini seçiyoruz. Ok ile gösterdiğim yerden kaç kaldıraç ile işlem açmak istiyorsanız onu seçiyorsunuz. Ben 3x seçtim. Ardından aşağıdan da Toplam Marjin’i giriyorum. Bu bot 500 USDT kullansın istiyorum.

Gelişmiş ayarlar‘a tıklıyorum ve açılan bölgede ayarları dolduracağım.

Reklamlar

İlk olarak Emir Türü‘nü seçiyorum. Buradan ben genellikle piyasa fiyatını seçiyorum. Sinyal geldiğinde her şekilde işleme girmiş olmak istiyorum çünkü. Bazen limit emir doldurulamıyor veya hiç karşılanmıyor. Bu gibi durumlardan dolayı piyasa fiyatını seçiyorum.

Giriş ayarı kısmından ben sabit marjin’i seçtim. Bot’a ayırdığım tutar 500 USDT idi. Her bir çift için 20USDT x Kaldıraç oranı (3) = 60 USDT’lik işlem açmasını istiyorum. Birden çok giriş olmasını istemiyorum çünkü arka arkaya AL veya arka arkaya SAT sinyali üreten bir strateji olsa bile ilk giriş yerinde işleme girmek istiyorum. Eğer siz eklemeli bir strateji kullanıyorsanız bu kısmı işaretleyebilirsiniz.

En önemli kısımlardan biri olan Çıkış ayarı kısmına geldik. Ben burada Kâr al ve Zarar durdur fiyatı seçeneğini işaretledim. Sağ taraftaki Fiyat oranını da K&Z oranı olarak değiştirdim ki pozisyonumun kârı ve zararına göre işlemi kapatmak istiyorum. %5 kâr işaretledim ve %2 de zarar işaretleyip Oluştur butonuna tıkladım.

Evet artık botumuzu oluşturduk. Aşağıdaki bölgeye oluşturmuş olduğum bot eklendi.

İsterseniz Ayrıntılar butonuna tıklayıp botunuz hakkında detaylı bilgileri bulabilirsiniz.

Reklamlar

Ayrıntılar butonuna tıkladığımda yeni sekmede aşağıdaki gibi bir bilgi ekranı bizi karşılayacak. Bu ekrandan hem açık pozisyonları, hem geçmiş pozisyonları görebilirsiniz.

Tradingview Bağlantısı

OKX borsasındaki işlemlerimiz bittiğine göre artık Tradingview’de bağlantıları kurabiliriz. İlk olarak Tradingview hesabınıza giriş yapın ve grafikleri açın.

Sembol arama kısmına AVAXUSDT.P yazıyorum ve OKX borsasının grafiklerini önüme getiriyorum. Burası çok önemli, vadeli bir grafik seçmek zorundasınız. Yani koin adının sonunda “.P” olduğuna dikkat edin.

Grafik açıldıktan sonra alt menüdeki Pine Editör’e tıklıyorum. Stratejimizi buraya yazacağız. Eğer herhangi bir kodlama eğitiminiz yok ise bu linkten Udemy üzerindeki en çok satan ibareli kursuma göz atabilirsiniz.

Reklamlar

Pine Editör’ü açtıktan sonra aşağıdaki gibi bir ekran sizi karşılayacak.

Ben çok basit bir strateji yazacağım. RSI(14), 30’u yukarı kestiğinde LONG emri göndermek istiyorum. RSI(14), 70’i aşağı kestiğinde ise SHORT emri göndermek istiyorum. Aşağıdaki gibi bir kod yazdım. Kaydedip grafiğe ekle butonuna tıkladım ve grafiğe ekledim.

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © only_fibonacci

//@version=5
strategy("OKXRSI")

rsi = ta.rsi(close,14)

long = open>close and bar_index > last_bar_index - 500
short = open<close and bar_index > last_bar_index - 500


long_entry_text = "ENTER_LONG"
long_exit_text = "EXIT_LONG"
short_entry_text = "ENTER_SHORT"
short_exit_text = "EXIT_SHORT"
okxSignalId = 'X0KGS8gfqmXEwqfAySJPTPkk747IaH3088Ol8LM2ikSFqhnefhZD06io8FYoffD7D1q5+7KwaVrWjD5uO169hw==' // OKX bot oluştururken kaydettiğimiz signalToken değeri
long_enter_json = '{"action": "'+long_entry_text+'",   "instrument": "'+syminfo.ticker+'",    "signalToken": "'+okxSignalId+'",    "timestamp": "'+str.tostring(time)+'",    "maxLag": "60"}'
long_exit_json = '{"action": "'+long_exit_text+'",   "instrument": "'+syminfo.ticker+'",    "signalToken": "'+okxSignalId+'",    "timestamp": "'+str.tostring(time)+'",    "maxLag": "60"}'
short_enter_json = '{"action": "'+short_entry_text+'",   "instrument": "'+syminfo.ticker+'",    "signalToken": "'+okxSignalId+'",    "timestamp": "'+str.tostring(time)+'",    "maxLag": "60"}'
short_exit_json = '{"action": "'+short_exit_text+'",   "instrument": "'+syminfo.ticker+'",    "signalToken": "'+okxSignalId+'",    "timestamp": "'+str.tostring(time)+'",    "maxLag": "60"}'
if long
    strategy.close(id = "SHORT",alert_message = short_exit_json) // açıkta short pozisyon varsa onu kapat emri gönderiyorum borsaya. Eğer yoksa borsa bu emri zaten işlemeyecek.
    strategy.entry(id = "LONG", direction = strategy.long, alert_message = long_enter_json) // long pozisyon açmak için borsaya emir gönderiyorum.
if short
    strategy.close(id = "LONG", alert_message = long_exit_json) // açıkta long pozisyon varsa kapat emri gönderiyorum ve bunu bu şekilde borsaya gönderiyorum.
    strategy.entry(id = "SHORT", direction = strategy.short, alert_message = short_enter_json) // long pozisyon kapatıldıktan sonra short emri için borsaya emir gönderiyorum.

Verdiğim kodu kopyalayıp grafiğinize ekleyebilirsiniz. Long ve short şartlarınızı kendi indikatörünüze göre entegre edip değiştirebilirsiniz.

Alarm Kurma

Reklamlar

Grafiğe eklediğimiz stratejinin adının yanındaki üç noktaya tıklıyoruz ve açılan menüden alarm ekle butonuna tıklıyoruz. Ben stratejiyi grafiğin altına ekledim, siz isterseniz grafiğin üstüne de ekleyebilirsiniz kodda düzenleme yaparak. Ben hızlıca alarm gelmesini istediğim için grafiği 10 saniyelik barlar üzerinde görmek istiyorum. Periyodu siz istediğiniz gibi seçebilirsiniz.

Açılan alarm menüsünden koşul kısmından stratejimizi seçiyoruz. Mesaj kısmını komple silip {{strategy.order.alert_message}} yazıyoruz. Bu sayede borsaya göndereceğimiz mesajı seçebilmiş oluyoruz.

Daha sonra Bildirimler sekmesine tıklıyoruz ve Webhook URL‘si kutusunu işaretliyoruz. Onun altındaki kutucuğa da OKX borsasından aldığımız Webhook URL’ini yapıştırıyoruz. Oluştur deyip artık Alarm’ı oluşturuyoruz. Aynı işlemleri SOLUSDT.P için de yapıyorum ve artık botum için seçmiş olduğum iki kripto para çiftine de stratejimi kurmuş bulunuyorum.

Evet alarm oluşturduk ve ilk sinyallerimizi aldık. Şimdi gidip borsaya kontrol edelim.

Demo işlemlerde tüm bu bot kurulum işlemlerini ve sinyallerinizi kontrol ettikten sonra gerçek piyasaya gidip aynı ayarları yaparak botunuzu kurabilirsiniz. Burada yazılan hiçbir bilgi yatırım tavsiyesi niteliğinde değildir ve hiçbir şekilde kâr veya zarar garantisi sunmamaktadır.

Reklamlar

OKX ve Tradingview Bağlantısı ile ilgili aşağıdaki linkleri de ziyaret edip farklı bakış açılarını da öğrenebilirsiniz.

OKX Aracı Kurumu Paylaşımı

Tradingview WIZARD HPotter

PineScriptV5 eğitimi ile siz de kendi stratejinizi yazmak isterseniz kursumuza katılabilirsiniz.

Reklamlar
Okumaya Devam Et
Reklamlar
Yorumları Gör

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

PineScript

Düzenli Yatırım Stratejisi

Paylaştı

on

Her ay/hafta küçük miktarlarda düzenli para girişi yaparak kripto para yatırımı yapmak için uyguladığım bir stratejim var.

Ben hiçbir zaman hiç kimsenin (şans faktörü hariç) en doğru yerde tüm parasını koyarak alım yapabildiğini görmedim. Bu yüzden düzenli olarak belli miktarlarda alım yapmak benim için en güzel yöntemlerden biri.

Sistem, cüzdan tutarını sabit tutmak ya da bir üst kademeye yükseltmek üzerine kurulu.

Nasıl çalışıyor?

•Yatırım yapılacak kripto para seçiliyor.

Reklamlar

•Haftalık mı ya da aylık mı yatırım yapılacak buna karar veriliyor. Haftalık olacağına karar verdiğimizi varsayıyorum.

•İlk yatırımımızı 5$ olarak yapıyoruz.

•Sonraki yatırım yapacağımız günü bekliyoruz.

•Eğer yaptığımız yatırım sonucu cüzdanımız 5$’ın üstüne çıktıysa bir sonraki 5’in katı olan 10$’a tamamlamak için alım yapıyoruz. Örneğin ilk yatırımınız %20 yükselerek 6$ oldu. Sonraki 5’in katı olan 10’dan 6’yı çıkarıyorum ve 4$’lık alım daha yapıyorum. Bu sayede cüzdanımın grafiğini sürekli yükselirken görüyorum.

•Eğer yaptığımız yatırım sonucu cüzdan 5$’ın altına düşerse de bu sefer 5$’a tamamlıyorum. Fakat bazen çok yakın bir düşüş olmuşsa yine de bir üst katına tamamlıyorum. Örneğin 5$’lık yatırım 4.70’e düşmüşse 0.3$’lık değil de 5.3$’lık alım yapıyorum.

Reklamlar

•Bu 5’in katları sistemini cüzdanım 100$’a ulaşana kadar yapıyorum. 100$’ın üstüne çıktığımda ise 10’un katları olacak şeklinde devam ediyorum. Siz bunu geliştirip daha uzun vadeye yaymak isterseniz 1000$’ın üstüne çıkınca da 20-50 veya 100’ün katları olacak şekilde artırabilirsiniz.

Bu yöntem bana ne sağlıyor?

✅Düşük miktarlarda yatırım yapıp beklentimi yönetebiliyorum.

✅Düşük miktarlarda yatırım yapıp üzüntümü tolere edebiliyorum.

✅Düşük miktarlarda yatırım yapıp daha uzun süre bekleyebiliyorum.

Reklamlar

✅Düşük miktarlarda yatırım yapıp psikolojimi çok iyi yönetebiliyorum.

1⃣ Bu örnekte 2022 Ocak ayından şu ana kadar 5$ ile başlayıp yatırım yapan bir kişinin cüzdan tablosu var. Her ay bir üst 5’in katına çıkacak şekilde ekleme yapılıyor ve büyük bir düşüşe denk geliniyor.

2 yılın sonunda toplam 106$ yatırım yapılıp %88’lik bir kazanç elde ediliyor.

2⃣ Bu örnekte de 1. örnekteki kripto para için her hafta yatırım yapan kişinin cüzdan tablosu görülüyor. Aynı türde yatırımı haftalığa çevirerek kazancını %92’ye çıkarıyor.

3⃣ Bitcoin için en dip seviyeden şu ana kadar olan grafiğini ele alalım. Kasım 2022’den bu yana her ay 5$ ve katlarını tamamlayacak şekilde yatırım yapan bir kişinin cüzdan görüntüsü.

4⃣ Bitcoin için 3.örnekteki yatırımı her hafta yapan kişinin cüzdan görüntüsü aşağıdadır.

Çıkarılan sonuç :

Düzenli bir şekilde ve düşük miktarlarda sistematik yatırım yapıldığında risk gerçekten çok düşük miktarda olabiliyor.

Bu tarz bir yatırım sürecini benimseyen kişi umursamadığı paralarla birikim yaparak fiyat hareketlerinden etkilenmediği gibi psikolojisi de etkilenmiyor.

Reklamlar

Biliyoruz ki psikoloji yatırım işinin en önemli parçalarından biri. Yatırım esnasında, psikolojisi kötü olan bir kişi, gündelik hayatında da etrafına mutsuzluk, sinir vs. saçabilir.

Yaşadığımız bir tane hayat var. Bunu da anlık hırslara ve gerçekçi olmayan hayaller sonucu yapılan plansız yatırımlar için harcayıp kısacık hayatımızda moral bozmaya gerek yok.

Aşağıda bu stratejiyi kendinize göre ayarlayabilmeniz ve sonuçları görebilmeniz için PineScriptV5 kodlarını paylaştım.

Reklamlar
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © only_fibonacci

//@version=5
strategy("Staircase", overlay = true, pyramiding = 1000, precision = 9)

backtestStartDate = input.time(timestamp("1 Jan 2011"),    title="Start Date", group="SETTINGS")
backtestStopDate =  input.time(timestamp("2025"), title="Stop Date", group="SETTINGS")
inTrade = time >= backtestStartDate and time <= backtestStopDate


weekOrMonthly = input.string(defval = "WEEKLY", title = "PERIOD", options = ["WEEKLY","MONTHLY"])

maliyet = strategy.position_avg_price

pazar = weekOrMonthly == "WEEKLY" ? dayofweek == 1 : dayofmonth == 1

eldeki_adet = strategy.position_size

cuzdan = eldeki_adet * close

yatirim = eldeki_adet * maliyet
ust_basamak = math.ceil(cuzdan/5) * 5
// ust_basamak = cuzdan < 100 ? math.ceil(cuzdan/5) * 5 : cuzdan < 1000 ? math.ceil(cuzdan/10) * 10 : math.ceil(cuzdan/50) * 50

fark = ust_basamak - cuzdan


alinmasi_gereken_adet = fark < 1 ? (math.abs(fark - 1) + 5) / close : fark / close
if inTrade and pazar
    strategy.entry(id = "AL", direction = strategy.long, qty = alinmasi_gereken_adet)


view = table.new(position = position.top_right, columns = 2, rows = 7, bgcolor = color.black, frame_color = color.purple, frame_width = 2)
table.cell(table_id = view, column = 0, row = 0, text = syminfo.ticker, text_color = color.white)
table.cell(table_id = view, column = 1, row = 0, text = str.tostring(close), text_color = color.white)
table.cell(table_id = view, column = 0, row = 1, text = "COST", text_color = color.white)
table.cell(table_id = view, column = 1, row = 1, text = str.tostring(math.round_to_mintick(maliyet)), text_color = color.white)
table.cell(table_id = view, column = 0, row = 2, text = "WALLET", text_color = color.white)
table.cell(table_id = view, column = 1, row = 2, text = str.tostring(math.round_to_mintick(cuzdan)), text_color = color.white)
table.cell(table_id = view, column = 0, row = 3, text = "INVESTMENT", text_color = color.white)
table.cell(table_id = view, column = 1, row = 3, text = str.tostring(math.round_to_mintick(yatirim)), text_color = color.white)
table.cell(table_id = view, column = 0, row = 4, text = "PROFIT RATE", text_color = color.white)
table.cell(table_id = view, column = 1, row = 4, text = str.tostring(math.round(cuzdan/yatirim - 1,2) * 100) + " %", text_color = color.white)

Okumaya Devam Et

PineScript

Alert Master Yayında! [ÜCRETSİZ TARAMA SİHİRBAZI]

Paylaştı

on

Merhabalar, ben OnlyFibonacci.

Bugün sizlere heyecanla sunacağım yeni aracımız Alert Master artık yayında! Bu araç, piyasalarda fırsatları kaçırmamanız için tasarlandı. Hem kullanışlı hem de çok amaçlı olan bu ücretsiz tarama sihirbazı sayesinde istediğiniz şartlara uyan hisse/kripto gruplarını tarayabileceksiniz. Şartlarınıza uyan sembolleri ister telegram bildirimi olarak ister de tradingview bildirimi olarak alabileceksiniz.

Ne sunuyor?

Alert Master ile Tradingview alarmları ve Telegram bildirimleri arasından istediğiniz seçeneği kullanabilirsiniz. Sadece birkaç tıkla, alım ve satım sinyallerini aynı anda alabileceğiniz, ödüllü Strategy Designer aracından ilham alarak geliştirildi.

Nasıl Çalışır?

  1. Stratejinizi Oluşturun: Kendi stratejinizi oluşturun veya mevcut stratejiler arasından seçim yapın.
  2. Hisse Grubunu Seçin: İlgilendiğiniz hisse senetleri grubunu seçin. Sistem, seçtiğiniz koşullara göre bu hisseleri tarayacak.
  3. Alarmları Alın: Tüm ayarları tamamladıktan sonra, sistem sizin için piyasadaki değişiklikleri izleyecek ve uygun sinyalleri size iletecek.
  4. Bu bağlantıya tıklayarak, strateji sihirbazının kullanımına dair bilgi edinebilirsiniz.

Özel Gruplarınızı Oluşturun

İsterseniz, kişiselleştirilmiş gruplar oluşturarak, yalnızca ilgilendiğiniz hisse senetleri üzerinde çalışabilirsiniz. Böylece, yatırım yaparken daha hedef odaklı ilerleyebilirsiniz.

Neden Alert Master?

  • Kullanıcı Dostu Arayüz: Her seviyeden yatırımcının kolayca kullanabileceği bir arayüz.
  • Esnek Ayarlar: Farklı piyasa koşullarına ve kişisel tercihlere göre ayarlanabilir.
  • Anlık Bildirimler: Piyasa koşulları değiştiğinde anında bildirim alın.

Ücretsiz Kullanın!

Alert Master‘ı kullanmak için kodları aşağıda paylaştım.

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © only_fibonacci

//@version=5
indicator("AlertMaster", overlay = true)


group = input.string(defval = "GRUP-1", title = "SCANNER GROUP", options = ["GRUP-1","GRUP-2","GRUP-3","GRUP-4","GRUP-5","GRUP-6","GRUP-7","GRUP-8","GRUP-9","GRUP-10","GRUP-11","GRUP-12","GRUP-13","GRUP-14","SPECIAL"], tooltip = "Each group contains 40 shares. It is divided into 40 parts from A to Z according to the group number.")

telegramSend = input.bool(defval = false, title = "", group = "TELEGRAM", inline = "TG")
grupid = input.string(defval = "Telegram CHAT ID", title = "", tooltip = "Telegram Channel, Group veya Profile ID", group = "TELEGRAM", inline = "TG")


// FUNCTIONS
operatorReturn(i1,selected,i2)=>
    switch selected
        ">" => i1 > i2
        "<" => i1 < i2
        ">=" => i1 >= i2
        "<=" => i1 <= i2
        "=" => i1 == i2
        "!=" => i1 != i2
        "CROSS ABOVE" => ta.crossover(i1, i2)
        "CROSS BELOW" => ta.crossunder(i1,i2)


maTypeToMa(maType,maPeriod,src)=>
    switch maType
        "EMA" => ta.ema(src, maPeriod)
        "SMA" => ta.sma(src, maPeriod)
        "RMA" => ta.rma(src, maPeriod)
        => ta.wma(src, maPeriod)

// Indicators
// ATR
atrLen      = input.int(defval = 14,minval = 1, title = "ATR Length", group = "ATR")
atr         = ta.atr(atrLen) // ATR

// BB
bbMiddle    = input.source(defval = close, title = "BB Middle", group = "BB")
bbLen       = input.int(defval = 5, title = "BB Length",minval = 1, group = "BB")
bbMult      = input.int(defval = 4, title = "BB Mult",minval = 1, group = "BB" )
[middle, upper, lower] = ta.bb(bbMiddle, bbLen, bbMult) // BB
bbw         = ta.bbw(middle, bbLen, bbMult) // BB Genişlik

// CCI
cciSrc      = input.source(defval = close, title = "CCI Source", group = "CCI")
cciLen      = input.int(defval = 10, title = "CCI Len", minval = 1, group = "CCI")
cci         = ta.cci(cciSrc,cciLen) // CCI

// MA1
ma1Type = input.string("EMA", "", options = ["EMA", "SMA", "RMA", "WMA"], group = "MA 1", inline = "2ma1")
ma1Period = input.int(defval = 20, title = "Period", minval = 1, group = "MA 1", inline = "2ma1")
ma1Src = input.source(defval = close, title = "Source", group = "MA 1", inline = "2ma1")
ma1 = maTypeToMa(ma1Type,ma1Period,ma1Src)

// MA2
ma2Type = input.string("EMA", "", options = ["EMA", "SMA", "RMA", "WMA"], group = "MA 2", inline = "2ma2")
ma2Period = input.int(defval = 50, title = "Period", minval = 1, group = "MA 2", inline = "2ma2")
ma2Src = input.source(defval = close, title = "Source", group = "MA 2", inline = "2ma2")
ma2 = maTypeToMa(ma2Type,ma2Period,ma1Src)


// RSI
rsiSrc = input.source(defval = close, title = "RSI Source", group = "RSI")
rsiLen = input.int(defval = 14, title = "RSI Length", minval = 1, group = "RSI")
rsi = ta.rsi(rsiSrc,rsiLen)

// ADX
lenAdx = input.int(17, minval=1, title="DI Length", group = "ADX")
lensigAdx = input.int(14, title="ADX Smoothing", minval=1, maxval=50, group = "ADX")
[diplus, diminus, adx] = ta.dmi(lenAdx, lensigAdx)

// MFI
mfiSrc = input.source(defval = close, title = "MFI Source", group = "MFI")
mfiLen = input.int(defval = 14, title = "MFI Length", minval = 1, group = "MFI")
mfi = ta.mfi(mfiSrc,mfiLen)

// MOM
momSrc = input.source(defval = close, title = "MOM Source", group = "MOM")
momLen = input.int(defval = 14, title = "MOM Length", minval = 1, group = "MOM")
mom = ta.mom(momSrc,momLen)


indicators(selected)=>
    switch selected
        "MA 1" => ma1
        "MA 2" => ma2
        "ATR" => atr
        "CCI" => cci
        "RSI" => rsi
        "BBW" => bbw
        "ADX" => adx
        "MFI" => mfi
        "MOM" => mom
        
        


    


position(data)=>
    switch data
        "ABOVE" => location.abovebar
        => location.belowbar

location(data)=>
    switch data
        "ABOVE" => true
        => false

style(data)=>
    switch data
        "ABOVE" => shape.labeldown
        => shape.labelup


andORLong = input.string(defval = "AND", title = "BUY/LONG CONNECT", options = ["AND","OR"], group = "SETTINGS") 
andORShort = input.string(defval = "AND", title = "SELL/SHORT CONNECT", options = ["AND","OR"], group = "SETTINGS")

buyList = array.new_bool()
sellList = array.new_bool()
detect(status,series,di)=>
    if status
        if di == "BUY/LONG"
            array.push(buyList,series)
        else
            array.push(sellList,series)



// CONDITION 1


s1Group     = "❗️❗️❗️❗️ CONDITION #1 ❗️❗️❗️❗️"
s1Inline    = "s1i"
s1Status    = input.bool(defval = false, title = "CONDITION Active", group = s1Group )
s1Direction = input.string(defval = "BUY/LONG", title = "Direction",options = ["BUY/LONG","SELL/SHORT"], group = s1Group)
s1Left      = input.string(defval = "CCI", title = "1️⃣", options = ["ATR","MA 1","MA 2","RSI","CCI","BBW", "ADX","MFI","MOM"], group = s1Group, inline = s1Inline)
s1Mid       = input.string(defval = ">=", title = "", options = [">","<",">=","<=","=","!=","CROSS ABOVE","CROSS BELOW"], group = s1Group, inline = s1Inline)
s1Right     = input.string(defval = "CCI", title = "2️⃣", options = ["ATR","MA 1","MA 2","RSI","CCI","BBW", "ADX","MFI","MOM"], group = s1Group, inline = s1Inline)
s1ValueBool = input.bool(defval = false, title = "VALUE ", group = s1Group, inline = "v1")
s1EndRight  = input.float(defval = 0. , title = "2️⃣", group = s1Group, inline = "v1")
s1Series    = operatorReturn(indicators(s1Left),s1Mid,s1ValueBool ? s1EndRight : indicators(s1Right))
detect(s1Status,s1Series,s1Direction)


// CONDITION 2
s2Group     = "❗️❗️❗️❗️ CONDITION #2 ❗️❗️❗️❗️"
s2Inline    = "s2i"
s2Status    = input.bool(defval = false, title = "CONDITION Active", group = s2Group )
s2Direction = input.string(defval = "BUY/LONG", title = "Direction",options = ["BUY/LONG","SELL/SHORT"], group = s2Group)
s2Left      = input.string(defval = "CCI", title = "1️⃣", options = ["ATR","MA 1","MA 2","RSI","CCI","BBW", "ADX","MFI","MOM"], group = s2Group, inline = s2Inline)
s2Mid       = input.string(defval = ">=", title = "", options = [">","<",">=","<=","=","!=","CROSS ABOVE","CROSS BELOW"], group = s2Group, inline = s2Inline)
s2Right     = input.string(defval = "CCI", title = "2️⃣", options = ["ATR","MA 1","MA 2","RSI","CCI","BBW", "ADX","MFI","MOM"], group = s2Group, inline = s2Inline)
s2ValueBool = input.bool(defval = false, title = "VALUE ", group = s2Group, inline = "v2")
s2EndRight  = input.float(defval = 0. , title = "2️⃣", group = s2Group, inline = "v2")
s2Series    = operatorReturn(indicators(s2Left),s2Mid,s2ValueBool ? s2EndRight : indicators(s2Right))
detect(s2Status,s2Series,s2Direction)




s3Group     = "❗️❗️❗️❗️ CONDITION #3 ❗️❗️❗️❗️"
s3Inline    = "s3i"
s3Status    = input.bool(defval = false, title = "CONDITION Active", group = s3Group )
s3Direction = input.string(defval = "BUY/LONG", title = "Direction",options = ["BUY/LONG","SELL/SHORT"], group = s3Group)
s3Left      = input.string(defval = "CCI", title = "1️⃣", options = ["ATR","MA 1","MA 2","RSI","CCI","BBW", "ADX","MFI","MOM"], group = s3Group, inline = s3Inline)
s3Mid       = input.string(defval = ">=", title = "", options = [">","<",">=","<=","=","!=","CROSS ABOVE","CROSS BELOW"], group = s3Group, inline = s3Inline)
s3Right     = input.string(defval = "CCI", title = "2️⃣", options = ["ATR","MA 1","MA 2","RSI","CCI","BBW", "ADX","MFI","MOM"], group = s3Group, inline = s3Inline)
s3ValueBool = input.bool(defval = false, title = "VALUE ", group = s3Group, inline = "v3")
s3EndRight  = input.float(defval = 0. , title = "2️⃣", group = s3Group, inline = "v3")
s3Series    = operatorReturn(indicators(s3Left),s3Mid,s3ValueBool ? s3EndRight : indicators(s3Right))
detect(s3Status,s3Series,s3Direction)


s4Group     = "❗️❗️❗️❗️ CONDITION #4 ❗️❗️❗️❗️"
s4Inline    = "s4i"
s4Status    = input.bool(defval = false, title = "CONDITION Active", group = s4Group )
s4Direction = input.string(defval = "BUY/LONG", title = "Direction",options = ["BUY/LONG","SELL/SHORT"], group = s4Group)
s4Left      = input.string(defval = "CCI", title = "1️⃣", options = ["ATR","MA 1","MA 2","RSI","CCI","BBW", "ADX","MFI","MOM"], group = s4Group, inline = s4Inline)
s4Mid       = input.string(defval = ">=", title = "", options = [">","<",">=","<=","=","!=","CROSS ABOVE","CROSS BELOW"], group = s4Group, inline = s4Inline)
s4Right     = input.string(defval = "CCI", title = "2️⃣", options = ["ATR","MA 1","MA 2","RSI","CCI","BBW", "ADX","MFI","MOM"], group = s4Group, inline = s4Inline)
s4ValueBool = input.bool(defval = false, title = "VALUE ", group = s4Group, inline = "v3")
s4EndRight  = input.float(defval = 0. , title = "2️⃣", group = s4Group, inline = "v3")
s4Series    = operatorReturn(indicators(s4Left),s4Mid,s4ValueBool ? s4EndRight : indicators(s4Right))
detect(s4Status,s4Series,s4Direction)

s5Group     = "❗️❗️❗️❗️ CONDITION #5 ❗️❗️❗️❗️"
s5Inline    = "s5i"
s5Status    = input.bool(defval = false, title = "CONDITION Active", group = s5Group )
s5Direction = input.string(defval = "BUY/LONG", title = "Direction",options = ["BUY/LONG","SELL/SHORT"], group = s5Group)
s5Left      = input.string(defval = "CCI", title = "1️⃣", options = ["ATR","MA 1","MA 2","RSI","CCI","BBW", "ADX","MFI","MOM"], group = s5Group, inline = s5Inline)
s5Mid       = input.string(defval = ">=", title = "", options = [">","<",">=","<=","=","!=","CROSS ABOVE","CROSS BELOW"], group = s5Group, inline = s5Inline)
s5Right     = input.string(defval = "CCI", title = "2️⃣", options = ["ATR","MA 1","MA 2","RSI","CCI","BBW", "ADX","MFI","MOM"], group = s5Group, inline = s5Inline)
s5ValueBool = input.bool(defval = false, title = "VALUE ", group = s5Group, inline = "v3")
s5EndRight  = input.float(defval = 0. , title = "2️⃣", group = s5Group, inline = "v3")
s5Series    = operatorReturn(indicators(s5Left),s5Mid,s5ValueBool ? s5EndRight : indicators(s5Right))
detect(s5Status,s5Series,s5Direction)

s6Group     = "❗️❗️❗️❗️ CONDITION #6 ❗️❗️❗️❗️"
s6Inline    = "s6i"
s6Status    = input.bool(defval = false, title = "CONDITION Active", group = s6Group )
s6Direction = input.string(defval = "BUY/LONG", title = "Direction",options = ["BUY/LONG","SELL/SHORT"], group = s6Group)
s6Left      = input.string(defval = "CCI", title = "1️⃣", options = ["ATR","MA 1","MA 2","RSI","CCI","BBW", "ADX","MFI","MOM"], group = s6Group, inline = s6Inline)
s6Mid       = input.string(defval = ">=", title = "", options = [">","<",">=","<=","=","!=","CROSS ABOVE","CROSS BELOW"], group = s6Group, inline = s6Inline)
s6Right     = input.string(defval = "CCI", title = "2️⃣", options = ["ATR","MA 1","MA 2","RSI","CCI","BBW", "ADX","MFI","MOM"], group = s6Group, inline = s6Inline)
s6ValueBool = input.bool(defval = false, title = "VALUE ", group = s6Group, inline = "v3")
s6EndRight  = input.float(defval = 0. , title = "2️⃣", group = s6Group, inline = "v3")
s6Series    = operatorReturn(indicators(s6Left),s6Mid,s6ValueBool ? s6EndRight : indicators(s6Right))
detect(s6Status,s6Series,s6Direction)


alSinyal = andORLong == "AND" ? array.every(buyList) : array.includes(buyList,true)
satSinyal = andORShort == "AND" ? array.every(sellList) : array.includes(sellList,true)

sinyal = alSinyal ? close : satSinyal ? close * -1 : 0




alText = "AL"
satText = "SAT"
periodText = "PERİYOT : "
fiyatText = "FİYAT : "
alarmTetikle(sembol_adi)=>
    durum = request.security(sembol_adi,timeframe.period,sinyal, ignore_invalid_symbol = true)
    mesaj = durum > 0 ? alText : durum < 0 ? satText : ""
    if durum != 0 and str.length(sembol_adi) > 1 // herhangi bir sinyal var ise yani
        alarmMesajiJSON = "<strong>"+ syminfo.ticker(sembol_adi)+"</strong>" +" => "+mesaj +"\\n" + periodText + timeframe.period + "\\n" +fiyatText + str.tostring(math.round(math.abs(durum),2))
      
        reply = ',"reply_markup":{"inline_keyboard":[[{"text":"📉 Tradingview","url":"https://www.tradingview.com/chart/?symbol='+sembol_adi+'"}]]}'
        if telegramSend
            alert(message='{"chat_id":"'+grupid+'","text":"'+alarmMesajiJSON+'","parse_mode":"html"'+reply+'}',freq =  alert.freq_once_per_bar_close)
        else
            alert(message = sembol_adi + " hissesinde sinyal : " + mesaj)






symbol1 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S1")
symbol2 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S2")
symbol3 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S3")
symbol4 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S4")
symbol5 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S5")
symbol6 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S6")
symbol7 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S7")
symbol8 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S8")
symbol9 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S9")
symbol10 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S10")
symbol11 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S11")
symbol12 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S12")
symbol13 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S13")
symbol14 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S14")
symbol15 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S15")
symbol16 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S16")
symbol17 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S17")
symbol18 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S18")
symbol19 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S19")
symbol20 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S20")
symbol21 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S21")
symbol22 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S22")
symbol23 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S23")
symbol24 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S24")
symbol25 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S25")
symbol26 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S26")
symbol27 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S27")
symbol28 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S28")
symbol29 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S29")
symbol30 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S30")
symbol31 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S31")
symbol32 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S32")
symbol33 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S33")
symbol34 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S34")
symbol35 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S35")
symbol36 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S36")
symbol37 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S37")
symbol38 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S38")
symbol39 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S39")
symbol40 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S40")


alarmTetikle(group == "SPECIAL" ? symbol1 : group == "GRUP-1" ? "BIST:A1CAP" : group == "GRUP-2" ? "BIST:ARCLK" : group == "GRUP-3" ? "BIST:BIGCH" : group == "GRUP-4" ? "BIST:CMENT" : group == "GRUP-5" ? "BIST:EDIP" : group == "GRUP-6" ? "BIST:FRIGO" : group == "GRUP-7" ? "BIST:HUNER" : group == "GRUP-8" ? "BIST:KARTN" : group == "GRUP-9" ? "BIST:KTSKR" : group == "GRUP-10" ? "BIST:MNDTR" : group == "GRUP-11" ? "BIST:PAPIL" : group == "GRUP-12" ? "BIST:SAMAT" : group == "GRUP-13" ? "BIST:TAVHL" : group == "GRUP-14" ? "BIST:UZERB" : "")
alarmTetikle(group == "SPECIAL" ? symbol2 : group == "GRUP-1" ? "BIST:ACSEL" : group == "GRUP-2" ? "BIST:ARDYZ" : group == "GRUP-3" ? "BIST:BIMAS" : group == "GRUP-4" ? "BIST:CONSE" : group == "GRUP-5" ? "BIST:EGEEN" : group == "GRUP-6" ? "BIST:FROTO" : group == "GRUP-7" ? "BIST:HURGZ" : group == "GRUP-8" ? "BIST:KARYE" : group == "GRUP-9" ? "BIST:KUTPO" : group == "GRUP-10" ? "BIST:MOBTL" : group == "GRUP-11" ? "BIST:PARSN" : group == "GRUP-12" ? "BIST:SANEL" : group == "GRUP-13" ? "BIST:TBORG" : group == "GRUP-14" ? "BIST:VAKBN" :"")
alarmTetikle(group == "SPECIAL" ? symbol3 : group == "GRUP-1" ? "BIST:ADEL" : group == "GRUP-2" ? "BIST:ARENA" : group == "GRUP-3" ? "BIST:BINHO" : group == "GRUP-4" ? "BIST:COSMO" : group == "GRUP-5" ? "BIST:EGEPO" : group == "GRUP-6" ? "BIST:FZLGY" : group == "GRUP-7" ? "BIST:ICBCT" : group == "GRUP-8" ? "BIST:KATMR" : group == "GRUP-9" ? "BIST:KUVVA" : group == "GRUP-10" ? "BIST:MOGAN" : group == "GRUP-11" ? "BIST:PASEU" : group == "GRUP-12" ? "BIST:SANFM" : group == "GRUP-13" ? "BIST:TCELL" : group == "GRUP-14" ? "BIST:VAKFN" :"")
alarmTetikle(group == "SPECIAL" ? symbol4 : group == "GRUP-1" ? "BIST:ADESE" : group == "GRUP-2" ? "BIST:ARSAN" : group == "GRUP-3" ? "BIST:BIOEN" : group == "GRUP-4" ? "BIST:CRDFA" : group == "GRUP-5" ? "BIST:EGGUB" : group == "GRUP-6" ? "BIST:GARAN" : group == "GRUP-7" ? "BIST:ICUGS" : group == "GRUP-8" ? "BIST:KAYSE" : group == "GRUP-9" ? "BIST:KUYAS" : group == "GRUP-10" ? "BIST:MPARK" : group == "GRUP-11" ? "BIST:PATEK" : group == "GRUP-12" ? "BIST:SANKO" : group == "GRUP-13" ? "BIST:TDGYO" : group == "GRUP-14" ? "BIST:VAKKO" :"")
alarmTetikle(group == "SPECIAL" ? symbol5 : group == "GRUP-1" ? "BIST:ADGYO" : group == "GRUP-2" ? "BIST:ARTMS" : group == "GRUP-3" ? "BIST:BIZIM" : group == "GRUP-4" ? "BIST:CRFSA" : group == "GRUP-5" ? "BIST:EGPRO" : group == "GRUP-6" ? "BIST:GARFA" : group == "GRUP-7" ? "BIST:IDGYO" : group == "GRUP-8" ? "BIST:KBORU" : group == "GRUP-9" ? "BIST:KZBGY" : group == "GRUP-10" ? "BIST:MRGYO" : group == "GRUP-11" ? "BIST:PCILT" : group == "GRUP-12" ? "BIST:SARKY" : group == "GRUP-13" ? "BIST:TEKTU" : group == "GRUP-14" ? "BIST:VANGD" :"")
alarmTetikle(group == "SPECIAL" ? symbol6 : group == "GRUP-1" ? "BIST:AEFES" : group == "GRUP-2" ? "BIST:ARZUM" : group == "GRUP-3" ? "BIST:BJKAS" : group == "GRUP-4" ? "BIST:CUSAN" : group == "GRUP-5" ? "BIST:EGSER" : group == "GRUP-6" ? "BIST:GEDIK" : group == "GRUP-7" ? "BIST:IEYHO" : group == "GRUP-8" ? "BIST:KCAER" : group == "GRUP-9" ? "BIST:KZGYO" : group == "GRUP-10" ? "BIST:MRSHL" : group == "GRUP-11" ? "BIST:PEGYO" : group == "GRUP-12" ? "BIST:SASA" : group == "GRUP-13" ? "BIST:TERA" : group == "GRUP-14" ? "BIST:VBTYZ" :"")
alarmTetikle(group == "SPECIAL" ? symbol7 : group == "GRUP-1" ? "BIST:AFYON" : group == "GRUP-2" ? "BIST:ASELS" : group == "GRUP-3" ? "BIST:BLCYT" : group == "GRUP-4" ? "BIST:CVKMD" : group == "GRUP-5" ? "BIST:EKGYO" : group == "GRUP-6" ? "BIST:GEDZA" : group == "GRUP-7" ? "BIST:IHAAS" : group == "GRUP-8" ? "BIST:KCHOL" : group == "GRUP-9" ? "BIST:LIDER" : group == "GRUP-10" ? "BIST:MSGYO" : group == "GRUP-11" ? "BIST:PEKGY" : group == "GRUP-12" ? "BIST:SAYAS" : group == "GRUP-13" ? "BIST:TETMT" : group == "GRUP-14" ? "BIST:VERTU" :"")
alarmTetikle(group == "SPECIAL" ? symbol8 : group == "GRUP-1" ? "BIST:AGESA" : group == "GRUP-2" ? "BIST:ASGYO" : group == "GRUP-3" ? "BIST:BMSCH" : group == "GRUP-4" ? "BIST:CWENE" : group == "GRUP-5" ? "BIST:EKIZ" : group == "GRUP-6" ? "BIST:GENIL" : group == "GRUP-7" ? "BIST:IHEVA" : group == "GRUP-8" ? "BIST:KENT" : group == "GRUP-9" ? "BIST:LIDFA" : group == "GRUP-10" ? "BIST:MTRKS" : group == "GRUP-11" ? "BIST:PENGD" : group == "GRUP-12" ? "BIST:SDTTR" : group == "GRUP-13" ? "BIST:TEZOL" : group == "GRUP-14" ? "BIST:VERUS" :"")
alarmTetikle(group == "SPECIAL" ? symbol9 : group == "GRUP-1" ? "BIST:AGHOL" : group == "GRUP-2" ? "BIST:ASTOR" : group == "GRUP-3" ? "BIST:BMSTL" : group == "GRUP-4" ? "BIST:DAGHL" : group == "GRUP-5" ? "BIST:EKOS" : group == "GRUP-6" ? "BIST:GENTS" : group == "GRUP-7" ? "BIST:IHGZT" : group == "GRUP-8" ? "BIST:KERVN" : group == "GRUP-9" ? "BIST:LINK" : group == "GRUP-10" ? "BIST:MTRYO" : group == "GRUP-11" ? "BIST:PENTA" : group == "GRUP-12" ? "BIST:SEGYO" : group == "GRUP-13" ? "BIST:TGSAS" : group == "GRUP-14" ? "BIST:VESBE" :"")
alarmTetikle(group == "SPECIAL" ? symbol10 : group == "GRUP-1" ? "BIST:AGROT" : group == "GRUP-2" ? "BIST:ASUZU" : group == "GRUP-3" ? "BIST:BNTAS" : group == "GRUP-4" ? "BIST:DAGI" : group == "GRUP-5" ? "BIST:EKSUN" : group == "GRUP-6" ? "BIST:GEREL" : group == "GRUP-7" ? "BIST:IHLAS" : group == "GRUP-8" ? "BIST:KERVT" : group == "GRUP-9" ? "BIST:LKMNH" : group == "GRUP-10" ? "BIST:MZHLD" : group == "GRUP-11" ? "BIST:PETKM" : group == "GRUP-12" ? "BIST:SEKFK" : group == "GRUP-13" ? "BIST:THYAO" : group == "GRUP-14" ? "BIST:VESTL" :"")
alarmTetikle(group == "SPECIAL" ? symbol11 : group == "GRUP-1" ? "BIST:AGYO" : group == "GRUP-2" ? "BIST:ATAGY" : group == "GRUP-3" ? "BIST:BOBET" : group == "GRUP-4" ? "BIST:DAPGM" : group == "GRUP-5" ? "BIST:ELITE" : group == "GRUP-6" ? "BIST:GESAN" : group == "GRUP-7" ? "BIST:IHLGM" : group == "GRUP-8" ? "BIST:KFEIN" : group == "GRUP-9" ? "BIST:LMKDC" : group == "GRUP-10" ? "BIST:NATEN" : group == "GRUP-11" ? "BIST:PETUN" : group == "GRUP-12" ? "BIST:SEKUR" : group == "GRUP-13" ? "BIST:TKFEN" : group == "GRUP-14" ? "BIST:VKFYO" :"")
alarmTetikle(group == "SPECIAL" ? symbol12 : group == "GRUP-1" ? "BIST:AHGAZ" : group == "GRUP-2" ? "BIST:ATAKP" : group == "GRUP-3" ? "BIST:BORLS" : group == "GRUP-4" ? "BIST:DARDL" : group == "GRUP-5" ? "BIST:EMKEL" : group == "GRUP-6" ? "BIST:GIPTA" : group == "GRUP-7" ? "BIST:IHYAY" : group == "GRUP-8" ? "BIST:KGYO" : group == "GRUP-9" ? "BIST:LOGO" : group == "GRUP-10" ? "BIST:NETAS" : group == "GRUP-11" ? "BIST:PGSUS" : group == "GRUP-12" ? "BIST:SELEC" : group == "GRUP-13" ? "BIST:TKNSA" : group == "GRUP-14" ? "BIST:VKGYO" :"")
alarmTetikle(group == "SPECIAL" ? symbol13 : group == "GRUP-1" ? "BIST:AKBNK" : group == "GRUP-2" ? "BIST:ATATP" : group == "GRUP-3" ? "BIST:BORSK" : group == "GRUP-4" ? "BIST:DENGE" : group == "GRUP-5" ? "BIST:EMNIS" : group == "GRUP-6" ? "BIST:GLBMD" : group == "GRUP-7" ? "BIST:IMASM" : group == "GRUP-8" ? "BIST:KIMMR" : group == "GRUP-9" ? "BIST:LRSHO" : group == "GRUP-10" ? "BIST:NIBAS" : group == "GRUP-11" ? "BIST:PINSU" : group == "GRUP-12" ? "BIST:SELGD" : group == "GRUP-13" ? "BIST:TLMAN" : group == "GRUP-14" ? "BIST:VKING" :"")
alarmTetikle(group == "SPECIAL" ? symbol14 : group == "GRUP-1" ? "BIST:AKCNS" : group == "GRUP-2" ? "BIST:ATEKS" : group == "GRUP-3" ? "BIST:BOSSA" : group == "GRUP-4" ? "BIST:DERHL" : group == "GRUP-5" ? "BIST:ENERY" : group == "GRUP-6" ? "BIST:GLCVY" : group == "GRUP-7" ? "BIST:INDES" : group == "GRUP-8" ? "BIST:KLGYO" : group == "GRUP-9" ? "BIST:LUKSK" : group == "GRUP-10" ? "BIST:NTGAZ" : group == "GRUP-11" ? "BIST:PKART" : group == "GRUP-12" ? "BIST:SELVA" : group == "GRUP-13" ? "BIST:TMPOL" : group == "GRUP-14" ? "BIST:VRGYO" :"")
alarmTetikle(group == "SPECIAL" ? symbol15 : group == "GRUP-1" ? "BIST:AKENR" : group == "GRUP-2" ? "BIST:ATLAS" : group == "GRUP-3" ? "BIST:BRISA" : group == "GRUP-4" ? "BIST:DERIM" : group == "GRUP-5" ? "BIST:ENJSA" : group == "GRUP-6" ? "BIST:GLRYH" : group == "GRUP-7" ? "BIST:INFO" : group == "GRUP-8" ? "BIST:KLKIM" : group == "GRUP-9" ? "BIST:MAALT" : group == "GRUP-10" ? "BIST:NTHOL" : group == "GRUP-11" ? "BIST:PKENT" : group == "GRUP-12" ? "BIST:SEYKM" : group == "GRUP-13" ? "BIST:TMSN" : group == "GRUP-14" ? "BIST:YAPRK" :"")
alarmTetikle(group == "SPECIAL" ? symbol16 : group == "GRUP-1" ? "BIST:AKFGY" : group == "GRUP-2" ? "BIST:ATSYH" : group == "GRUP-3" ? "BIST:BRKO" : group == "GRUP-4" ? "BIST:DESA" : group == "GRUP-5" ? "BIST:ENKAI" : group == "GRUP-6" ? "BIST:GLYHO" : group == "GRUP-7" ? "BIST:INGRM" : group == "GRUP-8" ? "BIST:KLMSN" : group == "GRUP-9" ? "BIST:MACKO" : group == "GRUP-10" ? "BIST:NUGYO" : group == "GRUP-11" ? "BIST:PLTUR" : group == "GRUP-12" ? "BIST:SILVR" : group == "GRUP-13" ? "BIST:TNZTP" : group == "GRUP-14" ? "BIST:YATAS" :"")
alarmTetikle(group == "SPECIAL" ? symbol17 : group == "GRUP-1" ? "BIST:AKFYE" : group == "GRUP-2" ? "BIST:AVGYO" : group == "GRUP-3" ? "BIST:BRKSN" : group == "GRUP-4" ? "BIST:DESPC" : group == "GRUP-5" ? "BIST:ENSRI" : group == "GRUP-6" ? "BIST:GMTAS" : group == "GRUP-7" ? "BIST:INTEM" : group == "GRUP-8" ? "BIST:KLNMA" : group == "GRUP-9" ? "BIST:MAGEN" : group == "GRUP-10" ? "BIST:NUHCM" : group == "GRUP-11" ? "BIST:PNLSN" : group == "GRUP-12" ? "BIST:SISE" : group == "GRUP-13" ? "BIST:TOASO" : group == "GRUP-14" ? "BIST:YAYLA" :"")
alarmTetikle(group == "SPECIAL" ? symbol18 : group == "GRUP-1" ? "BIST:AKGRT" : group == "GRUP-2" ? "BIST:AVHOL" : group == "GRUP-3" ? "BIST:BRKVY" : group == "GRUP-4" ? "BIST:DEVA" : group == "GRUP-5" ? "BIST:EPLAS" : group == "GRUP-6" ? "BIST:GOKNR" : group == "GRUP-7" ? "BIST:INVEO" : group == "GRUP-8" ? "BIST:KLRHO" : group == "GRUP-9" ? "BIST:MAKIM" : group == "GRUP-10" ? "BIST:OBAMS" : group == "GRUP-11" ? "BIST:PNSUT" : group == "GRUP-12" ? "BIST:SKBNK" : group == "GRUP-13" ? "BIST:TRCAS" : group == "GRUP-14" ? "BIST:YBTAS" :"")
alarmTetikle(group == "SPECIAL" ? symbol19 : group == "GRUP-1" ? "BIST:AKMGY" : group == "GRUP-2" ? "BIST:AVOD" : group == "GRUP-3" ? "BIST:BRLSM" : group == "GRUP-4" ? "BIST:DGATE" : group == "GRUP-5" ? "BIST:ERBOS" : group == "GRUP-6" ? "BIST:GOLTS" : group == "GRUP-7" ? "BIST:INVES" : group == "GRUP-8" ? "BIST:KLSER" : group == "GRUP-9" ? "BIST:MAKTK" : group == "GRUP-10" ? "BIST:OBASE" : group == "GRUP-11" ? "BIST:POLHO" : group == "GRUP-12" ? "BIST:SKTAS" : group == "GRUP-13" ? "BIST:TRGYO" : group == "GRUP-14" ? "BIST:YEOTK" :"")
alarmTetikle(group == "SPECIAL" ? symbol20 : group == "GRUP-1" ? "BIST:AKSA" : group == "GRUP-2" ? "BIST:AVPGY" : group == "GRUP-3" ? "BIST:BRMEN" : group == "GRUP-4" ? "BIST:DGGYO" : group == "GRUP-5" ? "BIST:ERCB" : group == "GRUP-6" ? "BIST:GOODY" : group == "GRUP-7" ? "BIST:IPEKE" : group == "GRUP-8" ? "BIST:KLSYN" : group == "GRUP-9" ? "BIST:MANAS" : group == "GRUP-10" ? "BIST:ODAS" : group == "GRUP-11" ? "BIST:POLTK" : group == "GRUP-12" ? "BIST:SKYLP" : group == "GRUP-13" ? "BIST:TRILC" : group == "GRUP-14" ? "BIST:YESIL" :"")
alarmTetikle(group == "SPECIAL" ? symbol21 : group == "GRUP-1" ? "BIST:AKSEN" : group == "GRUP-2" ? "BIST:AVTUR" : group == "GRUP-3" ? "BIST:BRSAN" : group == "GRUP-4" ? "BIST:DGNMO" : group == "GRUP-5" ? "BIST:EREGL" : group == "GRUP-6" ? "BIST:GOZDE" : group == "GRUP-7" ? "BIST:ISATR" : group == "GRUP-8" ? "BIST:KMPUR" : group == "GRUP-9" ? "BIST:MARBL" : group == "GRUP-10" ? "BIST:ODINE" : group == "GRUP-11" ? "BIST:PRDGS" : group == "GRUP-12" ? "BIST:SKYMD" : group == "GRUP-13" ? "BIST:TSGYO" : group == "GRUP-14" ? "BIST:YGGYO" :"")
alarmTetikle(group == "SPECIAL" ? symbol22 : group == "GRUP-1" ? "BIST:AKSGY" : group == "GRUP-2" ? "BIST:AYCES" : group == "GRUP-3" ? "BIST:BRYAT" : group == "GRUP-4" ? "BIST:DIRIT" : group == "GRUP-5" ? "BIST:ERSU" : group == "GRUP-6" ? "BIST:GRNYO" : group == "GRUP-7" ? "BIST:ISBIR" : group == "GRUP-8" ? "BIST:KNFRT" : group == "GRUP-9" ? "BIST:MARKA" : group == "GRUP-10" ? "BIST:OFSYM" : group == "GRUP-11" ? "BIST:PRKAB" : group == "GRUP-12" ? "BIST:SMART" : group == "GRUP-13" ? "BIST:TSKB" : group == "GRUP-14" ? "BIST:YGYO" :"")
alarmTetikle(group == "SPECIAL" ? symbol23 : group == "GRUP-1" ? "BIST:AKSUE" : group == "GRUP-2" ? "BIST:AYDEM" : group == "GRUP-3" ? "BIST:BSOKE" : group == "GRUP-4" ? "BIST:DITAS" : group == "GRUP-5" ? "BIST:ESCAR" : group == "GRUP-6" ? "BIST:GRSEL" : group == "GRUP-7" ? "BIST:ISBTR" : group == "GRUP-8" ? "BIST:KONKA" : group == "GRUP-9" ? "BIST:MARTI" : group == "GRUP-10" ? "BIST:ONCSM" : group == "GRUP-11" ? "BIST:PRKME" : group == "GRUP-12" ? "BIST:SMRTG" : group == "GRUP-13" ? "BIST:TSPOR" : group == "GRUP-14" ? "BIST:YKBNK" :"")
alarmTetikle(group == "SPECIAL" ? symbol24 : group == "GRUP-1" ? "BIST:AKYHO" : group == "GRUP-2" ? "BIST:AYEN" : group == "GRUP-3" ? "BIST:BTCIM" : group == "GRUP-4" ? "BIST:DMRGD" : group == "GRUP-5" ? "BIST:ESCOM" : group == "GRUP-6" ? "BIST:GRTRK" : group == "GRUP-7" ? "BIST:ISCTR" : group == "GRUP-8" ? "BIST:KONTR" : group == "GRUP-9" ? "BIST:MAVI" : group == "GRUP-10" ? "BIST:ORCAY" : group == "GRUP-11" ? "BIST:PRZMA" : group == "GRUP-12" ? "BIST:SNGYO" : group == "GRUP-13" ? "BIST:TTKOM" : group == "GRUP-14" ? "BIST:YKSLN" :"")
alarmTetikle(group == "SPECIAL" ? symbol25 : group == "GRUP-1" ? "BIST:ALARK" : group == "GRUP-2" ? "BIST:AYES" : group == "GRUP-3" ? "BIST:BUCIM" : group == "GRUP-4" ? "BIST:DMSAS" : group == "GRUP-5" ? "BIST:ESEN" : group == "GRUP-6" ? "BIST:GSDDE" : group == "GRUP-7" ? "BIST:ISDMR" : group == "GRUP-8" ? "BIST:KONYA" : group == "GRUP-9" ? "BIST:MEDTR" : group == "GRUP-10" ? "BIST:ORGE" : group == "GRUP-11" ? "BIST:PSDTC" : group == "GRUP-12" ? "BIST:SNICA" : group == "GRUP-13" ? "BIST:TTRAK" : group == "GRUP-14" ? "BIST:YONGA" :"")
alarmTetikle(group == "SPECIAL" ? symbol26 : group == "GRUP-1" ? "BIST:ALBRK" : group == "GRUP-2" ? "BIST:AYGAZ" : group == "GRUP-3" ? "BIST:BURCE" : group == "GRUP-4" ? "BIST:DNISI" : group == "GRUP-5" ? "BIST:ETILR" : group == "GRUP-6" ? "BIST:GSDHO" : group == "GRUP-7" ? "BIST:ISFIN" : group == "GRUP-8" ? "BIST:KOPOL" : group == "GRUP-9" ? "BIST:MEGAP" : group == "GRUP-10" ? "BIST:ORMA" : group == "GRUP-11" ? "BIST:PSGYO" : group == "GRUP-12" ? "BIST:SNKRN" : group == "GRUP-13" ? "BIST:TUCLK" : group == "GRUP-14" ? "BIST:YUNSA" :"")
alarmTetikle(group == "SPECIAL" ? symbol27 : group == "GRUP-1" ? "BIST:ALCAR" : group == "GRUP-2" ? "BIST:AZTEK" : group == "GRUP-3" ? "BIST:BURVA" : group == "GRUP-4" ? "BIST:DOAS" : group == "GRUP-5" ? "BIST:ETYAT" : group == "GRUP-6" ? "BIST:GSRAY" : group == "GRUP-7" ? "BIST:ISGSY" : group == "GRUP-8" ? "BIST:KORDS" : group == "GRUP-9" ? "BIST:MEGMT" : group == "GRUP-10" ? "BIST:OSMEN" : group == "GRUP-11" ? "BIST:QNBFB" : group == "GRUP-12" ? "BIST:SNPAM" : group == "GRUP-13" ? "BIST:TUKAS" : group == "GRUP-14" ? "BIST:YYAPI" :"")
alarmTetikle(group == "SPECIAL" ? symbol28 : group == "GRUP-1" ? "BIST:ALCTL" : group == "GRUP-2" ? "BIST:BAGFS" : group == "GRUP-3" ? "BIST:BVSAN" : group == "GRUP-4" ? "BIST:DOBUR" : group == "GRUP-5" ? "BIST:EUHOL" : group == "GRUP-6" ? "BIST:GUBRF" : group == "GRUP-7" ? "BIST:ISGYO" : group == "GRUP-8" ? "BIST:KOZAA" : group == "GRUP-9" ? "BIST:MEKAG" : group == "GRUP-10" ? "BIST:OSTIM" : group == "GRUP-11" ? "BIST:QNBFL" : group == "GRUP-12" ? "BIST:SODSN" : group == "GRUP-13" ? "BIST:TUPRS" : group == "GRUP-14" ? "BIST:YYLGD" :"")
alarmTetikle(group == "SPECIAL" ? symbol29 : group == "GRUP-1" ? "BIST:ALFAS" : group == "GRUP-2" ? "BIST:BAKAB" : group == "GRUP-3" ? "BIST:BYDNR" : group == "GRUP-4" ? "BIST:DOCO" : group == "GRUP-5" ? "BIST:EUKYO" : group == "GRUP-6" ? "BIST:GWIND" : group == "GRUP-7" ? "BIST:ISKPL" : group == "GRUP-8" ? "BIST:KOZAL" : group == "GRUP-9" ? "BIST:MEPET" : group == "GRUP-10" ? "BIST:OTKAR" : group == "GRUP-11" ? "BIST:QUAGR" : group == "GRUP-12" ? "BIST:SOKE" : group == "GRUP-13" ? "BIST:TUREX" : group == "GRUP-14" ? "BIST:ZEDUR" :"")
alarmTetikle(group == "SPECIAL" ? symbol30 : group == "GRUP-1" ? "BIST:ALGYO" : group == "GRUP-2" ? "BIST:BALAT" : group == "GRUP-3" ? "BIST:CANTE" : group == "GRUP-4" ? "BIST:DOFER" : group == "GRUP-5" ? "BIST:EUPWR" : group == "GRUP-6" ? "BIST:GZNMI" : group == "GRUP-7" ? "BIST:ISKUR" : group == "GRUP-8" ? "BIST:KRDMA" : group == "GRUP-9" ? "BIST:MERCN" : group == "GRUP-10" ? "BIST:OTTO" : group == "GRUP-11" ? "BIST:RALYH" : group == "GRUP-12" ? "BIST:SOKM" : group == "GRUP-13" ? "BIST:TURGG" : group == "GRUP-14" ? "BIST:ZOREN" :"")
alarmTetikle(group == "SPECIAL" ? symbol31 : group == "GRUP-1" ? "BIST:ALKA" : group == "GRUP-2" ? "BIST:BANVT" : group == "GRUP-3" ? "BIST:CASA" : group == "GRUP-4" ? "BIST:DOGUB" : group == "GRUP-5" ? "BIST:EUREN" : group == "GRUP-6" ? "BIST:HALKB" : group == "GRUP-7" ? "BIST:ISMEN" : group == "GRUP-8" ? "BIST:KRDMB" : group == "GRUP-9" ? "BIST:MERIT" : group == "GRUP-10" ? "BIST:OYAKC" : group == "GRUP-11" ? "BIST:RAYSG" : group == "GRUP-12" ? "BIST:SONME" : group == "GRUP-13" ? "BIST:TURSG" : group == "GRUP-14" ? "BIST:ZRGYO" :"")
alarmTetikle(group == "SPECIAL" ? symbol32 : group == "GRUP-1" ? "BIST:ALKIM" : group == "GRUP-2" ? "BIST:BARMA" : group == "GRUP-3" ? "BIST:CATES" : group == "GRUP-4" ? "BIST:DOHOL" : group == "GRUP-5" ? "BIST:EUYO" : group == "GRUP-6" ? "BIST:HATEK" : group == "GRUP-7" ? "BIST:ISSEN" : group == "GRUP-8" ? "BIST:KRDMD" : group == "GRUP-9" ? "BIST:MERKO" : group == "GRUP-10" ? "BIST:OYAYO" : group == "GRUP-11" ? "BIST:REEDR" : group == "GRUP-12" ? "BIST:SRVGY" : group == "GRUP-13" ? "BIST:UFUK" :"")
alarmTetikle(group == "SPECIAL" ? symbol33 : group == "GRUP-1" ? "BIST:ALMAD" : group == "GRUP-2" ? "BIST:BASCM" : group == "GRUP-3" ? "BIST:CCOLA" : group == "GRUP-4" ? "BIST:DOKTA" : group == "GRUP-5" ? "BIST:EYGYO" : group == "GRUP-6" ? "BIST:HATSN" : group == "GRUP-7" ? "BIST:IZENR" : group == "GRUP-8" ? "BIST:KRGYO" : group == "GRUP-9" ? "BIST:METRO" : group == "GRUP-10" ? "BIST:OYLUM" : group == "GRUP-11" ? "BIST:RNPOL" : group == "GRUP-12" ? "BIST:SUMAS" : group == "GRUP-13" ? "BIST:ULAS" :"")
alarmTetikle(group == "SPECIAL" ? symbol34 : group == "GRUP-1" ? "BIST:ALTIN" : group == "GRUP-2" ? "BIST:BASGZ" : group == "GRUP-3" ? "BIST:CELHA" : group == "GRUP-4" ? "BIST:DURDO" : group == "GRUP-5" ? "BIST:FADE" : group == "GRUP-6" ? "BIST:HDFGS" : group == "GRUP-7" ? "BIST:IZFAS" : group == "GRUP-8" ? "BIST:KRONT" : group == "GRUP-9" ? "BIST:METUR" : group == "GRUP-10" ? "BIST:OYYAT" : group == "GRUP-11" ? "BIST:RODRG" : group == "GRUP-12" ? "BIST:SUNTK" : group == "GRUP-13" ? "BIST:ULKER" :"")
alarmTetikle(group == "SPECIAL" ? symbol35 : group == "GRUP-1" ? "BIST:ALVES" : group == "GRUP-2" ? "BIST:BAYRK" : group == "GRUP-3" ? "BIST:CEMAS" : group == "GRUP-4" ? "BIST:DYOBY" : group == "GRUP-5" ? "BIST:FENER" : group == "GRUP-6" ? "BIST:HEDEF" : group == "GRUP-7" ? "BIST:IZINV" : group == "GRUP-8" ? "BIST:KRPLS" : group == "GRUP-9" ? "BIST:MGROS" : group == "GRUP-10" ? "BIST:OZGYO" : group == "GRUP-11" ? "BIST:RTALB" : group == "GRUP-12" ? "BIST:SURGY" : group == "GRUP-13" ? "BIST:ULUFA" :"")
alarmTetikle(group == "SPECIAL" ? symbol36 : group == "GRUP-1" ? "BIST:ANELE" : group == "GRUP-2" ? "BIST:BEGYO" : group == "GRUP-3" ? "BIST:CEMTS" : group == "GRUP-4" ? "BIST:DZGYO" : group == "GRUP-5" ? "BIST:FLAP" : group == "GRUP-6" ? "BIST:HEKTS" : group == "GRUP-7" ? "BIST:IZMDC" : group == "GRUP-8" ? "BIST:KRSTL" : group == "GRUP-9" ? "BIST:MHRGY" : group == "GRUP-10" ? "BIST:OZKGY" : group == "GRUP-11" ? "BIST:RUBNS" : group == "GRUP-12" ? "BIST:SUWEN" : group == "GRUP-13" ? "BIST:ULUSE" :"")
alarmTetikle(group == "SPECIAL" ? symbol37 : group == "GRUP-1" ? "BIST:ANGEN" : group == "GRUP-2" ? "BIST:BERA" : group == "GRUP-3" ? "BIST:CEOEM" : group == "GRUP-4" ? "BIST:EBEBK" : group == "GRUP-5" ? "BIST:FMIZP" : group == "GRUP-6" ? "BIST:HKTM" : group == "GRUP-7" ? "BIST:JANTS" : group == "GRUP-8" ? "BIST:KRTEK" : group == "GRUP-9" ? "BIST:MIATK" : group == "GRUP-10" ? "BIST:OZRDN" : group == "GRUP-11" ? "BIST:RYGYO" : group == "GRUP-12" ? "BIST:TABGD" : group == "GRUP-13" ? "BIST:ULUUN" :"")
alarmTetikle(group == "SPECIAL" ? symbol38 : group == "GRUP-1" ? "BIST:ANHYT" : group == "GRUP-2" ? "BIST:BEYAZ" : group == "GRUP-3" ? "BIST:CIMSA" : group == "GRUP-4" ? "BIST:ECILC" : group == "GRUP-5" ? "BIST:FONET" : group == "GRUP-6" ? "BIST:HLGYO" : group == "GRUP-7" ? "BIST:KAPLM" : group == "GRUP-8" ? "BIST:KRVGD" : group == "GRUP-9" ? "BIST:MIPAZ" : group == "GRUP-10" ? "BIST:OZSUB" : group == "GRUP-11" ? "BIST:RYSAS" : group == "GRUP-12" ? "BIST:TARKM" : group == "GRUP-13" ? "BIST:UMPAS" :"")
alarmTetikle(group == "SPECIAL" ? symbol39 : group == "GRUP-1" ? "BIST:ANSGR" : group == "GRUP-2" ? "BIST:BFREN" : group == "GRUP-3" ? "BIST:CLEBI" : group == "GRUP-4" ? "BIST:ECZYT" : group == "GRUP-5" ? "BIST:FORMT" : group == "GRUP-6" ? "BIST:HTTBT" : group == "GRUP-7" ? "BIST:KAREL" : group == "GRUP-8" ? "BIST:KSTUR" : group == "GRUP-9" ? "BIST:MMCAS" : group == "GRUP-10" ? "BIST:PAGYO" : group == "GRUP-11" ? "BIST:SAFKR" : group == "GRUP-12" ? "BIST:TATEN" : group == "GRUP-13" ? "BIST:UNLU" :"")
alarmTetikle(group == "SPECIAL" ? symbol40 : group == "GRUP-1" ? "BIST:ARASE" : group == "GRUP-2" ? "BIST:BIENY" : group == "GRUP-3" ? "BIST:CMBTN" : group == "GRUP-4" ? "BIST:EDATA" : group == "GRUP-5" ? "BIST:FORTE" : group == "GRUP-6" ? "BIST:HUBVC" : group == "GRUP-7" ? "BIST:KARSN" : group == "GRUP-8" ? "BIST:KTLEV" : group == "GRUP-9" ? "BIST:MNDRS" : group == "GRUP-10" ? "BIST:PAMEL" : group == "GRUP-11" ? "BIST:SAHOL" : group == "GRUP-12" ? "BIST:TATGD" : group == "GRUP-13" ? "BIST:USAK" :"")



Reklamlar

1’den fazla kez alarm kuracaksanız, Tradingview’de ücretli bir plana sahip olmalısınız.

Telegram’a alarm göndermek isterseniz, Tradingview’de ücretli bir plana sahip olmalısınız.

Okumaya Devam Et

PineScript

Hisselerin Döviz Grafiği

Paylaştı

on

Merhabalar.

Tradingview’de birçoğumuz hisselerin diğer para birimleri karşısındaki grafiklerine de teknik çizimler yapıyoruz. Hisselerin, diğer para birimlerindeki karşılığını görmek için iki farklı yöntemden bahsedeceğim.

Basit Yöntem

Tradingview grafiğini önümüze getirelim. Sembol adı araması yapılan kısma tıklayalım.

Ben XU100 grafiğinin Amerikan Doları cinsinden grafiğini görmek istiyorum.

Bunun için sembol arama kısmına XU100/USDTRY yazıyorum ve ENTER tuşuna basıyorum. Tradingview benim için bu bölme işlemini yapıyor ve XU100 sembolündeki fiyatları USDTRY grafiğindeki fiyatlara bölüp bana gösteriyor.

Reklamlar

Aşağıda oluşan grafiği göreceksiniz.

İkinci Yöntem

İkinci yöntem biraz kod içeriyor. Aşağıda vereceğim kodu PineScript kod editörüne ekleyip grafiğin üstüne attığınızda size ayarlardan hangi para birimini seçmek istediğinizi soruyor.

Ben burada USDTRY seçtim ve açtığım herhangi bir hissede otomatik olarak USDTRY cinsinden göreceğim. Fakat bunun için grafikte de anlık hisse barlarını kapatmanız gerekiyor.

Yoksa USDTRY bazlı fiyatlar ile hissenin fiyatlarının barları karışıyor. Gizle seçeneğine tıkladıktan sonra aşağıdaki gibi USDTRY bazındaki grafiği görebilirsiniz.

Tabi bu tercih meselesidir ve buradaki amaç kodlama alıştırması yapmaktı. Ben ilk yöntemi tercih ediyorum, çünkü ilk yöntem ile baktığımda grafik üstüne başka indikatörler eklediğimde kaynak olarak kullanabiliyorum.

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © only_fibonacci

//@version=5
indicator("Currency System", overlay = true)
curr = input.symbol(defval = "USDTRY", title = "CURRENCY")
curr_open = request.security(curr,timeframe.period,open)
curr_close = request.security(curr,timeframe.period,close)
curr_high = request.security(curr,timeframe.period,high)
curr_low = request.security(curr,timeframe.period,low)
plotcandle(open = open/curr_open, high = high/curr_high,low = low/curr_low,close = close/curr_close, color = open/curr_open > close/curr_close ? color.red : color.green, bordercolor = color.black, wickcolor = color.black)

Okumaya Devam Et

Trendler