Alım-Satım İzni

Alım-Satım Otomasyonu

MQL5 dili, otomatik alım-satım sistemleri geliştirmek için tasarlanmış özel bir alım-satım fonksiyonları grubu içerir. İnsan müdahalesi olmadan otomatik alım-satım yapmak için geliştirilen programlara Uzman Danışman veya alım-satım robotu denir. MetaEditor ile bir Uzman Danışman oluşturabilmek için MQL5 Sihirbazını çalıştırın ve şu iki seçenekten birini seçin:

  • Uzman Danışman (şablon) – kullanıma hazır olay işleme fonksiyonları ile programlamanın tüm gereksinimlerini karşılayabilecek bir şablon oluşturmanızı sağlar.
  • Uzman Danışman (oluştur) – eksiksiz bir alım-satım robotu geliştirmek için basitçe gerekli modulleri seçmeniz yeterlidir: alım-satım sinyal modülleri, para yönetimi modülü ve İz-süren Stop modülü.

MQL5_Wizard

Alım-satım fonksiyonları sadece Uman Danışmanların ve betiklerin içinde kullanılblir. Göstergelerin alım-satım yapmasına izin verilmez.

Otomatik Alım-Satım için İşlem İzninin Denetlenmesi

İnsan müdahalesi olmadan çalışabilen güvenilir bir Uzman Danışman geliştirmek için bazı önemli denetimlerin yapılması gerekir. Öncelikle, alım-stıma izin verilip verilmediğini program kapsamında denetlemeliyiz. Bu, otomatik sistemleri geliştirirken kullanılan en basit ve zorunlu denetimdir.

Terminalde otomatik alım-satım yapmak için işlem izninin denetlenmesi

Terminal ayarları tüm programlar için otomatik alım-satım izni vermenizi veya bu izni kaldırmanızı sağlar.

TERMINAL_TRADE_ALLOWED

Terminalin Standard panelini kullanarak otomatik alım-satım seçeneğini değiştirebilirsiniz:  

  • AutoTrading_enabled– otomatik alım-satım etkin, çalıştırılan programlarda alım-satım fonksiyonları kullanılabilir.
  • AutoTrading_disabled – otomatik alım-satım devre dışı, çalıştırılan programlarda alım-satım fonksiyonları kullanılamaz.

Denetim örneği

if (!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)) 
   Alert("Terminal ayarlarında alım-satım izni etkin mi kontrol et!");

 

Belli bir Uzman Danışman/betik için alım-satım izninin denetimi

Bir programı çalıştırdığınızda o programa özel olarak alım-satımı yasaklayabilirsiniz. Bunun için program özelliklerindeki onay kutusunu kullanın.

MQL_TRADE_ALLOWED

Denetim örneği

   if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
      Alert("Terminal ayarlarında alım-satım izni etkin mi kontrol et!");
   else
     {
      if(!MQLInfoInteger(MQL_TRADE_ALLOWED))
         Alert("Otomatik alım-satım işlemleri program özellikleri kullanılarak yasaklanmış",__FILE__);
     }

 

Mevcut hesap üzerindeki herhangi bir Uzman Danışman/betik için alım-satım izninin denetimi

Otomatik alım-satım işlemleri sunucu üzerinden de devre-dışı bırakılabilir. Denetim örneği

   if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
      Alert(,AccountInfoInteger(ACCOUNT_LOGIN),
      " hesabı için otomatik alım-satım izni sunucu üzerinde devre-dışı bırakılmış");

Otomatik alım-satım işlemleri hesap genelinde devredışı bırakılmışsa Uzman Danışmanlardaki/betiklerdeki alım-satım işlemleri çalıştırılmaz.

Mevcut hesap üzerinde alım-satım izninin denetimi

Bazı durumlarda alım-satım işlemleri belli hesaplar için devre-dışı bırakılır – alım-satım işlemleri elle veya otomatik olarak yapılamaz. Hesaba yatırımcı şifresi ile giriş yapılıp yapılmadığına dair şuna benzer denetim kullanılabilir:

   if(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED))
      Comment("hesap üzerinde alım-satım devre-dışı bırakılmış ",AccountInfoInteger(ACCOUNT_LOGIN),
            ".\n Hesaba yatırımcı şifresi ile giriş yapılmış olabilir.",
            "\n Terminal günlüğünü şu giriş için denetle:",
            "\n\'",AccountInfoInteger(ACCOUNT_LOGIN),"\': trading has been disabled - investor mode.");

AccountInfoInteger(ACCOUNT_TRADE_ALLOWED) çağrısı şu durumlarda false dönüşü yapabilir:

  • alım-satım sunucusuyla bağlantı kurulamıyor. Bu durum TerminalInfoInteger(TERMINAL_CONNECTED) çağrısı ile kontrol edilebilir;
  • alım-satım hesabı salt-okunur moda çevrilmiş (arşive gönderilmiş);
  • hesap üzerinde alım-satım işlemleri sunucu üzerinden devre-dışı bırakılmış;
  • hesaba yatırımcı modu ile bağlanılmış.

 

Ayrıca bakınız

Müşteri Terminalinin Özellikleri, Hesap Özellikleri, Çalışan bir MQL5 Programının Özellikleri