Kategori
Platform
Seviye
Başlangıç
Kullanıldığı yer
MT5 kullanımıEA değerlendirmesi

Magic number

Bir Expert Advisor'ın gönderdiği her emre bastığı tam sayı; böylece kendi pozisyonlarını tanır ve hesaptaki diğer her şeye dokunmaz.

ayrıca: EA magic, emir magic numarası, MAGIC

Güncellendi · İncelendi

Sade bir dille

Her işlemin üzerindeki isim etiketi. Terminal bir pozisyonu kimin açtığını umursamaz; bu yüzden her EA bilete kendi numarasını yazar ve sonrasında yalnızca o numarayı taşıyan biletlere dokunur.

Neden önemli

MetaTrader bir hesaptaki her EA'ya tüm pozisyonlar üzerinde aynı görüşü verir. Etiket olmadan bir EA kendi işlemlerini sizinkilerden ya da başka bir EA'nınkilerden ayıramaz — ve yanlış pozisyonu yöneten bir EA, hata mesajı veren değil para kaybettiren türden bir hatadır.

  • Bir hesapta birden çok EA çalıştırmayı en baştan mümkün kılan şey odur.
  • Manuel işlemleri korur: onlar magic 0 taşır ve doğru yazılmış bir EA onlara asla dokunmaz.
  • Bir işlem geçmişini sonradan stratejiye göre ayırmanın yoludur — etiket işlem geçmişine kadar yaşar.

MetaTrader 5'te

MT5'te nerede görünür

  • Grafik → EA özellikleri (F7) → Girdiler — EA'nın kendi MagicNumber girdisi
  • Strateji Test Cihazı → Girdiler — test sırasında aynı girdi
  • MQL5 kodu: gönderirken MqlTradeRequest.magic, geri okurken POSITION_MAGIC / ORDER_MAGIC / DEAL_MAGIC

EA'lar nasıl kullanır

  • Başlangıçta bir kez ayarlanır — CTrade::SetExpertMagicNumber(MagicNumber) — ardından EA'nın gönderdiği her emir etiketi taşır.
  • Her turda filtrelenir: pozisyon döngüsü, herhangi bir şeyi değiştirmeden, takip etmeden ya da kapatmadan önce POSITION_MAGIC'i kendisininki olmayan biletleri atlar.
  • Geçmiş de aynı şekilde filtrelenir, böylece EA başına istatistikler yalnızca o EA'nın işlemlerinden hesaplanır.
  • mt5depot Builder'ın ürettiği her EA, değeri stratejiden türetilmiş bir MagicNumber girdisiyle gelir; böylece üretilmiş iki farklı EA kutudan çıktığı gibi çakışmaz.

Tipik ayarlar

Ayar Tipik değer Not
Manuel işlemler 0 Terminalin varsayılanı. Bir EA magic 0'ı asla yönetmemeli.
Tek EA, tek sembol benzersiz herhangi bir tam sayı Akılda kalan her şey olur — 20260807, 1001.
Aynı EA birden çok sembolde grafik başına bir değer Aksi hâlde EURUSD örneği GBPUSD örneğinin pozisyonlarını kapatır.
Birden çok strateji çalıştıran portföy EA'sı bacak başına bir değer Her bacağın bağımsız takip edilip kapatılabilmesi için kendi etiketi gerekir.

Sık görülen işletim sorunları

  • Aynı magic'te bırakılmış iki örnek: her biri diğerinin pozisyonlarını kendisininki sanar ve yanlış anda kapatır.
  • Açık pozisyon varken magic'i değiştirmek onları öksüz bırakır — EA dakikalar önce kendi açtığı işlemleri artık tanımaz ve hiçbir şey onları otomatik kapatmaz.
  • Magic'i 0'da bırakmak EA'yı manuel işlemlerinizin sorumlusu yapar.
  • Terminal yeniden başladıktan sonra EA'yı yapılandırdığınız değer yerine varsayılanla yeniden eklemek aynı öksüzlüğü sessizce üretir.

İlgili MT5 fonksiyonları

CTrade::SetExpertMagicNumber()
Bu örneğin sonraki her emrinin taşıyacağı etiketi belirler.
PositionGetInteger(POSITION_MAGIC)
Etiketi açık bir pozisyondan okur.
OrderGetInteger(ORDER_MAGIC)
Bekleyen bir emirden okur.
HistoryDealGetInteger(ticket, DEAL_MAGIC)
Kapanmış bir işlemden okur; geçmişin EA başına ayrılması böyle olur.

Örnek

Bir hesapta üç EA. Her biri kendi numarasını basar; böylece hepsi altı pozisyonun tamamını görse de her pozisyon döngüsü yalnızca kendi satırlarına dokunur.

Tek terminal, tek hesap, üç sahip — onları ayıran tek şey etikettir.
EURUSD'de trend EA'sı
20260101
USDJPY'de ortalamaya dönüş EA'sı
20260102
Sizin manuel işlemleriniz
0
Bu etiketi hiçbir EA sahiplenmez, dolayısıyla otomatik hiçbir şey onları kapatmaz.

Hesaplama if (PositionGetInteger(POSITION_MAGIC) != MagicNumber) continue;

Sonuç Her EA yalnızca kendi açtığı pozisyonları yönetir

Örnekleme amaçlı sayılar — listelenen hiçbir EA'nın kaydı değildir.

Nasıl kullanılır

Magic number'ı strateji ayarı değil hesap yapılandırması olarak görün: EA canlıya çıkmadan önce not edin ve açık pozisyon varken asla değiştirmeyin.

  • Değeri EA ürünü başına değil, çalışan örnek başına atayın — iki grafikteki aynı EA iki değer ister.
  • Bir liste tutun. Dört beş örnek çalışmaya başladığında, not edilmemiş bir etiket ile kopyalanmış bir etiket birbirinden ayırt edilemez.
  • Hâlâ açık pozisyonu bulunan bir etiketi asla yeniden kullanmayın; kaldırdığınız bir EA'dan kalmış olsa bile.
  • Her terminal yeniden kurulumundan ya da profil geri yüklemesinden sonra kontrol edin; varsayılanlar oradan geri gelir.

Değerin kendisi MetaTrader için bir anlam taşımaz — herhangi bir tam sayı işe yarar. Tek önemli olan, o hesapta çalışanlar arasında benzersiz olmasıdır.

Sık yapılan hatalar

Magic number'ın gerçekleşmeyi etkilediğini sanmak

Bir emrin nasıl gerçekleştiğine dair hiçbir şeyi değiştirmez. O bir üst veridir: aracı kurum ona göre davranmaz ve fiyat, spread ya da kayma üzerinde etkisi yoktur.

Bir EA için birçok grafikte tek bir magic number kullanmak

Önemli olan kimlik ürün değil, çalışan örnektir. Etiketi paylaşan iki grafik demek, tek bir pozisyon havuzunu yöneten iki örnek demektir.

Yanlış davranan bir EA'yı «sıfırlamak» için değiştirmek

Açık pozisyonlar eski etiketi korur. Girdiyi değiştirmek onları terk eder: EA onları tanımayı bırakır ve elle ya da bir stop out ile kapatılana dek açık kalırlar.

Magic number'ın hesap ekstresini ayırdığını sanmak

Terminalin İşlem sekmesi onu göstermez. Sonuçları EA başına ayırmak, geçmişten DEAL_MAGIC okumayı gerektirir; raporlama araçlarının yaptığı budur — varsayılan ekstrenin verdiği bir şey değil.

Ayrıntılı olarak

Etiketin satın almadığı şey, bu rafta sayılmış hâliyle

Burada yayımlanan 14 EA genelindeDeğer
MagicNumber girdisi olan ilanlar10
Kurulum sırasında değiştirilmesi gereken ilanlar0
O sembolü başka hiçbir şeyin işlemediği yerde çalıştırmanızı isteyen ilanlar8
Bunlardan, yine de MagicNumber girdisi taşıyanlar6
Birden fazla ilanın talep ettiği semboller15 sembolden 7’sı
Tek hesabı paylaşamayan EA çiftleri91 çiftten 15’ü

Üçüncü ve dördüncü satırı birlikte okuyun. Emirleri etiketlemek bir iş; yeni bir sinyale izin verilip verilmeyeceğine karar vermek başka bir iştir ve kendini tek açık pozisyonla sınırlayan bir EA’nın önce sayması gerekir. PositionsTotal() ve bir sembol denetimiyle sayarsa yabancı bir pozisyon toplama girer; önce POSITION_MAGIC ile filtrelerse girmez. Buradaki altı ilan girdiyi taşıdığı hâlde uyarıyı da basıyor; bu size onların pozisyon sayımının hangisini yaptığını söyler.

Yani eşleştirme sorusu bir sembol sorusudur ve satın almadan önce yanıtlanabilir. USD/JPY aynı anda dört ilan tarafından talep ediliyor — Iridescence, Kestrel Hover, Lanternfish ve Tessera —, dolayısıyla bunların hiçbir ikilisi bir arada durmaz. EUR/GBP artık iki tane taşıyor: Ballast ve Thunderhead. Yalnızca Orrery, Peregrine ve Zerqon kimseyle örtüşmüyor. İkisi örtüştüğünde, hesapları ayırmak etiketin yapamadığını yapar: her EA artık yalnızca kendi işlemlerini içeren bir havuzu sayar. Metodolojimiz yayımlanan her koşuyu sembol bazında kaydeder; bu da aynı ayrımın ölçüm tarafından görünüşüdür.

Sıkça sorulan sorular

Hangi magic number'ı kullanmalıyım?
O hesapta hâlihazırda kullanılmayan ve 0 olmayan herhangi bir tam sayı — 0 değeri manuel işlemlere aittir. Birden çok örnek çalışırken 20260807 gibi tarih biçimli bir değeri takip etmek kolaydır.
İki EA aynı magic number'ı paylaşabilir mi?
Teknik olarak evet ve bu, teşhisi zor kayıpların yaygın bir nedenidir: her örnek diğerinin pozisyonlarını kendisininki gibi ele alır ve onları yanlış anda kapatabilir ya da takip edebilir. Çalışan her örneğe kendi değerini verin.
Magic number Strateji Test Cihazı'nda önemli mi?
Tek EA'lı bir test için değil, çünkü test hesabında başka hiçbir şey işlem yapmıyor. Aynı canlı ya da demo hesapta birden fazla EA çalıştığı anda önem kazanır.