Spec Match Trade Copier MT5
- Yardımcı programlar
- Sürüm: 1.1
- Güncellendi: 30 Eylül 2026
- Etkinleştirmeler: 10
MetaTrader 5 için yerel bir işlem kopyalayıcı. Aynı Windows bilgisayar veya VPS üzerindeki MT5 terminalleri arasında pozisyonları kopyalar ve her kopyanın büyüklüğünü iki aracı kurumun kontrat özelliklerinden (kontrat büyüklüğü, tick değeri, hesap para birimi) hesaplar; böylece iki aracı kurum lotu farklı tanımlasa bile kopya aynı maruziyeti (exposure) taşır. Aynı master pozisyonunun ikinci bir kopyasını asla açmaz.
Ne yapar
Her terminalde aynı EA'yı bir grafiğe eklersiniz:
- Master terminalde Mode girdisini Master olarak ayarlayın.
- Her alıcı terminalde Mode girdisini Receiver olarak ayarlayın.
Master; açık pozisyonlarını, bunların sembol özelliklerini ve bir heartbeat (canlılık sinyali) kaydını ortak Common\Files klasöründeki bir dosyaya yazar. Her alıcı bu dosyayı 100 ms'de bir okur ve kendi pozisyonlarını master'la uyumlu hale getirir:
- yeni pozisyonlar açar
- stop loss ve take profit'i değiştirir
- kısmen kapatır
- kapatır
Sunucu, ağ bağlantısı, DLL veya WebRequest yoktur.
Lot sayısını değil, kontratı izleyen lot büyüklüğü
Aracı kurumlar "1 lot"u farklı tanımlar. Altında lot başına 100 oz, 10 oz veya 1 oz olabilir. Endekslerde puan başına 1, 10 veya 25 birim olabilir. Cent hesap paranın 100 katını gösterir. Lot sayısını kopyalayan bir kopyalayıcı 100 kat fazla veya az pozisyon açabilir.
Bu kopyalayıcı bir lotun her iki tarafta ne kadar değerinde olduğunu ölçer. Bunun için aracı kurumun kendi kâr hesaplaması olan OrderCalcProfit'i hesap para birimiyle kullanır. Ardından master'daki değeri alıcının hesap para birimine çevirir. Tick değeri de kontrol edilir; ikisi uyuşmadığında panel bir uyarı gösterir.
Bir master pozisyonu en fazla bir kopya verir
Alıcı, diskte her master pozisyonu için bir satır içeren bir kopya haritası tutar:
- Her kopya SMC:<master position id> yorumunu taşır.
- Bir talep, gönderilmeden önce haritaya yazılır; böylece işlemin ortasında bir çökme veya yeniden başlatma ikinci bir kopyaya yol açamaz.
- Yeniden başlatmadan sonra ve girdileri ya da grafik zaman dilimini değiştirdiğinizde alıcı haritayı yeniden yükler. Kopyalar açıkken girdileri değiştirmek hedging ve netting alıcılarda canlı test edildi: fazladan deal oluşmadı.
- Hedging bir alıcıda harita dosyası kaybolursa alıcı haritayı pozisyon yorumlarından yeniden oluşturur.
- Netting bir alıcı kaybolan bir haritayı yeniden oluşturamaz, çünkü tek bir net pozisyon master pozisyonlarına geri bölünemez. Bunun yerine açık kopyası olan her sembolü NET_HOLD durumuna alır (aşağıdaki "Kopyalayıcı ne zaman durur veya beklemeye alır" bölümüne bakın).
Bir şey tutmadığında alıcı kopyalamayı durdurur ve uyarı verir. Asla tahmin yürütmez. Örnekler:
- iki alıcı pozisyonu aynı master kimliğini taşıyor
- kopyalanmış bir pozisyonun yorumunda kimlik yok
- master hesabı değişiyor
- hesabın teminat modu değişiyor
- harita dosyası bozuk
- bir netting hesabın net hacmi elle değiştirilmiş
Panel kaç mükerrer kopyanın engellendiğini gösterir.
Kopyalanan pozisyonlar yalnızca master'ın talimatıyla kapatılır
Master, kapattığı her pozisyon için deal geçmişinden alınan bir kapanış kaydı yayımlar. Alıcı bir kopyayı yalnızca bu kaydı gördüğünde kapatır. Bir pozisyon master dosyasından kayıt olmadan da kaybolabilir; örneğin dosya bozulduğu veya geçmiş yüklenmediği için. Bu durumda kopya HOLD durumuna alınır ve bir uyarı alırsınız. Kopya kapatılmaz.
Aşağıdakilerden herhangi biri olduğunda alıcı duraklar ve pozisyonlarınız olduğu gibi kalır:
- master terminal durdurulur
- master terminal zorla sonlandırılır
- master terminal bağlantısını kaybeder
- master dosyasının güncellenmesi durur (heartbeat zaman aşımı, varsayılan 3 sn)
İzleme
Durum paneli alıcı grafiğinde yer alır. Gösterdikleri:
- master durumu (ALIVE / SILENT / NOT CONNECTED)
- aktif, kapatılmış, reddedilmiş, beklemedeki ve filtrelenmiş kopya sayısı
- master ile alıcının toplam maruziyeti, hesap para birimiyle, farkı % olarak
- açılış, kapanış, kısmi kapanış, SL/TP değişikliği ve engellenen mükerrer kopya sayıları
- son eylem, son hata ve uyarılar
- kopyalanan her pozisyon için bir satır, en fazla 10 satır, ardından bir "... N more" satırı
Her eylem ayrıca Common\Files\SpecMatchCopier içindeki bir CSV günlüğüne yazılır.
Kopyalayıcı ne zaman durur veya beklemeye alır
Kopyalayıcı bir tutarsızlığı asla tahminle onarmaz. Nedeni siz giderirsiniz, ardından onu yeniden başlatırsınız.
| Panelde görünen | Anlamı | Ne yapmalı |
|---|---|---|
| COPYING STOPPED | Alıcı açıklayamadığı bir şey buldu: bir master kimliği için iki pozisyon, kopyalayıcının sihirli numarasını taşıyan ama kimliği olmayan bir pozisyon, değişmiş bir master hesabı veya teminat modu ya da bozuk bir harita dosyası. Neden panelde ve günlükte yazar. EA yeniden başlatılana kadar hiçbir şey kopyalanmaz. | Mesajın belirttiği nedeni giderin, ardından EA'yı grafikten kaldırıp yeniden ekleyin. Neden hâlâ duruyorsa yine durur. |
| COPYING STOPPED: master account changed | Kanal artık başka bir master hesabını taşıyor. | Değişiklik isteniyorsa: EA'yı kaldırın, eski master'ın kopyalarını elle kapatın, Common\Files\SpecMatchCopier içindeki map_<login>_<magic>.txt dosyasını silin (bu alıcının login'i ve sihirli numarası) ve EA'yı yeniden ekleyin. |
| COPYING STOPPED: map file is damaged | Kopya haritası sağlama toplamı kontrolünden geçemedi. | Hedging: harita dosyasını silin ve EA'yı yeniden ekleyin; harita yorumlardan yeniden oluşturulur. Netting: NET_HOLD'a bakın. |
| NET_HOLD (netting alıcı) | Bir sembolün net hacmi kopyalayıcının açtığından farklı; örneğin elle yapılan bir işlemden veya kaybolan bir haritadan sonra. O sembolde artık işlem yapılmaz. Bekletme durumu haritaya kaydedilir, bu yüzden yeniden başlatma onu kaldırmaz. | EA'yı kaldırın. Kopyalayıcının pozisyonlarını elle kapatın. map_<login>_<magic>.txt dosyasını silin. EA'yı yeniden ekleyin. EA bundan sonra, o andan sonra açılan master pozisyonlarını kopyalar. |
| HOLD tek bir satırda | Bir kopya şüpheli durumda. Örneğin bir master pozisyonu kapanış kaydı olmadan kayboldu. Ya da bir işlem talebi onaylanmadı, örneğin bağlantı koptuğu için, ve 15 saniye içinde hiçbir pozisyon görünmedi. Pozisyon daha sonra görünürse bir uyarıyla beklemedeki satıra bağlanır ve hiçbir şey iki kez gönderilmez. Beklemedeki kopya, master kendi pozisyonunu kapatmış olsa bile açık kalır. | Kopyayı elle kapatın veya tutun. Kopyalayıcı beklemedeki bir kopyaya bir daha dokunmaz. |
Lot modları
| Mod | Alıcı hacmi | Kontratı dikkate alır |
|---|---|---|
| Same exposure (varsayılan) | master hacmi x (1 master lotunun değeri / 1 alıcı lotunun değeri) x çarpan | evet |
| Balance ratio | Same exposure hacmi x (alıcı bakiyesi / master bakiyesi) | evet |
| Equity ratio | Same exposure hacmi x (alıcı varlığı / master varlığı) | evet |
| Master lot x multiplier | master hacmi x çarpan. Kontratlar farklıysa uyarı gösterilir | hayır |
| Fixed lot | her kopya için sabit lot | hayır |
Her modda hacim ardından:
- alıcının hacim adımına yuvarlanır (en yakına veya aşağı)
- isteğe bağlı Max lot ve aracı kurum maksimumu ile sınırlanır
- aracı kurum minimumunun altındaysa atlanır veya minimuma yükseltilir (seçim sizin)
- göndermeden önce OrderCalcMargin ile serbest teminata karşı kontrol edilir
Bir taraftaki bir lot, diğer taraftaki bir lotun 1000 katından fazla değerdeyse kopya reddedilir. Bu sınır değiştirilebilir. Bu durum genellikle yanlış bir sembol eşleştirmesi anlamına gelir.
Örnek hesaplama: altın, lot başına 100 oz'dan lot başına 1 oz'a
| Master (aracı kurum A) | Alıcı (aracı kurum B) | |
|---|---|---|
| Sembol | XAUUSD | XAUUSD.cs (otomatik eşleştirildi) |
| Kontrat büyüklüğü | 100 oz | 1 oz |
| Hesap | USD | USD |
| Altın fiyatı | 4.178,13 | 4.178,13 |
| 1 lotun değeri | 100 x 4.178,13 = 417.813 USD | 1 x 4.178,13 = 4.178,13 USD |
Master 0,10 lot açar; bu 10 oz eder ve değeri 41.781 USD'dir.
- Same exposure: 0,10 x 417.813 / 4.178,13 = alıcıda 10,00 lot; bu 10 oz eder ve değeri 41.781 USD'dir. Lot sayısını kopyalayan bir kopyalayıcı 0,10 lot = 0,1 oz açardı, yani maruziyetin yüzde birini.
- Cent alıcı (hesap para birimi USC, 1 oz kontrat): aracı kurum 1 lot için 417.813 USC bildirir; bu, cent katsayısından sonra 4.178,13 USD eder. Alıcı yine aynı 10,00 lot açar.
- Balance ratio (master bakiyesi 10.000 USD, alıcı bakiyesi 1.000 USD): 10,00 x 1.000 / 10.000 = 1,00 lot.
Bu sayılar, test raporuyla birlikte verilen birim testleridir. Aynı hesaplama canlı olarak da çalıştı: USD hesapta lot başına 5.000 oz olan XAGUSD, EUR hesapta lot başına 1.000 oz olan XAGEUR'ya kopyalandı. 0,10 lot, 0,50 lot oldu.
Sembol eşleştirme
Alıcı master sembolünü şu sırayla bulur:
- Elle eşleştirme haritası (XAUUSD=GOLD.x,US30=DJ30). Her zaman önceliklidir ve asla sonraki yöntemlere geçmez.
- Aynı ad.
- Suffix / Prefix ipucu (.cs, m, #).
- Aracı kurumun ekleri çıkarıldıktan sonra kalan aynı çekirdek ad: XAUUSD.cs, XAUUSDm, #XAUUSD, EURUSD.pro, US500Cash, fxEURUSD ve benzerleri.
- Yerleşik takma adlar: GOLD/XAUUSD, SILVER/XAGUSD, US30/DJ30/WS30, NAS100/US100/USTEC, US500/SPX500, GER40/DE40/DAX, UK100, JP225, USOIL/WTI, UKOIL/BRENT, BTCUSD, ETHUSD.
İki alıcı sembolü eşit derecede uyuyorsa Piyasa Gözlemi'nde olan kullanılır. İkisi de Piyasa Gözlemi'ndeyse veya hiçbiri değilse kopya reddedilir ve panel elle eşleştirme ister. Örneğin Exness, US30m (lot başına 1 endeks birimi) ve US30_x10m (lot başına 10 birim) sunar. İkisi de master'daki US30'a uyar; bu yüzden istediğinizi Piyasa Gözlemi'ne ekleyin veya elle eşleştirin. Lot her iki durumda da dönüştürülür.
Döviz çiftinden sonra gelen rakamlar aracı kurum eki olarak değerlendirilmez. Exness XAUUSD247m (hafta sonları da işlem gören altın) farklı bir üründür; bu yüzden master'daki XAUUSD, XAUUSDm'ye kopyalanır, asla XAUUSD247m'ye kopyalanmaz. Gerçekten bunu istiyorsanız elle eşleştirin.
Bir sembolün ilk kopyasından önce alıcı iki fiyatı kendi hesap para biriminde karşılaştırır. Fark %3'ten fazlaysa kopya reddedilir; bu eşik değiştirilebilir. Böylece "GOLD" gibi eşleştirmeler yakalanır: bu sembol bazı aracı kurumlarda altın değil, yaklaşık 40 USD değerinde bir altın madenciliği hissesidir.
Girdi parametreleri
| Girdi | Varsayılan | Anlamı |
|---|---|---|
| Mode of this terminal | Receiver | Master yayımlar; Receiver kopyalar |
| Channel | 1 | Bir master'ı alıcılarına bağlar. Bilgisayardaki her master için farklı bir metin kullanın |
| Cent account (this terminal) | Auto | Auto, USC/EUC hesap para birimlerini cent kabul eder. Aracı kurumunuz başka bir kod kullanıyorsa Yes/No olarak ayarlayın |
| Master scan interval, ms | 200 | Master'ın, işlem olaylarına ek olarak, değişiklikleri ne sıklıkla kontrol ettiği |
| Master heartbeat interval, ms | 500 | Hiçbir şey değişmediğinde master'ın dosyasını ne sıklıkla yeniden yazdığı |
| Lot mode | Same exposure | Yukarıdaki lot modlarına bakın |
| Fixed lot | 0.01 | Fixed lot modunda kullanılır |
| Multiplier | 1.0 | Fixed lot dışındaki tüm modlarda uygulanır |
| Max lot of one copied position | 0 (kapalı) | Tek bir kopya için üst sınır |
| Volume rounding | Nearest | En yakın hacim adımına veya aşağı |
| Volume below the broker minimum | Skip | Kopyayı atla veya minimum hacmi kullan |
| Refuse if one lot is worth more than x times the other | 1000 | Yanlış eşleştirmelere karşı korur |
| Manual symbol map | boş | Virgülle ayrılmış MASTER=RECEIVER çiftleri |
| Receiver symbol suffix hint | boş | Örneğin .cs |
| Receiver symbol prefix hint | boş | Örneğin # |
| Refuse a mapping if prices differ by more than, % | 3.0 | 0 kontrolü kapatır |
| Copy only these master symbols | boş (tümü) | Virgülle ayrılmış |
| Never copy these master symbols | boş | Virgülle ayrılmış |
| Copy only these master magic numbers | boş (tümü) | Virgülle ayrılmış |
| Never copy these master magic numbers | boş | Virgülle ayrılmış |
| Reverse copy | false | Alış satışa dönüşür; stop loss ile take profit yer değiştirir |
| Copy stop loss and take profit | true | |
| Copy positions already open at the first start | false | Varsayılan olarak yalnızca alıcı başladıktan sonra açılan pozisyonlar kopyalanır |
| Skip if price moved more than, % since master entry | 0.10 | Bir duraklamadan sonra geç kopyalara karşı korur. 0 bunu kapatır |
| Master heartbeat timeout, ms | 3000 | Master dosyası bundan daha eskiyse kopyalama duraklar |
| Hold if a master position vanishes without a close record, s | 30 | |
| Max slippage, points | 20 | Anlık yürütmeli semboller için |
| Magic number of copied positions | 7310001 | Hesap ve sihirli numara başına bir alıcı. Aynı hesaptaki ikinci bir alıcı için başka bir sihirli numara kullanın |
| Expected master account | 0 | 0, görülen ilk master'ı kabul eder. Aksi halde kanalda başka bir hesap görünürse kopyalama durur |
| Show the status panel | true | |
| Panel X / Y offset, px | 12 / 24 | |
| Popup alerts / Push notifications | true / false | |
| CSV journal | true | Common\Files\SpecMatchCopier\journal_<account>_<magic>.csv |
Kurulum
- EA'yı her iki terminale de kopyalayın. Common\Files kullanıcıya ait olduğu için terminaller aynı Windows kullanıcısı altında çalışmalıdır. Master'da ve her alıcı terminalde EA'nın aynı sürümünü kullanın: bir güncellemeden sonra hepsinde güncelleyin.
- Master terminalde EA'yı Mode = Master ile herhangi bir grafiğe ekleyin.
- Her alıcı terminalde EA'yı Mode = Receiver ve aynı Channel ile herhangi bir grafiğe ekleyin.
- Alıcı terminallerde Algo Trading'i (Algoritmik İşlem) etkinleştirin.
- Master'da küçük bir pozisyon açın. Alıcı paneli kopyayı ve lot dönüşümünü gösterir.
Strateji Sınayıcı
Strateji Sınayıcı'da ikinci bir terminal yoktur. Bu yüzden EA, test cihazında simüle edilmiş bir master çalıştırır:
- birkaç çubukta bir sanal pozisyonlar açar, değiştirir, kısmen kapatır ve kapatır; her biri stop loss seviyesinde bakiyenin yaklaşık %1'ini kaybedecek ve teminat olarak bakiyenin en fazla %10'unu kullanacak şekilde boyutlandırılır
- sanal pozisyonlar asla emir olarak gönderilmez
- bu sanal pozisyonları seçilen lot modu ve tüm işlem öncesi kontrollerle test hesabına kopyalar
Böylece kopyalama mantığını ve lot dönüşümünü ikinci bir terminal olmadan görebilirsiniz. Bu bir işlem stratejisi değildir ve test sonuçları kârlılık hakkında hiçbir şey söylemez.
Sınırlar (lütfen satın almadan önce okuyun)
- Yalnızca aynı bilgisayar: master ve alıcılar aynı Windows bilgisayarda veya VPS'te, tek bir Windows kullanıcısı altında çalışmalıdır. İnternet üzerinden kopyalama desteklenmez.
- MQL5'in yerleşik VPS'i bunu çalıştıramaz. Taşınan her terminalin kendi depolama alanı vardır.
- Yalnızca MT5'ten MT5'e. Bekleyen emirler kopyalanmaz; bekleyen bir emir gerçekleşip pozisyona dönüştüğünde kopyalanır.
- Kapalı piyasalar: alıcı sembolü işlem seansının dışındayken hiçbir şey gönderilmez. Kopyalayıcı seansın açılmasını bekler, ardından hâlâ gerekenleri kopyalar. Yeni bir pozisyon yine de "Skip if price moved" sınırına tabidir. Master'ın, alıcının piyasası kapalıyken yaptığı bir kapanış, o piyasa açıldığında o anki fiyattan gerçekleştirilir.
- Hız: demo hesaplarda ölçüldüğünde alıcı pozisyonu, master işleminden 0,2 ila 1,1 sn sonra master'la eşleşti (medyan 0,3 sn, 60 ölçüm; 1,1 sn'lik durum bir netting hesapta 10 pozisyonun aynı anda kapatılmasıydı). Bu, 100 ms'lik yoklama artı aracı kurumun yürütme süresidir. Kopyalar alıcının kendi fiyatlarından gerçekleşir; bu yüzden özellikle haber dönemlerinde master'ın fiyatlarından farklı olabilir.
- Stop loss ve take profit seviyeleri:
- İki sembol aynı para biriminde kote ediliyorsa seviyeler birebir kopyalanır.
- Aksi halde, örneğin XAGUSD'den XAGEUR'ya, seviyeler fiyat oranıyla ölçeklenir.
- Netting bir alıcıda SL/TP, yalnızca o semboldeki tüm master pozisyonları aynı seviyeleri kullanıyorsa kopyalanır.
- Alıcıda elle kapattığınız veya küçülttüğünüz pozisyonlara dokunulmaz. Asla yeniden açılmazlar.
- Alıcının 48 saatten uzun süre çevrimdışı kalması: master kapanış kayıtlarını 48 saat saklar. Master pozisyonu bundan önce kapanmış bir kopya otomatik olarak kapatılmaz. Bir uyarıyla HOLD durumuna geçer ve onu elle kapatırsınız.
- Açılışta reddedilen stop seviyeleri: aracı kurum yeni bir kopyanın stop loss veya take profit seviyesini reddederse (geçersiz stoplar; örneğin haber civarında genişletilmiş bir stop seviyesi), kopya reddedilir ve yeniden denenmez. Panel bunu REFUSED olarak gösterir.
- Sınırlanmış kopyalar: bir kopya Max lot veya aracı kurumun maksimum hacmiyle sınırlandığında, master'daki kısmi kapanış kopyayı yalnızca yeni ölçeklenmiş hacim açık olandan düşükse küçültür. O zamana kadar kopya sınır değerinde kalır.
- Risk yönetimi yok: kopyalayıcı drawdown'u veya günlük zararı sınırlamaz ve hesap yönetmez. Master ne yaparsa onu kopyalar.
- Her yerde aynı sürüm: master ve alıcılar bir lotun değerini aynı kodla ölçer. Tüm terminallerde EA'nın aynı sürümünü çalıştırın. Örneğin v1.00 bir master ile v1.01 bir alıcı, hisse senedi CFD'leri ve lot başına değeri küçük olan diğer kontratlar için v1.00'ın cent yuvarlamasını korur.
- Aracı kurumda yetersiz para: aracı kurum yeni bir kopyayı teminat nedeniyle reddederse kopya reddedilir ve yeniden denenmez. Bazı aracı kurumlar, MetaTrader'ın kendi teminat hesaplamasının gösterdiğinden daha fazla teminat ister; testlerde kullanılan Exness demo hesabı da böyleydi.
- Test ortamı:
- MetaQuotes-Demo hesaplarıyla canlı test edildi: USD master, EUR hedging alıcı, USD netting alıcı.
- Master ayrıca bir USD netting hesapta; eklemeler, tek deal ile yön değiştirme, kısmi kapanış ve tam kapanışla test edildi.
- İki aracı kurum arasında, MetaQuotes-Demo ile bir Exness Standard demo hesabı (USD, hedging, "m" sonekli semboller) arasında, her iki yönde canlı test edildi:
- MetaQuotes-Demo'dan Exness'e, otomatik eşleştirmeyle: XAUUSD'den XAUUSDm'ye, XAGUSD'den XAGUSDm'ye, EURUSD'den EURUSDm'ye. SL/TP ile açılış, SL değişikliği, kısmi kapanış, alıcının yeniden başlatılması, girdi değişikliği ve kapanışla test edildi.
- Exness'ten bir MetaQuotes-Demo EUR hesabına, otomatik eşleştirmeyle: XAUUSDm'den XAUUSD'ye, XAGUSDm'den XAGUSD'ye, EURUSDm'den EURUSD'ye. Açılış, SL değişikliği, kısmi kapanış ve kapanışla test edildi. Hisse senedi CFD'si BACm (lot başına 100 hisse), BAC'a (lot başına 1 hisse) kopyalandı: 0,10 lot, 10 lot oldu.
- Exness içinde farklı kontrat büyüklükleri, elle eşleştirmeyle: US30m'den US30_x10m'ye (0,30 lot 0,03 oldu), USTECm'den USTEC_x100m'ye ve US500m'den US500_x100m'ye (1,00 lot 0,01 oldu) ve BTCUSDm'den BTCUSDTm'ye.
- Her çalıştırmada: 0 mükerrer kopya ve panelde %0,00 ile %0,01 arasında maruziyet farkı. Yanlış eşleştirmeler fiyat kontrolüyle reddedildi. Belirsiz eşleşmeler, sembollerden biri Piyasa Gözlemi'nde olana kadar reddedildi.
- 1 oz altın ve cent hesaplar, canlı hesaplarla değil, sentetik aracı kurum özellikleriyle yapılan birim testleriyle kapsanmıştır. İki aracı kurum da bunları demo hesapta sunmuyordu.
- Gerçek parayla kopyalamadan önce lütfen kendi aracı kurumlarınızla demo hesaplarda test edin.
