Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Bir siparişin verilip verilmediğini belirlemek için OnTradeTransaction kullanan var mı?
Strateji test edicide, 3 tik içinde bir işlem ve 2 emir gönderirken, son gönderilen emire sadece 1 TRADE_TRANSACTION_REQUEST gelir.
Test kullanıcısı günlüklerine veya aracı günlüklerine mi bakıyorsunuz? Servis Masasına yazıp detayları verebilir misiniz ?
Aracıdaki günlüklere baktım ve orada bile günlüğün çok büyük bir parçası yazdırılmalı. Yaklaşık bir kod yazdım, servis masasıyla uğraşamayacak kadar tembelim. 2011.10.10'dan beri roboforex'te çalıştırıyorum, burada üç TRADE_TRANSACTION_REQUEST'den biri, üçte iki meta alıntıda görünüyor. Görünüşe göre kenelerin oluşma sıklığına bağlıdır.
2012.08.22 09:43:15 Terminal SIGTrader 5 x64 build 687 başladı
Aracıdaki günlüklere baktım ve orada bile günlüğün çok büyük bir parçası yazdırılmalı. Yaklaşık bir kod yazdım, servis masasıyla uğraşamayacak kadar tembelim. 2011.10.10'dan beri RoboForex'te çalıştırıyorum, burada üç TRADE_TRANSACTION_REQUEST'den biri ve Metaquote'ta üçten ikisi görünüyor. Görünüşe göre kenelerin oluşma sıklığına bağlıdır.
2012.08.22 09:43:15 Terminal SIGTrader 5 x64 build 687 başladı
OnTradeTransaction hiçbir şekilde kenelere bağlı değildir, bir ticari olay işleyicisidir.
Ve kendi kuyruğunu, ticaret olaylarının kuyruğunu işler.
OnTradeTransaction hiçbir şekilde kenelere bağlı değildir, bir ticari olay işleyicisidir.
Ve kendi kuyruğunu, ticaret olaylarının kuyruğunu işler.
Bu örnekte, sipariş verme hızı tiklere bağlıdır, her tik için yeni bir sipariş verilir.
İlginç bir şekilde, TRADE_TRANSACTION_REQUEST'in olmaması geliştiriciler tarafından tekrarlandı veya hizmet masası olmadan mümkün değil (
Bu örnekte, sipariş verme hızı tiklere bağlıdır, her tike yeni bir sipariş verilir.
İlginç bir şekilde, TRADE_TRANSACTION_REQUEST'in olmaması geliştiriciler tarafından tekrarlandı veya hizmet masası olmadan mümkün değil (
Muhtemelen SD olmadan, nasıl olursa olsun, işlev yenidir ve hatalar mümkündür. Ayrıntılı olarak anlamanız gerekir.
ZY Burada bu işlevin uygulanması hakkında bir makale hazırlıyorum, ancak böyle bir durum benim için ortaya çıkmadı.
ZZY gerçekten yalnızca Alpari ve MQ sunucularında kontrol edildi,
Sunucunun doğru adını verin, kontrol etmeye çalışacağım.
Muhtemelen SD olmadan, nasıl olursa olsun, işlev yenidir ve hatalar mümkündür. Ayrıntılı olarak anlamanız gerekir.
ZY Burada bu işlevin uygulanması hakkında bir makale hazırlıyorum, ancak böyle bir durum benim için ortaya çıkmadı.
ZZY gerçekten yalnızca Alpari ve MQ sunucularında kontrol edildi,
Sunucunun doğru adını verin, kontrol etmeye çalışacağım.
RoboForex-MetaTrader 5
MetaQuotes-Demo
EURUSD bir para birimidir ancak yukarıdaki loglarda belirtilmiştir.
Yukarıda ekli dosyada, lansman 10'unda yapıldı, bu yüzden testin başlangıcını 2011.10.10'a ayarladım. Şu anda tekrar kontrol ettim, roboforex kararlında sadece son 1 TRADE_TRANSACTION_REQUES geliyor.
RoboForex-MetaTrader 5
MetaQuotes-Demo
EURUSD bir para birimidir ancak yukarıdaki loglarda belirtilmiştir.
Yukarıda ekli dosyada, lansman 10'unda yapıldı, bu yüzden testin başlangıcını 2011.10.10'a ayarladım. Şu anda tekrar kontrol ettim, roboforex kararlında sadece son 1 TRADE_TRANSACTION_REQUES geliyor.
Hata yeniden üretilemez.
Hem MQ'da hem de RoboForex'te, gerçek zamanlı olarak ve test cihazında, tüm TRADE_TRANSACTION_REQUEST normal olarak alınır.
Sistem x86, şimdi x64'te kontrol edemiyorum.
2 günlük karşılaştırıldığında, OnTradeTransaction'ın yeni bir siparişin ortaya çıkmasından önce çalışacak zamanı yoksa, TRADE_TRANSACTION_REQUEST'in düştüğü görülebilir.
İşte 1/3
GM 0 Trade 03:35:28 2011.10.10 02:00:00 instant sell 1.00 EURUSD at 1.3385 (1.3385 / 1.3387 / 1.3385)
OL 0 Trades 03:35:28 2011.10.10 02:00:00 deal #2 sell 1.00 EURUSD at 1.3385 done (based on order #2)
JQ 0 Trade 03:35:28 2011.10.10 02:00:00 deal performed [#2 sell 1.00 EURUSD at 1.3385]
RJ 0 Trade 03:35:28 2011.10.10 02:00:00 order performed sell 1.00 at 1.3385 [#2 sell 1.00 EURUSD at 1.3385] <== 1
MH 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 TRADE_ACTION_DEAL Установлен 1 ордер
HE 0 Trade 03:35:28 2011.10.10 02:00:00 buy limit 1.50 EURUSD at 1.3234 (1.3384 / 1.3386 / 1.3384) <== 2
MP 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 TRADE_ACTION_PENDING Установлен 2 ордер
QN 0 Trade 03:35:28 2011.10.10 02:00:00 buy limit 1.50 EURUSD at 1.3285 (1.3385 / 1.3387 / 1.3385) <== 3
MM 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 TRADE_ACTION_PENDING Установлен 2 ордер
HI 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 ///////////////////// trans.type==6----- n=0
GE 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 ****************************************************************************
GD 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 ///////////////////// trans.type==2----- n=1
CF 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 ****************************************************************************
MF 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 ///////////////////// trans.type==3----- n=2
OS 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 ****************************************************************************
OQ 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 ///////////////////// trans.type==0----- n=3
KL 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 ****************************************************************************
JL 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 ///////////////////// trans.type==0----- n=4
GN 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 ****************************************************************************
EO 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 ///////////////////// trans.type==0----- n=5
CK 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 ****************************************************************************
PI 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 ///////////////////// trans.type==0----- n=6
OD 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 ****************************************************************************
LG 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 ///////////////////// trans.type==10----- n=7
OJ 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 EnumToString(type)=TRADE_TRANSACTION_REQUEST
QN 0 test5 (EURUSD,M30) 03:35:28 2011.10.10 02:00:00 ------------trans===
TRADE_TRANSACTION_REQUEST
burada 2/3
CL 0 İşlem 03:36:07 2011.10.10 02:00:00 anında satış 1.00 EURUSD 1.33989'dan (1.33989 / 1.34003 / 1.33989)
NP 0 İşlemler 03:36:07 2011.10.10 02:00:00 anlaşma #2 1.00 EURUSD 1.33989'dan satıldı (2. sıraya göre)
QR 0 İşlem 03:36:07 2011.10.10 02:00:00 anlaşma yapıldı [#2 1.33989'dan 1.00 EURUSD satmak]
DJ 0 İşlem 03:36:07 2011.10.10 02:00:00 emir gerçekleştirildi satış 1.00 1.33989'dan [#2 1.33989'dan 1.00 EURUSD sat] <== 1
RK 0 test5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:00 TRADE_ACTION_DEAL 1 sipariş verildi
QE 0 İşlem 03:36:07 2011.10.10 02:00:00 alım limiti 1.50 EURUSD 1.32490'da (1.33990 / 1.34004 / 1.33990) <== 2
LS 0 test5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:00 TRADE_ACTION_PENDING 2. sipariş verildi
GP 0 test5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:00 //////////////////// trans.type==6-- ---n=0
JM 0 testi5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:00 ******************************* ******************************************************* **
DM 0 test5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:00 //////////////////// trans.type==2-- ---n=1
JH 0 testi5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:00 ******************************* ******************************************************* **
FJ 0 test5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:00 //////////////////// trans.type==3-- ---n=2
JG 0 testi5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:00 ******************************* ******************************************************* **
DG 0 test5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:00 /////////////////// trans.type==0-- - --n=3
JR 0 testi5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:00 ******************************* ******************************************************* **
ID 0 test5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:00 //////////////////// trans.type==0-- ---n=4
JQ 0 testi5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:00 ******************************* ******************************************************* **
IR 0 testi5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:00 //////////////////// trans.type==10-- ---n=5
RP 0 test5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:00 EnumToString(type)=TİCARET_TRANSACTION_REQUEST
RG 0 test5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:00 ------------trans===
TRADE_TRANSACTION_REQUEST
...
FD 0 test5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:00 ******************************* ******************************************************* **
OG 0 İşlem 03:36:07 2011.10.10 02:00:01 alış limiti 1.50 EURUSD 1.32992'den (1.33992 / 1.34006 / 1.33992) <== 3
QQ 0 test5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:01 TRADE_ACTION_PENDING 2. sipariş verildi
RQ 0 test5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:01 ////////////////// trans.type==0-- - -- n=6
OO 0 test5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:01 ******************************* ******************************************************* **
RM 0 test5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:01 /////////////////// trans.type==10-- - --n=7
CF 0 test5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:01 EnumToString(type)=TİCARET_TRANSACTION_REQUEST
CJ 0 test5 (EURUSD,H1) 03:36:07 2011.10.10 02:00:01 ------------trans===
TRADE_TRANSACTION_REQUEST
...
Hata yeniden üretilemez.
Hem MQ'da hem de RoboForex'te, gerçek zamanlı olarak ve test cihazında, tüm TRADE_TRANSACTION_REQUEST normal olarak alınır.
Sistem x86, şimdi x64'te kontrol edemiyorum.
Eski bir dizüstü bilgisayarda denedim, sırayla çalıştı: siparişleri belirleme - yanıtlama - siparişleri belirleme - yanıtlama - siparişleri belirleme - yanıtlama
1 tik için 2 sipariş gönderilirse çoğaltılması gerektiğini düşünüyorum. OnTradeTransaction'ın o zaman zamanında çalışmak için zamanı olmayacak.
Dosyayı biraz düzenledi.
Tünaydın.
Zarf satırlarındaki isabetleri saymak için bir blok oluşturdum, her şey doğru sayılıyor gibi görünüyor, ancak günlükte bazı girişler eksik - örneğin, günlükte sayım[Sayı] =3 var ve sonraki sayı[Sayı] =5. Hesaplamanın doğru olduğu görülebilir, ancak bir nedenden dolayı kayıt defterinde eksiktir. sayım[Sayı] = 4 ile ilgili giriş. Bazen dergide tüm girdiler bulunur. Bunun neden olduğu belli değil mi? Kodda bir hata görürseniz, kodu düzeltebilir misiniz?
Yine de, bazen test cihazını başlatmak "OnTick kritik hatası" hatasını verir, ancak bir dahaki sefere test etmeye başlar. Sorun ne olabilir?