- 1 Giriş
- 2 MQL4 ve MQL5 Temelleri
- 3 Hesap Kimlik Doğrulamasının Faydaları
- 4 MQL4’te Hesap Numarasını Nasıl Alırsınız
- 5 MQL5’te Hesap Numarasını Nasıl Alabilirsiniz
- 6 [Implementing Account Authentication] MQL4 Örnek Kodu
- 7 [Implementing Account Authentication] MQL5 Örnek Kodu
- 8 Hesap Kimlik Doğrulamasını Test Etme ve Sor Giderme
- 9 Sonuç
Giriş
Bu makale, MetaTrader 4 (MT4) ve MetaTrader 5 (MT5) için otomatik ticaret programlamada MQL4 ve MQL5 kullanarak hesap numaralarına dayalı hesap kimlik doğrulamasının nasıl uygulanacağını açıklar. Otomatik ticaret sistemleri (EA’lar) için güvenlik, başarılı ticaretin temel bir faktörüdür. Burada, yeni başlayanların kolayca anlayabileceği bir şekilde EA güvenliğini güçlendiren temel ama etkili bir yöntem—hesap kimlik doğrulaması—tanıtıyoruz.
Hesap kimlik doğrulaması, bir EA’nın yalnızca belirli ticaret hesaplarında çalışmasını sınırlama sürecidir. Bu yaklaşım, EA’ların yetkisiz kullanımını veya kopyalanmasını önlemeye yardımcı olur ve geliştiricinin fikri mülkiyetini korumanın etkili bir yolu olarak hizmet eder. Bu makaleyi izleyerek, MQL4 ve MQL5 ile hesap kimlik doğrulamasını nasıl uygulayacağınızı öğrenecek ve otom ticaret sistemlerinizin güvenliğini ve verimliliğini artıracaksınız.
MQL4 ve MQL5 Temelleri
MQL4 ve MQL5, MetaTrader platformları için programlama dilleridir ve döviz (FX) piyasasında otomatik ticaret sistemleri, yani Uzman Danışmanlar (EA’lar) geliştirmek için yaygın olarak kullanılır. MQL4, MetaTrader 4 (MT4) için tasarlanmışken, MQL5 daha gelişmiş MetaTrader 5 (MT5) için oluşturulmuştur. Bu diller, tüccarların ticaret stratejilerini otomatikleştirmeleri ve özel piyasa analiz araçları geliştirmeleri için güçlü araçlar sunar.
MQL4 ve MQL5 farklı özellik ve niteliklere sahip olsalar da, her ikisi de ticaret kurallarını kodlamanıza ve piyasada otomatik olarak işlem yapan EA’lar geliştirmenize olanak tanır. MQL4,gisel sözdizimi ve kullanım kolaylığıyla yeni başlayanlar için erişilebilir bir dil olarak bilinir. Öte yandan, MQL5 daha gelişmiş fonksiyonlar ve çoklu iş parçacığı (multi‑threading) yetenekleri sunar; bu da karmaşık stratejiler ve çoklu varlık ticareti için uygundur.
Bu bölüm, MQL4 ve MQL5’in temel özelliklerini ve bu dillerin özellikle yeni başlayanlar için FX otomatik ticaret sistemleri geliştirmede nasıl yardımcı olduğunu tanıttı. Sonraki bölüm, hesap kimlik doğrulamasının faydalarına odaklanmaktadır.
Hesap Kimlik Doğrulamasının Faydaları
Gelişmiş EA Güvenliği
Hesap kimlik doğrulaması, EA’nızın (Uzman Danışman) güvenliğini önemli ölçüde artıran temel bir özelliktir. Bu doğrulama sistemi sayesinde, EA yalnızca belirlenen ticaret hesaplarında çalışacak şekilde kısıtlanabilir. Sonuç olarak, yetkisiz erişim ve hackleme riskleri azalır ve güvenli bir ticaret ortamı sağlanır. Bu, EA kullanan herkes için huzurlu bir ticaret deneyimi sunan kritik bir unsurdur.
EA’yı Belirli Hesaplarla Sınırlamanın Avantajları
Kimlik doğrulama yoluyla EA kullanımını belirli hesaplarla sınırlamak çeşitli avantajlar sunar. İlk olarak, EA geliştiricileri ürünlerini koruyabilir ve hizmetlerini yalnızca belirli müşterilere sunabilir. Kullanıcılar ise kendi hesaplarına özel olarak uyarlanmış EA’ları çalıştırarak, özelleştirilmiş ticaret stratejilerini daha etkili bir şekilde uygulayabilir. Bu, ticaret verimliliği ve performansının artmasına yol açabilir.
Yetkisiz Kullanımın Önlenmesi
Hesap kimlik doğrulaması, EA’ların yetkisiz kullanımını ve kopyalanmasını önlemeye yardımcı olur. Bu işlev, özellikle ticari olarak satılan EA’lar için önemlidir; çünkü telif hakkını korur ve gelir kaybını engeller. Kullanıcılar ayrıca kimliği doğrulanmış EA’ların gerçek ürünler olduğuna güvenebilir; bu da EA pazarında güven ve güvenilirliğin artmasını sağlar.
Bu bölüm, hesap kimlik doğrulamasının EA’ların güvenliğini ve verimliliğini artıranili bir yöntem olduğunu açıklamıştır. Hesap kimlik doğrulamasını kullanarak daha güvenli bir ticaret ortamı yaratabilir ve yetkisiz kullanımı önleyebilirsiniz.
MQL4’te Hesap Numarasını Nasıl Alırsınız
AccountNumber() Fonksiyonu Nasıl Kullanılır
MQL4’te bir EA (Uzman Danışman) geliştirirken, hesaparasını elde etmek temel ama önemli bir adımdır. Bu amaçla AccountNumber() fonksiyonu sağlanmıştır. Bu fonksiyon, şu anda oturum açmış olan ticaret hesabının numarasını döndürür. Kullanımı çok basittir ve ek bir parametre gerektirmez. İşte temel bir örnek:
void OnStart()
{
// Retrieve the current account number
int myAccountNumber = AccountNumber();
// Output the account number
Print("Current account number: ", myAccountNumber);
}
Bu fonksiyonu kullanarak, EA geliştiricileri EA’nın yalnızca belirli ticaret hesaplarında çalışmasını sınırlayabilir.
Alınan Hesap Numarasının Kullanımına Örnek
Alınan hesap numarası, özellikle hesap kimlik doğrulaması için faydalıdır. Örneğin, bir geliştirici EA’nın yalnızca belirli bir hesapta çalışmasına izin vermek için basit bir koşul ifadesi kullanabilir:
int OnInit()
{
if(AccountNumber() == 1234567) // Enter your authorized account number here
{
Print("Authentication successful: This EA will run on this account");
return(INIT_SUCCEEDED);
}
else
{
Print("Authentication failed: This EA will not run on this account");
return(INIT_FAILED);
}
}
Bu kod, EA’nın yalnızca belirli bir hesap numarasına bağlıysa başlatılmasını sağlar. Bu, yetkisiz kullanımı önlemeye yardımcı olur ve EA güvenliğini artırır.
MQL5’te Hesap Numarasını Nasıl Alabilirsiniz
AccountInfoInteger(ACCOUNT_LOGIN) Fonksiyonunu Nasıl Kullanılır
MQL5’te bir hesap numarasını alma süreci, MQL4’ten biraz farklıdır. MQL5’te, şu anda oturum açmış ticaret hesabının hesap numarasını elde etmek için AccountInfoInteger(ACCOUNT_LOGIN) fonksiyonunu kullanırsınız. İşte temel bir kullanım örneği:
void OnStart()
{
// Retrieve the account number
long myAccountNumber = AccountInfoInteger(ACCOUNT_LOGIN);
// Output the account number
Print("Current account number: ", myAccountNumber);
}
Bu kod parçacığında, hesap numarası bir long tipinde değişkende saklanır ve ardından çıktılanır. Bu bilgi, EA kullanımını belirli hesaplarla sınırlamak için kullanılabilir.
MQL4’ten Farklılıkların Açıklanması
MQL4 ve MQL5 arasındaki temel farklar, hesap numarasını elde etmek için kullanılan fonksiyonlar ve döndürülen veri tiplerindedir. MQL4’te, hesap numarasını doğrudan bir tamsayı olarak almak için AccountNumber() kullanırsınız. MQL5’te ise ACCOUNT_LOGIN parametresiyle AccountInfoInteger() kullanılır ve hesap numarası bir long değer olarak döndürülür.
Bu farkı anlamak, MQL5’te programlama yaparken, özellikle EA’nıza hesap kimlik doğrulama özellikleri entegre ederken önemlidir. Her sürümde hesap numarasını doğru şekilde almayı bilmek gereklidir.
[Implementing Account Authentication] MQL4 Örnek Kodu
Örnek Kod
MQL4’te hesap kimlik doğrulamasını uygularken aşağıdaki örnek kodu kullanabilirsiniz. Bu, EA’nın yalnızca belirli bir hesap numarasında çalışmasını sınırlar.
// EA initialization function
int OnInit()
{
// Get the current account number
int accountNumber = AccountNumber();
// Allow initialization only for a specific account number
if(accountNumber == 1234567) // Enter the authorized account number here
{
Print("Account authentication successful: ", accountNumber);
return(INIT_SUCCEEDED);
}
else
{
Print("Account authentication failed: ", accountNumber);
return(INIT_FAILED);
}
}
Her Bölümün Ayrıntılı Açıklaması
int OnInit(): EA’yı başlatan özel bir fonksiyondur. EA bir grafiğe eklendiğinde otomatik olarak çağrılır.int accountNumber = AccountNumber();: Bu satır mevcut ticaret hesabının numarasını alır.if(accountNumber == 1234567): Bu koşul ifadesi, hesap numarası belirtilen değerle (bu örnekte 1234567) eşleştiğinde EA’nın başlatılmasına izin verir. Diğer hesap numaraları için başlatma reddedilir.return(INIT_SUCCEEDED);vereturn(INIT_FAILED);: Bu satırlar, koşula bağlı olarak EA başlatmanın başarılı mı yoksa başarısız mı olduğunu MetaTrader’a bildirir.
Bu örnek, MQL4 kullanarak EA’nızı yalnızca belirli hesaplarda çalışacak şekilde ayarlamanın temel yolunu gösterir. Sonraki bölüm, MQL5 için benzer bir yaklaşımı açıklayacaktır.
[Implementing Account Authentication] MQL5 Örnek Kodu
Örnek Kod
MQL5’te hesap kimlik doğrulamasını uygulamak için aşağıdaki örnek koda bakın. Bu, belirli bir hesap numarasına göre EA başlatmasını kontrol eder.
// EA initialization function
int OnInit()
{
// Get the current account number
long accountNumber = AccountInfoInteger(ACCOUNT_LOGIN);
// Allow initialization only for a specific account number
if(accountNumber == 1234567) // Enter the authorized account number here
{
Print("Account authentication successful: ", accountNumber);
return(INIT_SUCCEEDED);
}
else
{
Print("Account authentication failed: ", accountNumber);
return(INIT_FAILED);
}
}
Her Bölümün Ayrıntılı Açıklaması
int OnInit(): Bu fonksiyon, EA bir grafiğe eklendiğinde otomatik olarak çağrılır ve başlatma sürecini yönetir.long accountNumber = AccountInfoInteger(ACCOUNT_LOGIN);: MQL5’te, mevcut hesap numarasınılongbir değer olarak almak içinAccountInfoInteger(ACCOUNT_LOGIN)kullanırsınız.if(accountNumber == 1234567): Bu koşul, yalnızca hesap numarası belirtilen değerle eşleştiğinde başlatmaya izin verir. Aksi takdirde, başlatma başarısız olur.return(INIT_SUCCEEDED)vereturn(INIT_FAILED): Bunlar MetaTrader’a EA başlatmasının başarılı mı yoksa başarısız mı olduğunu bildirir.
Bu örnek, MQL5’te EA kullanımını belirli hesaplarla sınırlamak için anlaşılması kolay bir yöntem gösterir, EA güvenliğini güçlendirir ve yetkisiz kullanımı önler.
Hesap Kimlik Doğrulamasını Test Etme ve Sor Giderme
Hesap kimlik doğrulaması eklendikten sonra, her şeyin amaçlandığı gibi çalıştığından emin olmak için kapsamlı bir test ve sorun giderme yapmak çok önemlidir. Bu bölüm, EA’nızın hesap kimlik doğrulamasını nasıl test edeceğinizi ve karşılaşabileceğiniz yaygın sorunları nasıl çözeceğinizi açıklamaktadır.
Test Genel Bakışı
- Farklı Hesaplarda Test Et: Öncelikle, yetkili hesap numarasıyla EA’yı çalıştırarak kimlik doğrulamanın başarılı olduğunu doğrulayın. Ardından, farklı bir hesap numarasıyla çalıştırarak kimlik doğrulamanın reddedildiğini kontrol edin.
- Hata Mesajlarını Kontrol Et: Kimlik doğrulama başarısız olduğunda gösterilen hata mesajlarının net ve kullanıcılar için anlaşılır olduğundan emin olun.
- Log Dosyalarını İncele: Kimlik doğrulama sürecinde ortaya çıkan sorunları belirlemek için MetaTrader’ın log dosyalarını kontrol edin.
Yaygın Sorunlar ve Çözümler
- Yanlış Hesap Numarası: Kimlik doğrulama başarısızlığının en yaygın nedeni yanlış hesap numarası girmektir. Kodunuzda doğru numarayı ayarladığınızdan emin olmak için iki kez kontrol edin.
- Platform Uyumluluk Sorunları: MQL4 ve MQL5 arasındaki farklar nedeniyle EA’nız beklenildiği gibi çalışmayabilir. MetaTrader sürümünüz için doğru kodu kullandığınızdan emin olun.
- Hata Mesajları Görünmüyor: Hata mesajları düzgün görünmüyorsa, kodunuzdaki hata işleme bölümünü gözden geçirin ve gerekli düzeltmeleri yapın.
Hesap kimlik doğrulama özelliğinizi doğru bir şekilde test etmek ve sorunlarını gidermek, EA’nızın güvenliğini ve güvenilirliğini artıracaktır. Bu, tüccarların EA’nızı daha fazla güvenle kullanmasını sağlar.
Sonuç
Bu makale, MetaTrader platformları için MQL4 ve MQL5’te hesap kimlik doğrulamasının önemini inceledi. Hesap kimlik doğrulamasının EA güvenliğini nasıl güçlendirdiğini ve yetkisiz kullanımı nasıl önlediğini tartıştık. Bu özelliği uygulamak, özellikle EA’nızı ticari olarak satmayı veya kişisel ticaret stratejilerinizi korumayı planlıyorsanız, çok önemlidir.
Eğer bir EA geliştiricisiyseniz, bugün öğrendiğiniz hesap kimlik doğrulama tekniklerini projelerinizde uygulamanızı öneririz. Bu süreç EA’larınızı güvenli tutar ve kullanıcılara daha güvenilir ürünler sunmanızı sağlar. Zaten EA kullanan tüccarlar için, bu özelliğin ticaret ortamınızı nasıl koruduğunu anlamak, daha huzurlu bir şekilde işlem yapmanıza yardımcı olur.
Hesap kimlik doğrulaması, otomatik ticaret dünyasında giderek daha önemli hale geliyor. Bu bilgiyi daha güvenli ve daha etkili bir ticaret ortamı oluşturmak için kullanın.

