Hatalar, hatalar, sorular - sayfa 1804

 
Bu konu ile ilgili olmayan yorumlar " MQL4, yardım ve algoritmalar ve kodlar hakkında tartışma " bölümüne taşınmıştır.
 
fxsaber :
Uyku, yalnızca sembolün Piyasa İzleme'de olmadığı durumlarda gereklidir. Göstergenin piyasaya sürülmesinden önce (ve çalışma sırasında) Piyasa İzleme'de bulunan tüm semboller için fişe gerek yoktur.
Apaçık.
 

1531 - Metaquotes-Demo frenleri kaybolmadı.

Yanıtlı istek

Request.action = TRADE_ACTION_DEAL ( 1 )
Request.magic = 0
Request.order = 0
Request.symbol = #KO
Request.volume = 1.0
Request.price = 40.31
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_BUY ( 0 )
Request.type_filling = ORDER_FILLING_RETURN ( 2 )
Request.type_time = ORDER_TIME_GTC ( 0 )
Request.expiration = 1970.01 . 01 00 : 00 : 00
Request.comment = My Position
Request.position = 0
Request.position_by = 0
Result.retcode = 10009
Result.deal = 117613087
Result.order = 133997293
Result.volume = 1.0
Result.price = 40.31
Result.bid = 40.28
Result.ask = 40.31
Result.comment = Request executed 345.781 + 26.356 ms
Result.request_id = 5712
Result.retcode_external = 0

OrderSend tarafından 345 ms yürütüldü ve karşılık gelen emir ve anlaşmanın geçmişte kullanılabilir olması için 26 ms gerekliydi. Onlar. çok yavaş senkronizasyon - Bunu daha önce görmemiştim.

Standart günlük

2017.02 . 14 22 : 26 : 46.767 Trades   '5122740' : prices for #KO 1.00
2017.02 . 14 22 : 26 : 46.852 Trades   '5122740' : accepted prices for #KO 1.00
2017.02 . 14 22 : 26 : 46.852 Trades   '5122740' : answer prices for #KO 1.00 40.28 / 40.31 in 86.046 ms ( 0.190 ms on server)
2017.02 . 14 22 : 26 : 46.852 Trades   '5122740' : request buy 1.00 #KO at 40.31
2017.02 . 14 22 : 26 : 47.107 Trades   '5122740' : accepted request buy 1.00 #KO at 40.31
2017.02 . 14 22 : 26 : 47.107 Trades   '5122740' : deal # 117613087 buy 1.00 #KO at 40.31 done (based on order # 133997293 )
2017.02 . 14 22 : 26 : 47.107 Trades   '5122740' : order # 133997293 buy 1.00 / 1.00 #KO at 40.31 done in 345.709 ms ( 3.022 ms on server)

Yeni kayıt şimdi 1531'de! Lütfen bu durumda neyin ne olduğunu açıklayın.

ZY Log frenden hemen sonra

2017.02 . 14 22 : 26 : 47.433 Trades   '5122740' : prices for #KFT 1.00
2017.02 . 14 22 : 26 : 47.503 Trades   '5122740' : accepted prices for #KFT 1.00
2017.02 . 14 22 : 26 : 47.506 Trades   '5122740' : answer prices for #KFT 1.00 49.17 / 49.20 in 70.980 ms ( 4.166 ms on server)
2017.02 . 14 22 : 26 : 47.506 Trades   '5122740' : request buy 1.00 #KFT at 49.20
2017.02 . 14 22 : 26 : 47.583 Trades   '5122740' : accepted request buy 1.00 #KFT at 49.20
2017.02 . 14 22 : 26 : 47.583 Trades   '5122740' : deal # 117613092 buy 1.00 #KFT at 49.20 done (based on order # 133997299 )
2017.02 . 14 22 : 26 : 47.583 Trades   '5122740' : order # 133997299 buy 1.00 / 1.00 #KFT at 49.20 done in 149.304 ms ( 3.015 ms on server)

Bunlar Talep edilen sembollerdir, bu nedenle piyasa emirlerinde diğerlerinden daha yavaştır.

 

TRADE_ACTION_REMOVE üzerinde frenler.

Request.action = TRADE_ACTION_REMOVE ( 8 )
Request.magic = 0
Request.order = 134003202
Request.symbol =
Request.volume = 0.0
Request.price = 0.0
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 0
Request.type = ORDER_TYPE_BUY ( 0 )
Request.type_filling = ORDER_FILLING_FOK ( 0 )
Request.type_time = ORDER_TIME_GTC ( 0 )
Request.expiration = 1970.01 . 01 00 : 00 : 00
Request.comment =
Request.position = 0
Request.position_by = 0
Result.retcode = 10009
Result.deal = 0
Result.order = 134003202
Result.volume = 0.0
Result.price = 0.0
Result.bid = 0.0
Result.ask = 0.0
Result.comment = Request executed 290.089 + 0.005 ms
Result.request_id = 10078
Result.retcode_external = 0
FL      0       23:02:46.797    Trades  '5122740': buy limit 1.00 Si-3.17 at 56288
GG      0       23:02:46.849    Trades  '5122740': accepted buy limit 1.00 Si-3.17 at 56288
PR      0       23:02:46.852    Trades  '5122740': order #134003202 buy limit 1.00 / 1.00 Si-3.17 at market done in 54.423 ms (0.342 ms on server)
PR      0       23:02:46.854    Trades  '5122740': cancel order #134003202 buy limit 1.00 Si-3.17 at 56288
LL      0       23:02:47.142    Trades  '5122740': accepted cancel order #134003202 buy limit 1.00 Si-3.17 at 56288
CE      0       23:02:47.144    Trades  '5122740': cancel #134003202 buy limit 1.00 Si-3.17 at market done in 290.050 ms (1.400 ms on server)
ZY Terminalden gelen günlüğün gözden geçirilmesi bu satırları hiçbir şekilde yayınlamadı. Onları doğrudan dosyadan almam gerekiyordu.
 
[Fiyat yok] birdenbire hata
2017.02.14 23:18:41.442 '5122740': failed instant buy 1.00 EURPLN at 4.30632 (deviation: 100) [No prices]

Nasıl oluyor da fiyat yok, kütükte bile belirtilmiş mi?!

Rica etmek

2017.02 . 14 23 : 18 : 41.442 Request.action = TRADE_ACTION_DEAL ( 1 )
2017.02 . 14 23 : 18 : 41.442 Request.magic = 0
2017.02 . 14 23 : 18 : 41.442 Request.order = 0
2017.02 . 14 23 : 18 : 41.442 Request.symbol = EURPLN
2017.02 . 14 23 : 18 : 41.442 Request.volume = 1.0
2017.02 . 14 23 : 18 : 41.442 Request.price = 4.30632
2017.02 . 14 23 : 18 : 41.442 Request.stoplimit = 0.0
2017.02 . 14 23 : 18 : 41.442 Request.sl = 0.0
2017.02 . 14 23 : 18 : 41.442 Request.tp = 0.0
2017.02 . 14 23 : 18 : 41.442 Request.deviation = 100
2017.02 . 14 23 : 18 : 41.442 Request.type = ORDER_TYPE_BUY ( 0 )
2017.02 . 14 23 : 18 : 41.442 Request.type_filling = ORDER_FILLING_RETURN ( 2 )
2017.02 . 14 23 : 18 : 41.442 Request.type_time = ORDER_TIME_GTC ( 0 )
2017.02 . 14 23 : 18 : 41.442 Request.expiration = 1970.01 . 01 00 : 00 : 00
2017.02 . 14 23 : 18 : 41.442 Request.comment = My Position
2017.02 . 14 23 : 18 : 41.442 Request.position = 0
2017.02 . 14 23 : 18 : 41.442 Request.position_by = 0
2017.02 . 14 23 : 18 : 41.442 Result.retcode = 10021
2017.02 . 14 23 : 18 : 41.442 Result.deal = 0
2017.02 . 14 23 : 18 : 41.442 Result.order = 0
2017.02 . 14 23 : 18 : 41.442 Result.volume = 0.0
2017.02 . 14 23 : 18 : 41.442 Result.price = 0.0
2017.02 . 14 23 : 18 : 41.442 Result.bid = 0.0
2017.02 . 14 23 : 18 : 41.442 Result.ask = 0.0
2017.02 . 14 23 : 18 : 41.442 Result.comment = No prices 0.028 + 0.000 ms
2017.02 . 14 23 : 18 : 41.442 Result.request_id = 0
2017.02 . 14 23 : 18 : 41.442 Result.retcode_external = 0
2017.02 . 14 23 : 18 : 41.442
2017.02 . 14 23 : 18 : 41.442 SymbolInfoDouble (Symb,:: SYMBOL_BID ) = 4.30151
2017.02 . 14 23 : 18 : 41.442 SymbolInfoDouble (Symb,:: SYMBOL_ASK ) = 4.30632
 
fxsaber :
[Fiyat yok] birdenbire hata
2017.02.14 23:18:41.442 '5122740': failed instant buy 1.00 EURPLN at 4.30632 (deviation: 100) [No prices]

Nasıl oluyor da fiyat yok, kütükte bile belirtilmiş mi?!

Geçenlerde aynısını gerçek bir hesaptan aldım. Fiyat alınır, ancak piyasa emri sunucu tarafından yürütülmez.

not. Şu anda L'de çok tanınmış bir şirketin teknik desteğiyle konuşuyorum... (gizli bir yazışma var, bu yüzden adını vermeyeceğim), ticaret sunucularındaki yürütme süresinin FIX'e göre gönderilen ve yaklaşık 1-6ms olan MT4 kaynaklı (MT4'lü) siparişler için aynıdır. Daha sonra onlara MT4'ten işlem yaparken 40-50 ms'de harcanan sürenin ne olduğunu soruyorum yani emrin gönderildiği ve yanıtın alındığı andan itibaren yaklaşık 40-60 ms sürüyor. Ağ gecikmelerinize bakın gibi hoşgörülü bir şekilde omuz silkiyorlar, 1-2ms ping atmalarını söylüyorum ve tekrar omuz silkiyorlar. Sonuç - MT4/5'in sunucu kısmı yavaşlıyor. Şimdi yeni günlükler bunu gösteriyor. FIX'e göre zamanların "saf" olamayacağını anlıyorum, ancak en azından aynı sırada olmaları gerekiyor.
 
Andrey Dik :
not. Şu anda L'de çok tanınmış bir şirketin teknik desteğiyle konuşuyorum... (gizli bir yazışma var, bu yüzden adını vermeyeceğim), ticaret sunucularındaki yürütme süresinin FIX'e göre gönderilen ve yaklaşık 1-6ms olan MT4 kaynaklı (MT4'lü) siparişler için aynıdır. Daha sonra onlara MT4'ten işlem yaparken 40-50 ms'de harcanan sürenin ne olduğunu soruyorum yani emrin gönderildiği ve yanıtın alındığı andan itibaren yaklaşık 40-60 ms sürüyor. Ağ gecikmelerinize bakın gibi hoşgörülü bir şekilde omuz silkiyorlar, 1-2ms ping atmalarını söylüyorum ve tekrar omuz silkiyorlar. Sonuç - MT4/5'in sunucu kısmı yavaşlıyor. Şimdi yeni günlükler bunu gösteriyor. FIX'e göre zamanların "saf" olamayacağını anlıyorum, ancak en azından aynı sırada olmaları gerekiyor.

L...'de, sistemlerine bir sipariş aldıklarında, sistemin kendisinde yürütme ve geri gönderme süresinin yetersiz olduğu anlamına geliyordu. Bir MT4 sunucusundan veya FIX ve diğer API'leri aracılığıyla sipariş alabilirler. MT4 sunucusunun kendisi, yürütmeyle hiçbir ilgisi olmayan dahili işleme için onlarca milisaniye harcar.

Bir zamanlar MT4'te minimum süre 150ms idi. 40-60 olduğundan beri bir şeyler ciddi şekilde ayarlanmış gibi görünüyor. Ancak MT5 gözle görülür şekilde daha hızlıdır. Günlükler artık sunucunun kendisinin ne kadar çalıştığını gösteriyor. Zamanın çoğunun neye harcandığını anlamak için kalır.

 
Bu konu ile ilgili olmayan yorumlar " CopyClose neden hata? " bölümüne taşınmıştır.
 

Derleyici hatası: f() ///2'ye erişilemiyor

typedef void (*fn)();
#import "Test.ex5"
         void f(); //1
#import
void f() {} //2
void OnStart ()
{
        fn g1 = Test::f; //нормально
        fn g2 =       f; //Error: 'f' - cannot resolve function address
}
 
@Slawa , lütfen OnCalculate() işlevinin dışında gösterge arabellekleri yazma konusunda herhangi bir kısıtlama olup olmadığını belirtin? OnTimer(), OnBookEvent(), OnChartEvent() fonksiyonlarında arabellekler yazılırsa, her şey her zaman doğru şekilde kaydedilecek mi?