Yukari Kestiyse

YukariKestiyse Fonksiyonu

Fonksiyonun Kullanım Şekli
  • Sistem.YukariKestiyse(Cizgi1, Cizgi2); veya (Sistem.YukarıKestiyse(Cizgi1, Deger) (Cizgi = Liste)
Fonksiyonun Amacı

Çokça kullanılan teknik analiz stratejilerinden biri de bir çizginin diğerini (Örnek fiyatın, hareketli ortalamayı) veya bir çizginin bir sabit sayısı (örnek RSI’ın 50 yi) yukarı yönde kırması/kesmesi yoluyla AL/SAT sinyalleri tespit etmektir.

NOT: Bu fonksiyon bir çizginin, bir diğer çizgiyi veya değeri, sadece tek yönde (Yukarı) kesip kesmediğini tespit eder ve kesme/kırma gerçekleşince “true” değeri döndürür.

Kullanım Şekilleri

Sistem.YukariKestiyse fonksiyonu, mutlaka belirtilmesi gereken 2 adet parametreye ihtiyaç duyar ve iki farklı şekilde kullanılabilir.

  1. Sistem.YukariKestiyse(Cizgi1, Cizgi2);
  2. Sistem.YukariKestiyse(Cizgi, SabitDeger);

Örneğin: İki farklı hareketli ortalamadan birinin diğerini veya RSI indikatörünün 30/50/70 gibi bir seviyeyi veya kendi hesapladığınız herhangi bir veri listesinin bir başka liste yada değeri yukarı yönde kesmesi durumunda bu fonksiyon true değeri döndürür ve kullanıcı da bu bilgiyi aldıktan sonra yapılmasını istediği işlemi bu koşulun gerçekleşmesi durumunun altına yazar.

Çalışma Prensibi

Kesişme Tara, Yukarı Kestiyse ve Aşağı Kestiyse fonksiyonları, kapanmış olan son iki barıdaki değerleri kıyaslayarak sonuç döndürürler. Henüz kapanmamış olan bar hesaplamaya/kontrole dahil edilmez

Örneğin aşağıdaki grafikte, 1 ile numaralandırılan barda 10’luk ortalama, 35’lik ortalamanın üzerinde. 2 ile numaralandırılan bar kapanışında ise, altına iniyor (aşağı kesiyor.) sonraki ilk barda sinyal üretiliyor..

Örnek 1

// kapanış fiyatlarını oku
var C = Sistem.GrafikFiyatSec(“Kapanis”);

// hareketli ortalamaları hesapla
var MA1 = Sistem.MA(C, “Simple”, 5);
var MA2 = Sistem.MA(C, “Simple”, 22);

if (Sistem.YukariKestiyse(MA1, MA2))
//Mail Gönder, emir ilet, mesaj göster vs
if (Sistem.AsagiKestiyse(MA1, MA2))
//Mail Gönder, emir ilet, mesaj göster vs

Örnek 2

Hem YukarıKestiyse hem de AsagiKestiyse fonksiyonlarını kullanarak yapılmış bir robot örneği..
var Sembol = “VIP’VIP-X030”;
var Veriler = Sistem.GrafikVerileriniOku(Sembol , “5”);
var RSI = Sistem.RSI(Veriler, 85);
var TRIX = Sistem.TRIX(Veriler,120);
var AVR = Sistem.MA(TRIX, “Simple”, 9);
var Pozisyon = Sistem.PozisyonKontrolOku(Sembol);
var Sembol = “VIP’F_XU0301015S0”;
var Veriler = Sistem.GrafikVerileriniOku(Sembol, “1”);
var STOCKHASTIC = Sistem.StochasticOsc(Veriler,14,20);
var AVR = Sistem.MA(STOCKHASTIC, “Exp”, 10);
var Pozisyon = Sistem.PozisyonKontrolOku(Sembol);
var Islem = “”;
var Miktar = 0;
var SonFiyat = Sistem.SonFiyat(Sembol);

if (Pozisyon == 0 && Sistem.YukariKestiyse(STOCKHASTIC, AVR))
{
Islem = “ALIS”;
Miktar = 1;
}
else if (Pozisyon > 0 && Sistem.AsagiKestiyse(STOCKHASTIC, AVR))
{
Islem = “SATIS”;
Miktar = 2;
}
else if (Pozisyon == 0 && Sistem.AsagiKestiyse(STOCKHASTIC, AVR))
{
Islem = “SATIS”;
Miktar = 1;
}
else if (Pozisyon < 0 && Sistem.YukariKestiyse(STOCKHASTIC, AVR))
{
Islem = “ALIS”;
Miktar = 2;
}
// emri gönder
if (Islem != “”)
{
if (Islem == “ALIS”)
Sistem.PozisyonKontrolGuncelle(Sembol, Pozisyon+Miktar);
else if (Islem == “SATIS”)
Sistem.PozisyonKontrolGuncelle(Sembol, Pozisyon-Miktar);

Sistem.EmirSembol = Sembol;
Sistem.EmirIslem = Islem;
Sistem.EmirMiktari = Miktar;
Sistem.EmirSuresi = “GUN”; // GUN, SNS, IKG
Sistem.EmirTipi = “KPY”; // KPY, KIE, GIE, SAR
Sistem.EmirFiyatTipi = “PYS”; // PYS, LMT, EIF, KAP
Sistem.EmirGonder();
}

Daha Fazla Bilgiye mi İhtiyacınız Var?

Ürünlerimiz veya hizmetlerimizle ilgili yardıma ihtiyacınız varsa, lütfen bizimle temasa geçin.