Alım-satım robotlarını ücretsiz olarak nasıl indirebileceğinizi izleyin
Bizi Facebook üzerinde bulun!
Fan sayfamıza katılın
Komut dosyasını ilginç mi buldunuz?
Öyleyse bir link gönderin -
başkalarının da faydalanmasını sağlayın
Komut dosyasını beğendiniz mi? MetaTrader 5 terminalinde deneyin
Uzman Danışmanlar

Çoklu para birimi olay işleyicisi OnTick(string symbol) - MetaTrader 5 için Uzman Danışman

Görüntülemeler:
59
Derecelendirme:
(45)
Yayınlandı:
onmultitick.zip (24.14 KB)
MQL5 Freelance Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git

Açıklama:

Bu, MetaTrader 5'te tam bir çoklu para birimi modunu nasıl düzenleyebileceğinizin başka bir sürümüdür. Bir ala standart tik işleyicisi OnTick(string symbol) olarak yapılır.

Avantajlar:

  • Demo ve gerçekte gerçek çoklu para birimi.
  • Basit ayarlar.
  • OnTick (string symbol) içinde hangi olayların alınacağını yapılandırabilirsiniz: NewTick ve/veya NewBar.
  • "Market Watch" penceresinden veya sembol listenizden enstrümanlar için olay almayı yapılandırabilirsiniz.
  • Market Watch penceresinden sembollerle çalışırken, OnTick(string symbol) içinde hangi sembollerin olay alacağını anında kontrol edebilirsiniz.
  • Bunun nasıl çalıştığını anlatmaya gerek yok. Tüm kod bir include dosyasına yerleştirilmiştir, kendi kodunuzu yazdığınızda yolunuza çıkmaz.
  • Test cihazında çalışır.

EA şablonu şu şekilde görünür:

//+------------------------------------------------------------------+
//|OnTick(string symbol).mq5 |
//|Telif Hakkı 2010, Lizar |
//| https://www.mql5.com/tr/users/Lizar |
//+------------------------------------------------------------------+
#define VERSION       "1.00 Build 1 (01 Fab 2011)"

#property copyright   "Copyright 2010, Lizar"
#property link        "https://www.mql5.com/tr/users/Lizar"
#property version     VERSION
#property description "Kullanıldığında uzman şablonu."
#property description "OnTick(string symbol) çoklu para birimi işleyicisinin."

//+------------------------------------------------------------------+
//| ÇOKLU PARA BIRIMI MODU AYARLARI|
//| OnTick(string symbol) olay işleyicisi için |
//||
//| 1.1 Olayların alınacağı sembollerin listesi: |
#define  SYMBOLS_TRADING    "EURUSD","GBPUSD","USDJPY","USDCHF"
//| 1.2 "Piyasa İzleme" penceresinden tüm semboller için olayları alın: |
//#define SYMBOLS_TRADING "MARKET_WATCH"
//| Not: 1.1 veya 1.2 maddelerinden birini seçmelisiniz. ||
//||
//| 2. OnTick(string sembolü) için olay türü: |
#define  CHART_EVENT_SYMBOL CHARTEVENT_TICK 
//| Not: olay türü numaralandırma ile eşleşmelidir |
//| ENUM_CHART_EVENT_SYMBOL.|
//||
//| 3. Tüm işlevleri içeren bir eklenti dosyası: |
#include <OnTick(string symbol).mqh>
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| Uzman başlatma işlevi|
//| Bu fonksiyon uzman kodunda bulunmalıdır, ||
//| boş olsa bile|
//+------------------------------------------------------------------+
int OnInit()
  {
   //--- İşte kodunuz... 
   return(0);
  }
  
//+------------------------------------------------------------------+
//| Uzman çoklu tik fonksiyonu|
//| Standart OnTick() yerine bu fonksiyon |
//+------------------------------------------------------------------+
void OnTick(string symbol)
  {
   //--- İşte kodunuz...
   Print("Simgeye göre yeni olay: ",symbol);
  }
  
//+------------------------------------------------------------------+
//| ChartEvent fonksiyonu|
//| Bu fonksiyon uzman kodunda bulunmalıdır, ||
//| boş olsa bile|
//+------------------------------------------------------------------+
void OnChartEvent(const int id,         // olay tanımlayıcısı 
                  const long& lparam,   // uzun tipte olay parametresi
                  const double& dparam, // double türünde olay parametresi
                  const string& sparam) // string türünde olay parametresi
  {
   //--- İşte kodunuz... 
  }
  
//+------------------------------------------------------------------+
//| Uzman başlangıçtan kaldırma işlevi|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   //--- İşte kodunuz... 
  }

//+------------------------------ end -------------------------------+

Bazı özellikler:

  1. Ayarlar.
Tüm ayarlar #define önişlemci direktifleri kullanılarak yapılır. OnTick(string symbol)'ün doğru çalışması için sadece iki parametre ayarlanmalıdır: SYMBOLS_TRADING ve CHART_EVENT_SYMBOL. SYMBOLS_TRADING parametresi , olayların alınacağı sembolleri ayarlar. CHART_EVENT_SYMBOL parametresi tüm semboller için olay türlerini belirtir.

SYMBOLS_TRADING örneğin bir sembol listesi olarak ayarlanabilir:

#define  SYMBOLS_TRADING    "EURUSD","GBPUSD","USDJPY","USDCHF"

Liste, virgüllerle ayrılmış dize sabitleri biçiminde olmalıdır. Liste satırın sonunda biter ve bir sonraki satıra taşınamaz.

Ya SYMBOLS_TRADING bu şekilde ayarlanabilir:

#define  SYMBOLS_TRADING    "MARKET_WATCH"

Bu yol, bir liste yerine Market Watch penceresindeki sembolleri kullanacağınız anlamına gelir. Bu yöntem kullanışlıdır çünkü Uzman Danışmanın çalışması sırasında , OnTick (string symbol) içinde olayların alınacağı sembolleri anında değiştirebilirsiniz. Bunu yapmak için, "Piyasa İzleme" penceresine alım satım araçları eklemek veya silmek yeterlidir.

CHART_EVENT_SYMBOL olay türü, ENUM_CHART_EVENT_SYMBOL numaralandırmasındaki bir bayrak veya bayrakların bir kombinasyonu ile belirtilir. Bu numaralandırma hakkında daha fazla bilgiyi buradan okuyabilirsiniz. Olay türünü ayarlama örnekleri:

//--- Örnek 1. Olaylar her tikte alınır:
#define  CHART_EVENT_SYMBOL CHARTEVENT_TICK 
//--- Örnek 2. Karakterler için olaylar her dakika ve saatte bir gelir:
#define  CHART_EVENT_SYMBOL CHARTEVENT_NEWBAR_H1|CHARTEVENT_NEWBAR_M1

2. Dosyayı dahil edin.

OnTick(string symbol) işlevi için tüm işlevleri içeren OnTick(string symbol) .mqh dosyası ile #include yönergesi , ayarlardan sonra ve diğer standart olay işleyicilerinden önce yerleştirilmelidir. Dosya, OnTick(string symbol) için hizmet veren tüm kodlar gözden uzak olacak şekilde düzenlenmiştir. Bu nedenle, yukarıdaki şablonda bazı standart fonksiyonların varlığı zorunlu olarak işaretlenmiştir.

3. Test Cihazı.

Bildiğiniz gibi, yayınlandığı anda test cihazı OnChartEvent olay işleyicisini desteklemiyor. Uzman Danışmanların test edilmesini mümkün kılmak için kod, olayların terminalin global değişkenleri aracılığıyla aktarılmasını içerir. Bu yalnızca strateji test cihazı için yapılır, gerçek ve demo stratejilerinde olaylar OnChartEvent aracılığıyla aktarılır. Tabii ki, bu tür eklemeler kodu çok güzel yapmadı, ancak şimdi test cihazını kullanabilirsiniz.

Bir nüans. Test cihazında OnTick(string symbol), test cihazı ayarlarında ayarlanan sembolün tikleri üzerinde çalışır. Genel olarak, neredeyse OnTick() gibi çalışır , yalnızca her tik için olaylar seçilen ticaret araçları tarafından alınır. Test cihazında çalışmak için SYMBOLS_TRADINGparametresindeki semboller bir liste olarak ayarlanmalıdır.

4. Casuslar.

Casus göstergeler kullanılır. Bu nedenle, Casus Kontrol paneli MCM.ex5'in \MQL5\Indicators\ kataloğunda bulunması önemlidir. Ekteki dosyada Casus Kontrol paneli MCM.mq5'in yeni bir derlemesi bulunmaktadır. İçinde, olayların küresel değişkenler aracılığıyla iletimi test cihazı için eklenmiştir.

5. Ekteki arşiv \MQL5 dizinine açılmalıdır. Dosyalar aşağıdaki gibi yerleştirilecektir:

    • /mql5/experts/OnTick(string symbol).mq5 - uzman örneği, şablon kaynağı;
    • /mql5/experts/OnTick(string symbol).ex5 - Uzman Danışman örneği, çalıştırılabilir dosya;
    • /mql5/indicators/Spy Control panel MCM.mq5 - gösterge - aracı, kaynak dosya;
    • /mql5/indicators/Spy Control panel MCM.ex5 - gösterge - aracı, yürütülebilir dosya;
    • /mql5/include/OnTick(string symbol).mqh - tüm OnTick(string symbol) işlevlerini içeren include dosyası.

MetaQuotes Ltd tarafından Rusçadan çevrilmiştir.
Orijinal kod: https://www.mql5.com/ru/code/280

Parametrik Olmayan Zig Zag, A-la Clyde Lee Örüntüleri Parametrik Olmayan Zig Zag, A-la Clyde Lee Örüntüleri

Clyde Lee modellerine dayalı parametrik olmayan bir zikzak.

Round Levels MT5 Round Levels MT5

Yuvarlak Seviyeler MetaTrader göstergesi - yapılandırmanıza bağlı olarak yakınlarındaki yuvarlak seviyeleri ve bölgeleri görüntüleyebilen bir MT4 / MT5 göstergesi. Doğal psikolojik destek ve direnç bölgelerini takas etmek faydalı olabilir. Fiyat destek veya direnç bölgesinde olduğunda da uyarılar verebilir.

eKeyboardTrader eKeyboardTrader

Klavyeden temel ticaret işlemlerini gerçekleştirmek için Uzman Danışman.

Recent High/Low Alert MT5 Recent High/Low Alert MT5

Son Yüksek / Düşük Uyarısı MetaTrader göstergesi - son N mumlarında iki maksimum ve minimum seviye bandı görüntüler. Varsayılan olarak, maksimum bant mavi bir çizgi ile görüntülenir; minimum bant sarı bir çizgi ile görüntülenir. Ek olarak, bir açılır pencere uyarısı çağırabilir, bir e-posta uyarısı gönderebilir veya mevcut fiyat (Teklif) son Yüksek veya Düşük seviyeyi kırdığında bir bildirim uyarısı verebilir. Tüm uyarılar kapatılabilir. E-posta uyarısı özelliğini kullanıyorsanız, MetaTrader platformunuzun seçenekler penceresinde e-posta ayarlarını yapmayı unutmayın. Anlık bildirimlerle aynı. Gösterge hem MT4 hem de MT5 için kullanılabilir.