Recep Toğaçar . 15-05-2024 1:46 PM
Optimizasyon
Bu yazıda optimizasyon konusunu detaylı bir şekilde ele alacağız. Öncelikle belirtmeliyim ki kendi kullandığım sistemlerde optimizasyon yapmıyorum fakat mantıklı ve küçük optimizasyonlara da karşı değilim.
Optimizasyon nedir ?
Sistem yaparken kullandığımız indikatörlerin hangi parametreler ile daha iyi çalışacağı konusunda kararsız kalabiliriz. Örneğin, 2 hareketli ortalamanın kesişimine göre al ve sat sinyali üreten bir sistem yaptığımızı düşünelim. Peki hareketli ortalamaların parametresini nasıl belirleyeceğiz. Bunun için 2 seçeneğiz var. Grafik üzerine hareketli ortalamaları atıp gözünüzle karar verebilirsiniz. 2 seçenek ise; bu parametreleri bilgisayara buldurabilirsiniz. İşte parametreyi bilgisayara buldurma işlemine optimizasyon diyoruz. Bilgisayar bizim için geçmiş tüm grafikleri tarar ve en iyi çalışan parametreleri sıralar. Konuyla ilgili İdeal veri terminali üzerinde bir uygulama yapalım. Sonuçlardan göreceğimiz üzere en iyi çalışan parametreler 20 ve 50. Optimizasyonu yapabilmek için 3 adet veri girmemiz gerekir.
1 - Başlangıç (5)
2 - Bitiş (100)
3 - Adım (1)
Yukarıdaki örnekte şunu demiş oluyoruz. 5'den başla 100'e kadar 1'er adımla say. Sistemin formül halini görselin altında bulabilirsiniz
var C = Sistem.GrafikFiyatSec("Kapanis");
var sonyon = "";
for (int OPT1 = 5; OPT1 < 25; OPT1 += 5)//optimizasyona 5 den başla 25 e kadar 5 adım git
{
var HO1 = Sistem.MA(C, "EXP", OPT1);// İndikatör tanımı
for (int OPT2 = 50; OPT2 < 100; OPT2 += 5)//optimizasyona 50 den başla 100 e kadar 5 adım git
{
var HO2 = Sistem.MA(C, "EXP", OPT2);// İndikatör tanımı
for (int i = 0; i < Sistem.BarSayisi; i++) Sistem.Yon[i] = "";
for (int i = 0; i<Sistem.BarSayisi;i++)
{
if (HO1[i] > HO2[i] && sonyon != "A")
{
Sistem.Yon[i] = "A";
sonyon = "A";
}
if (HO1[i] < HO2[i] && sonyon == "A")
{
Sistem.Yon[i] = "F";
sonyon = "F";
}
}
Sistem.Optimizasyon("OPT1, OPT2", OPT1, OPT2);//İlk parametre açıklama, ikinci parametre optler
}}
Optimizasyon konusuyla ilgili Youtube videom için tıklayınız.