Expert Advisor Nedir? Ne İşe Yarar? Nasıl Oluşturulur? | Kanal Finans
Ana sayfa Eğitim Expert Adviso...
Expert Advisor yani Türkçesi ile Uzman Danışman, terminalin içinde bulunan ve alım-satım işlemlerini otomatik olarak programlamaya izin veren araçtır. Fiyatlar üzerinden teknik analiz geliştiren, yöneltilmiş alım-satım faaliyetleri gerçekleştiren ve bu faaliyetleri yönetebilen bu programlar, otomatik işleme girmenin yanı sıra, bir sinyal sağlayıcı olarak da kullanılabilir. Bir uzman, ilgili grafik o anda aktif olsa da olmasa da çalışabilir.
Expert Advisor Ne İşe Yarar?
Yani uzman danışmanlar ister AL- SAT sinyali üretirler istenirse de AL-SAT sinyali ürettikleri noktalardan alım-satım yaparlar.
DİKKAT -> Yatırım hakkında fazla birşey öğrenmeme gerek yok, otomatik AL-SAT sinyalleri bulurum, kolay yoldan para kazanırım diyorsanız, para kaybedersiniz.
Expert Advisor’lar ile İlgili SPK Tebliği’ne Dair Bilmeniz ve Dikkat Etmeniz Gerekenler
SPK tebliği ile aracı kurumların otomatik AL-SAT yapan robot programları ve Expert advisor kodlarını müşterilerine vermeleri yatırım danışmanlığı kapsamına girmektedir, dolayısı ile yasaktır. Burada anlatılan sistem ile algoritmic trading aynı şey değildir. Burada anlatılan sistemi uzun sürede yapacağınız bir hisse gözden geçirme ve filtreleme sistemi oluşturmak için kullanabilirsiniz.
Uzmanların Çalışma Prensipleri:
Bir Uzman Danışman Yaratmak: Kullanıcı, Meta Trader’ın içinde hazır gelen uzman danışmanlar arasından seçim yapabilir. Eğer bu yeterli değilse, dâhili MetaEditör programını ya da üreticilerden alınan farklı ezpert advisorları kullanabilir. Bu konuya aşağıda daha ayrıntılı bulabilirsiniz.
Uzman Danışman Kurulumu? Expert Advisor Nasıl Kurulur?
Bir expert’i kullanmadan önce, ayarlarını yapmak gerekir. Uzmanların çalışma parametreleri, yatırımcı terminali üzerinden değiştirilebilir. Bunun yanı sıra, her uzman danışmanın kendine özgü ayarları da vardır.
Not: Bu noktada en uygun ayarları bulmak için ilk olarak alım-satımı aktif hale getirmeden yalnızca AL-SAT sinyalleri sonrası yatırım yapmak istediğiniz enstrümanları takip etmenizi tavsiye ederiz.
Uzman Danışman Çalıştırmak? Expert Advisor Nasıl Çalıştırılır?
Expert advisor’ı çalıştırmak için, grafik üzerinde açmak ya da grafik üzerine sürükleyip bırakmak gerekir. Yeni bir veri geldiği anda uzman danışman çalışmaya başlar.
Uzman Danışmanın Kapatılması
Expert, bir grafikten çıkarıldığında her hangi bir gösterge gibi otomatik olarak kapatılmış olur.
Bir Uzman Danışman Yaratmak, Expert Advisor Nasıl Oluşturulur? Expert Advisor Yaratmak
Kullanıcı, tamemen kendisinin tanımladığı analizler üzerinden yönetim sağlayabilecek bir expert adviser yaratabilir. Uzman danışmanlar kendi içlerinde üç kategoriye ayrılır:
Bilgisayara yüklendikten sonra çalışmaya hazır olan dâhili expert advisor’lar
Kişisel uzmanlar, yani kendi yatırım stratejileriniz doğrultusunda MQL 4 programını kullanarak MetaEditör yazılımı içinde yarattıklarınız
Dışarıdan alınan uzman danışmanlar.
DİKKAT -> Burada dışarıdan alınan expert advisor’lar konusunda dikkat etmeniz gereken “aylık %20 kar sağlar” gibi cümlelere temkinli yaklaşmak. Her zaman şunu aklınızda tutmalısınız: sıfır riskli bir program dünyanın hiçbir yerinde yoktur. Her ay %20 kar, yıllık %240 kazanç demektir, hatta eğer parayı hep orada bırakırsanız %900’e ulaşan bir rakam olur. Kısacası eğer böyle bir program olsaydı, herkes işi otomatiğe bağlar her köşe başında bir Rockerfeller olurdu.
Aşağıda basit espert advisor kodlarını anlatacağız. Bu kısmı geçip direkt yeşil renkli kod yazımına gidebilirsiniz.
Uzmanları Değiştirmek, Expert Advisor Nasıl Değiştirilir?
Tüm uzman danışmanları istediğiniz takdirde değiştirebilirsiniz. Bu işi MQL4 programını kullanarak yapabilirsiniz. Yalnız bunun için programlama dilimi biliyor olmanız gerekir. Mevcut bir uzman danışmanda değişiklikler yapmak için, Navigatör-Uzman Danışmanlar (Navigator-ExpertAdvisors) satırı üzerinde sağ tuşa tıklayın ve açılan pencereden değiştir komutana basın. Böylece, uzman danışmanın değiştirilebilir parametreler kısmının kodu açılacaktır. Çıkan kodu değiştirdikten sonra tekrar derlemelisiniz, bu işlem dosyayı otomatik olarak kaydedecektir.
Önemli Not: Eğer derleme işlemi başarılı bir şekilde tanımlanmazsa, uzmanın resmi gri olacaktır. Bu da uzmanın kullanılamaz olduğunu gösterir.
Expert Adviser Kurulumu
Expert advisor’ı kullanmadan önce belirli ayarlar yapmak gerekir. Uzman danışmanların ortak çalışma parametreleri yatırımcı terminalinin Ayarlar penceresinde mevcuttur. Bu pencereyi Araçlar-Seçenekler menüsünden açabilirsiniz. Uzman danışmanların ayarlarını yapmak için, bu sekme seçilmelidir.
Expert Adviser ile İlgili Önemli Bilgiler
Uzman danışman yeni gelen ilk veri ile, tıklamayla çalışmaya başlar. Uzman danışmanların çalışmasını durdurma seçeneği, aktif uzman danışmanların çalışmasını bölmez
Bu seçenek sadece expert advisorlar içindir ve özel göstergeleri ya da scriptleri otomatik olrak iptal etmez.
Uzman danışmanları etkinleştir (Özel göstergeler ve skripler hariç)
Hesap değiştiğinde uzman danışmanları iptal et: Bu bir güvenlik düğmesi gibidir. Başka bir hesap açıldığında uzman danışmanlar otomatik olarak iptal edilir.
Profil değiştiğinde uzman danışmanları devre dışı bırak: Tüm grafiklere ait birçok bilgi, Profiller’de kaydedilmektedir. Bu kutucuk işaretli olduğunda Profillerde bir değişiklik yaptığınızda danışmanın çalışması durur.
Canlı işleme izin ver: Bu seçenek, expert advisorların tek başına işleme girip çıkmasını sağlar. Bu durum özellikle canlı hesapta test ederken kullanışlıdır. (canlı hesap ile demo hesap birbirine karıştırılmamalıdır)
Manuel onay iste: Bu kutucuk, ancak uzman danışman canlı işlem yapmaya yetkiliyse kullanılabilir. Bu seçenek etkinleştirilse ve uzman danışman bir işlem yakaladıysa, kullanıcı bunu manüel olrak onaylamalıdır.
Harici DLL alımına izin ver: Expert advisor, fonksiyonlarını genişletmek için DLL Kütüphanelerini kullanabilir. Eğer bu kutucuğu işaretlediyseniz, harici kütüphaneler limitsiz olarak kullnılabilir.
DLL fonksion çağrılarını onayla: Bu kutucuk her çağrılan fonksiyonun elle kontrolünü sağlar.
Harici uzman danışman alımına izin ver: Eğer bir uzman danışmanın çalışması sırasında, başka bir uzman danışmandan ya da bir harici kütüphaneden fonksiyon çağırmak gerekiyorsa, bu seçenek işaretli olmalıdır.
Expert Advisor ‘ın Çalıştırılması
Uzman danışman, genel parametreleri hazırladıktan sonra çalışmaya hazırdır. Şimdi ayarların kısaca üzerinde geçelim.
Pozisyonlar – İşleme girilecek yönün seçilmesi
Long&Short: Hem alış hem satış yönlü
Only Long: Yalnızca alış işlemleri için
Only Short: Yalnızca satış işlemleri için
Uyarıları etkinleştir: Bu kutucuk Expert advisor’ın uyarı vermesini sağlar
Bir kez uyarılınca uyarıyı iptal et: Bunu seçerseniz ilk uyarıdan sonra bir daha uyarı gelmez
Canlı işleme izin ver: Danışmanın kendi başına işleme girip çıkma yetkisi vermek için etkinleştirilir.
Manuel onay iste: Expert advisor’ın işlem yaparken kullanıcıdan onay istemesi isteniyorsa için bu seçenek işaretlenmelidir. Bunu işaretlemezseniz sistem kendi başına alım-satım yapar. İşaretlerseniz sinyal geldiğinde sizi uyarır siz onay verdikten sonra işlem yapılır.
Harici DLL alımına izin ver: DLL dosyalarından fonksiyonların çağrılması ya da çağrılmamasına ilişkin kısıtlamadır.
DLL fonksiyon çağrılarını onayla: DLL dosyalarından fonksiyon çağırdıktan sonra, oanaya sunulmasına izin ver kutucuk
Harici uzman danışman alımına izin ver: Harici expert advisor’lardan alınacak sonksiyon çağrılarını etkinleştirmek ya da devredışı bırakmak için bu seçenek kullanılır.
Uzman danışmanın harici değişkenlerini buradan değiştirebilirsiniz. Girdiyi değiştirmek için üzerine çift tıklayın ve istediğiniz değeri girin. “Kaydet” ile yeni değeri kaydetmelisiniz. “Yükle “seçeneği size daha önce yaratılmış bir değer dizisinin açılmasını sağlar. “Sıfırla” ise herşeyi eski haline çevirir.
Expert Advisor ile ilgili Önemli ve Pratik Bilgiler
Uzman danışman çalışırken, Özellikler penceresini açamazsınız. Aynı şekilde Özellikler penceresi açıkken expert adviser çalışmaz.
Expert Advisor çalışıken sağ üst köşede gülen surat görürsünüz. Eğer uzmanın canlı işlem yapmasına izin vermediyseniz bu surat asık yüzlü görünecektir. (Bu asık yüz expert adviser bozuk olduğunu göstermez, yukarıdaki mavi renkli önemli nota bakınız.)
Bir grafikte yalnızca bir expert advisor çalışır, aynı anda iki expert çalışmaz. Grafiğe yeni bir uzman danışman eklerseniz bir önceki kapanır.
Grafik kapanınca expert advisor kapanır.
Müşteri terminali kapandığında tüm uzman danışmanlar kapanır.
Navigatör penceresinden expert advisor silmek, grafikte çalışan uzman danışmanı kaldırmaz. Grafiktekini kapatmak için o uzman danışmanı grafikten kaldırmalısınız.
Expert Advisor Nasıl Yazılır? Expert Advisor Kod Yazımı Örnekleri
Bu kısımda basit kod yazımına ve komutlara başlıyoruz. Genel Programlama ile ilgili özellikler bu yazımın konusu değil. Bu konu daha derin bir bilgi ve uzmanlaşma gerektiriyor. Yazımızın bu bölümünde Meta Trader için MQL4 ile basit expert advisor kodları yazımını ele alıyoruz. MQL4 her program gibi kendi standart komut kelimelerine ve standart katsayılara sahip. Başlangıç olarak bu basit komutlardan başlayalım:
OP_BUY – Alım pozisyonu
OP_SELL – Satım pozisyonu
OP_BUYLIMIT –Bekleyen pozisyonun Alım limiti
OP_SELLLIMIT – Bekleyen pozisyonun satım limiti
OP_BUYSTOP – Bekleyen alım pozisyonunda stop- zarar kes
OP_SELLSTOP – Bekleyen satım pozisyonunda stop- zarar kes
39 günlük ve 200 günlük basit hareketli ortalamalar arasındaki farkı hesaplayan formül
mov(close, 39, simple) – mov(close, 200, simple)
Formüller IF/THEN/ELSE EĞER/SONRA/YA DA gibi şartlı durumları da kapsayabilir. Örneğin eğer kapanış 200 günlük üssel hareketli ortalamadan daha fazla ise +1, değilse -1 şeklinde işaretle
If(close > mov(close,200,exponential),1, -1)
Yukarıdaki formülde “exponential” yerine “simple” yazsaydı bu basit ortalama ile yapılmış bir formül olurdu.
Formüller ayrıca kullanıcıdan bir veriyi girmesini isteyebilir. Örneğin: X:= Input(“ Hareketli ortalama için kaç periyot kullanılsın? 10,200,40) ; Mov(close,X,simple)
X:= 39; Y:=200; mov(close, X, simple) – mov(close, Y, simple)
Bu örnekte X değişteki 10’dan 200’e kadar bir değer alabilir ve varsayılan değeri 40’dır. X tarafından temsil edilen değer hareketli ortalama formülünde kullanılır.
Örnek Bir SAT Sinyali
3 tane çok kullanılan RSI, MACD, ve ADX indikatörlerinden olan oluşan bir SAT sinyali örneği. 3 Gösterge de aynı anda tanımlı seviyelere gelince SAT sinyali üretir.
Burada “AND” yani “VE” kullanımına bir örnek veriyoruz. AND kullanımı birden fazla şartın sağlanmasını istediğinizde kullandığınız bağlama kodudur.
ADX(14) > 20 and DIN(14) > 20 AND
RSI(CLOSE, 14) < 40 AND REF(MACDSignal(13, 26, 9, SIMPLE), 1) > REF(MACD(13, 26, 9, SIMPLE), 1) AND
MACDSignal(13, 26, 9, SIMPLE) > MACD(13, 26, 9, SIMPLE)
Örnek Bir AL Sinyali
Bu strateji yutan boğa formasyonu ile çalışır. Aşağıdaki her iki şart gerçekleştiğinde expert advisor AL sinyali üretir. Burada da AND kullanımına bir örnek görüyorsunuz.
21 ve 9 günlük üssel hareketli ortalamalar kesişince
Bir periyot önceki kırımızı mum, sonraki periyottaki yeşil mum tarafından yutulunca yani yeşil mumun gövdesi hem aşağı hem de yukarı yönde kırmızı mumdan büyük olunca.
Yukarıdaki iki şart sağladığında AL sinyali üretilir. 21 ve 9 günlük ortalamalar bir daha kesiştiğinde ise formasyonun fırsat penceresi kapanmıştır,yukarı trend soan erebilir, SAT sinyali üretilir.
Önemli Not: NOTEPAD KULLANIN – Kod yazımını MQL4’ün direkt içinde yapmıyorsanız, word’de değil notepad’de yapıp öyle yapıştırmalısınız. Çünkü word’ün içinde görselleştiren kodlar gizlidir ve yanlış sonuçlar almanıza yol açabilir. Bu nedenle yukarıdaki kodları kopyalamak istiyorsanız buradan kopyalayıp, notepad’e yapıştırın. Kodlar aşağıdaki resimdeki gibi gözükmelidir.
Expert Advisor “Bollinger Bandı” Kodu
Bollinger Bandı sistemi volatiliteye bağlı bir göstergedir. Tek başına kullanımından çok başka göstergelerle kullanımı daha fazla tercih edilir.
Aşağıdaki kodda BBB (Bollinger Band Bottom: Bollinger Bandı alt) ve BBT(Bollinger Band Top: Bollinger bandı üst tanımları parametreleri normal olarak 20 günlük periyot ve 2 standart sapmaya göre verilmiştir. Siz isterseniz bu sayıları değiştirebilirsiniz.
((REF(CLOSE, 1) < REF(Bottom, 1)) AND
CLOSE > Bottom
((REF(CLOSE, 1) > REF(Top, 1)) AND
CLOSE < Top