Değişken değeri alarmda nasıl kullanılır?
Alarm mesajındaki değişken değerlere erişmek için özel yer tutucular kullanabilirsiniz. Örneğin, NASDAQ:AAPL üzerinde bir alarm oluşturabilir ve bir mesaj kutusuna yazabilirsiniz:
{{exchange}}:{{ticker}}, price = {{close}}, volume = {{volume}}
Alarm tetiklendikten sonra, ilgili değerleri alırsınız:
İşte mevcut yer tutucuların bir listesi:
1. {{ticker}} - alarmda kullanılan sembolün ticker'ı(AAPL, BTCUSD, etc.).
2. {{exchange}} - exchange of the symbol used in alert (NASDAQ, NYSE, MOEX, etc). Gecikmeli semboller için takasın şu şekilde sona ereceğini unutmayın “_DL” or “_DLY.” For example, “NYMEX_DL.”
3. {{close}}, {{open}}, {{high}}, {{low}}, {{time}}, {{volume}} - uyarının tetiklendiği çubuğun karşılık gelen değerleri. Göstergeler, standart olmayan grafikler ve çizimlerdeki uyarıların çözünürlüğe bağlı olduğunu, basit fiyat uyarılarının (ör. fiyatın bir değeri geçmesi) ise her zaman 1 dakikalık çubuklarda hesaplandığını unutmayın. {{time}} UTC cinsindendir ve yyyy-MM-ddTHH:mm:ssZ olarak biçimlendirilmiştir. Örneğin, 2019-08-27T09:56:00Z. Diğer değerler, integral ve kesirli kısımları ayıran bir ondalık nokta ile sabit noktalı sayılardır. Örneğin, 1245,25.
4. {{timenow}} - uyarının geçerli ateşleme zamanı, {{time}} ile aynı şekilde biçimlendirilir. Çözünürlükten bağımsız olarak zamanı en yakın saniyeye döndürür.
5. {{plot_0}}, {{plot_1}}, ... {{plot_19}} - uyarıda kullanılan bir göstergenin karşılık gelen çıktı serisi. Grafiklerin sıfırdan itibaren numaralandırıldığına dikkat edin. En yüksek çizim kimliği 19'dur (yalnızca 20 ilk çıktı serisine erişebilirsiniz). Çıktı serileri, bir grafikte görebileceğiniz bir göstergenin değerleridir. Örneğin, yerleşik hacim göstergesinin iki çıktı serisi vardır: Hacim ve Hacim MA. Bunun üzerinde bir uyarı oluşturabilir ve bir mesaj kutusuna aşağıdaki gibi bir şey yazabilirsiniz:
Volume: {{plot_0}}, Volume average: {{plot_1}}
6. {{interval}} - uyarının oluşturulduğu grafiğin aralığını (yani zaman dilimi/çözünürlük) döndürür. Teknik nedenlerden dolayı, bazı durumlarda, bu yer tutucu grafikteki zaman dilimi yerine "1" değerini döndürecektir. Normal fiyat bazlı uyarıların ("AAPL 120'yi Geçiyor" veya "AMZN 3600'den Büyük" gibi koşullarla) tümü sembolün son değerine dayalıdır, bu nedenle grafiğin zaman dilimi uyarı için geçerli değildir. Bu nedenle, tüm fiyat tabanlı uyarılar aslında 1m zaman diliminde hesaplanır ve yer tutucu buna göre her zaman "1" döndürür. Ayrıca, Aralık grafikleri de 1m verilerine göre hesaplanır, bu nedenle {{interval}} yer tutucusu, bir Aralık grafiğinde oluşturulan herhangi bir uyarıda her zaman "1" değerini döndürecektir. Çizimler ve göstergeler üzerinde oluşturulan uyarılarda, bu yer tutucu beklendiği gibi çalışacaktır.
7. {{syminfo.currency}} - geçerli sembolün para birimi kodunu döndürür(“EUR”, “USD”, etc.).
8. {{syminfo.basecurrency}} - Sembol bir para birimi çiftini ifade ediyorsa, geçerli sembolün temel para birimi kodunu döndürür. Aksi takdirde, na döndürür. Örneğin, sembol "EURUSD" olduğunda "EUR" döndürür.
"strategy" önekine sahip yer tutucular yalnızca strateji̇ alarmlarında kullanılabilir:
- {{strategy.position_size}} - aynı anahtar sözcüğün Pine içindeki değerini, yani geçerli konumun boyutunu döndürür.
- {{strategy.order.action}} - Gerçekleştirilen emir için "al" veya "sat" dizesini döndürür..
- {{strategy.order.contracts}} - Gerçekleştirilen emrin sözleşme sayısını döndürür.
- {{strategy.order.price}} - emrin gerçekleştirildiği fiyatı döndürür.
- {{strategy.order.id}} - Gerçekleştirilen emrin kimliğini döndürür (emirleri oluşturan işlev çağrılarından birinde ilk parametre olarak kullanılan dize: strategy.entry, strategy.exit veya strategy.order).
- {{strategy.order.comment}} - Gerçekleştirilen emrin yorumunu döndürür (emirleri oluşturan işlev çağrılarından birinde yorum parametresinde kullanılan dize: strategy.entry, strategy.exit veya strategy.order). Herhangi bir yorum belirtilmezse, strategy.order.id değeri kullanılır.
- {{strategy.order.alert_message}} - emir vermek için kullanılan işlevlerden birini çağırırken stratejinin Pine kodunda kullanılabilen alert_message parametresinin değerini döndürür: strategy.entry, strategy.exit veya strategy.order. Bu özellik yalnızca Pine v4 ve sonraki sürümlerde desteklenir.
- {{strategy.market_position}} - stratejinin geçerli konumunu dize biçiminde döndürür: "uzun", "düz" veya "kısa".
- {{strategy.market_position_size}} - geçerli konumun boyutunu mutlak değer olarak, yani negatif olmayan bir sayı olarak döndürür.
- {{strategy.prev_market_position}} - stratejinin önceki konumunu dize biçiminde döndürür: "uzun", "düz" veya "kısa".
- {{strategy.prev_market_position_size}} - önceki konumun boyutunu mutlak bir değer, yani negatif olmayan bir sayı olarak döndürür.
Alarm tetiklendikten sonra, ilgili değerleri göreceksiniz:
Aynı kurallar Pine ile yazılmış komut dosyaları için de geçerlidir. Seriler, koddaki çağrı sıralarına göre sayılır. Aşağıdaki işlev listesine bakın. Bunların serileri bildirim mesajlarında kullanılabilir:
- plot;
- plotshape;
- plotchar;
- plotarrow;
- plotbar;
- plotcandle.
Bu tür fonksiyonların seri bağımsız değişkeni bir Boolean değeri içeriyorsa, bildirim mesajında 0 veya 1 yerine geçecektir. Bazı fonksiyonların - plotcandle ve plotbar - her birinin 4 seri gösterdiğini ve numaralandırma mantığında bunların her birinin dikkate alınacağını unutmayın.
Ancak, grafiklere erişmenin bu yöntemi her zaman uygun değildir. İşleri kolaylaştırmak için, grafikleri adlarını kullanarak çağırma desteği ekledik. Bunu yapmak için, {{plot("Name")}} yer tutucusunu kullanın; burada Name serinin adıdır.
Yerleşik göstergeler için desteklenen isimler yalnızca İngilizce sürümde kullanılanlardır. Serilere adlarını kullanarak erişmek için Volume göstergesine sahip örnekte, mesaja aşağıdakileri eklersiniz:
Volume: {{plot("Volume")}}, Volume average: {{plot("Volume MA")}}
Benzer şekilde, Pine Script'in seriye erişmesi için, ilgili işlevlerin başlık bağımsız değişkenindeki adı belirtmelisiniz (plotcandle ve plotbar hariç tüm çizim işlevleri için desteklenir) ve dil artık önemli olmayacaktır. Koda erişiminiz yoksa, ad stil ayarlarında görülebilir.
Örneğin, bu kodun değerlerine erişmek için:
//@version=4
study("My script")
plot(close, title="series")
Include {{plot("series")}} in the alert message.
The same name is shown in the script settings:
Tek bir uyarıda birden fazla gösterge kullanırken, ilk açılır listede belirtilen ilk göstergenin değerlerine başvurabilirsiniz. Aşağıdaki örneğe bakın.
Bir uyarı bu ayarları içerdiğinde, yalnızca MA değerlerine başvurabilirsiniz. "Benim komut dosyam" komut dosyasının değerlerine erişmek için, ilk açılır listeden bunu seçmeniz gerekir.
Ayrıca alertcondition işlevinin mesaj bağımsız değişkeninde yeni yer tutucular da belirtebilirsiniz. Örneğin:
//@version=4
study("My script")
alertcondition(close>open, message="price {{ticker}} = {{close}}")
Bağımsız değişkendeki mesaj otomatik olarak uyarı oluşturma iletişim kutusundaki mesaj penceresine çekilir.
Lütfen alertcondition fonksiyonundan bir koşul içeren bir uyarı oluştururken, değer ikamesinin yalnızca v4 veya üstü komut dosyaları için çalışacağını unutmayın.
Tetiklenen uyarılardan elde edilen değerler, bir mesajdaki değişken değerleri istenen adreslere göndererek web kancalarıyla birlikte kullanılabilir. Veya TradingView Alerts to MT4/MT5 gibi dinamik değer kullanımını zaten kullanan harici 3. taraf uygulamaları kullanarak. Bazı sözdizimi kullanım durumları şurada bulunabilir: Örnek komut dosyası. Bu, uyarıları kullananlar için daha da fazla olasılığın önünü açıyor.