Hatalar, hatalar, sorular - sayfa 1806

 

Bir MQL programını bir çizelgeye yüklerken böyle bir hata oluşursa ne yapmalıyım?

2017.02.15 15:13:28.351 MQL5    'TestLibrary.ex5' has newer unsupported version, please update your client terminal

Servis Masası: #1673705

 
Slawa :
Bir sembolün tüm göstergelerinin bir akışta birbiri ardına sırayla sayıldığını unutmayın. Bazı göstergeler yavaşlarsa, tüm sembol işleme akışı yavaşlar.
Slava, bir sembol mü yoksa bir tablo mu? Aynı sembolün birden fazla grafiği açılır ve üzerlerine farklı göstergeler atılırsa, hepsi tek bir iş parçacığında mı hesaplanıyor? Yoksa her grafik kendi akışında mı?
 

Metaquotes-Demo'da limit emirlerinde negatif kayma olabilir - doğru değil.

BuyLimit'i Sor'un üzerinde manuel olarak ayarlayın...

 
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?!

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
Metaquots sunucusunda da aynı hatayla karşılaştım. ve 5 denemeden sonra sipariş hala verildi
 
Vladislav Andruschenko :
Metaquots sunucusunda da aynı hatayla karşılaştım. ve 5 denemeden sonra sipariş hala verildi
Günlükleri yayınlayın. SD uygulamasına kopyalayacağım.
 
fxsaber :

Metaquotes-Demo'da limit emirlerinde negatif kayma olabilir - doğru değil.

BuyLimit'i Sor'un üzerinde manuel olarak ayarlayın...

#define TOSTRING(A)   #A + " = " + ( string )(A) + "\n"
#define TOSTRING2(A) #A + " = " + EnumToString (A) + " (" + ( string )(A) + ")\n"

string ToString( const MqlTradeRequest &Request )
{
   return (TOSTRING2(Request.action) + TOSTRING(Request.magic) + TOSTRING(Request.order) +
         TOSTRING(Request.symbol) + TOSTRING(Request.volume) + TOSTRING(Request.price) +
         TOSTRING(Request.stoplimit) + TOSTRING(Request.sl) +  TOSTRING(Request.tp) +
         TOSTRING(Request.deviation) + TOSTRING2(Request.type) + TOSTRING2(Request.type_filling) +
         TOSTRING2(Request.type_time) + TOSTRING(Request.expiration) + TOSTRING(Request.comment) +
         TOSTRING(Request.position) + TOSTRING(Request.position_by));
}

string ToString( const MqlTradeResult &Result )
{
   return (TOSTRING(Result.retcode) + TOSTRING(Result.deal) + TOSTRING(Result.order) +
         TOSTRING(Result.volume) + TOSTRING(Result.price) + TOSTRING(Result.bid) +
         TOSTRING(Result.ask) + TOSTRING(Result.comment) + TOSTRING(Result.request_id) +
         TOSTRING(Result.retcode_external));
}

#define Bid (:: SymbolInfoDouble (Symb, :: SYMBOL_BID ))
#define Ask (:: SymbolInfoDouble (Symb, :: SYMBOL_ASK ))

#include <MT4Orders.mqh>

#define PRINT(A) A;                                                                                \
   Print ( #A + "\n" + ToString(MT4ORDERS::LastTradeRequest) + ToString(MT4ORDERS::LastTradeResult)); \
   Print (TOSTRING( Bid ));                                           \
   Print (TOSTRING( Ask ));                                           \
   Print (TOSTRING( SymbolInfoDouble (Symb, SYMBOL_SESSION_PRICE_LIMIT_MIN )));

void OpenBuyLimits( const string Symb )
{
  PRINT( OrderSend (Symb, OP_BUYLIMIT , 1 , SymbolInfoDouble (Symb, SYMBOL_SESSION_PRICE_LIMIT_MIN ), 100 , 0 , 0 ) )
  PRINT( OrderSend (Symb, OP_BUYLIMIT , 1 , Ask , 100 , 0 , 0 ) )
}

void OnStart ()
{
  OpenBuyLimits( "DIG-20170330" );
}

Alınan /verilen bu tür verileri sipariş gönder

2017.02 . 15 14 : 47 : 19.295 OrderSend (Symb, OP_BUYLIMIT , 1 , SymbolInfoDouble (Symb, SYMBOL_SESSION_PRICE_LIMIT_MIN ), 100 , 0 , 0 )
2017.02 . 15 14 : 47 : 19.295 Request.action = TRADE_ACTION_PENDING ( 5 )
2017.02 . 15 14 : 47 : 19.295 Request.magic = 0
2017.02 . 15 14 : 47 : 19.295 Request.order = 0
2017.02 . 15 14 : 47 : 19.295 Request.symbol = DIG- 20170330
2017.02 . 15 14 : 47 : 19.295 Request.volume = 1.0
2017.02 . 15 14 : 47 : 19.295 Request.price = 29528.0
2017.02 . 15 14 : 47 : 19.295 Request.stoplimit = 0.0
2017.02 . 15 14 : 47 : 19.295 Request.sl = 0.0
2017.02 . 15 14 : 47 : 19.295 Request.tp = 0.0
2017.02 . 15 14 : 47 : 19.295 Request.deviation = 100
2017.02 . 15 14 : 47 : 19.295 Request.type = ORDER_TYPE_BUY_LIMIT ( 2 )
2017.02 . 15 14 : 47 : 19.295 Request.type_filling = ORDER_FILLING_RETURN ( 2 )
2017.02 . 15 14 : 47 : 19.295 Request.type_time = ORDER_TIME_GTC ( 0 )
2017.02 . 15 14 : 47 : 19.295 Request.expiration = 1970.01 . 01 00 : 00 : 00
2017.02 . 15 14 : 47 : 19.295 Request.comment =
2017.02 . 15 14 : 47 : 19.295 Request.position = 0
2017.02 . 15 14 : 47 : 19.295 Request.position_by = 0
2017.02 . 15 14 : 47 : 19.295 Result.retcode = 10009
2017.02 . 15 14 : 47 : 19.295 Result.deal = 0
2017.02 . 15 14 : 47 : 19.295 Result.order = 134117077
2017.02 . 15 14 : 47 : 19.295 Result.volume = 1.0
2017.02 . 15 14 : 47 : 19.295 Result.price = 0.0
2017.02 . 15 14 : 47 : 19.295 Result.bid = 0.0
2017.02 . 15 14 : 47 : 19.295 Result.ask = 0.0
2017.02 . 15 14 : 47 : 19.295 Result.comment = Request executed 61.066 + 0.004 ms
2017.02 . 15 14 : 47 : 19.295 Result.request_id = 9
2017.02 . 15 14 : 47 : 19.295 Result.retcode_external = 0
2017.02 . 15 14 : 47 : 19.295
2017.02 . 15 14 : 47 : 19.295 Bid = 29031.0
2017.02 . 15 14 : 47 : 19.295
2017.02 . 15 14 : 47 : 19.295 Ask = 29038.0
2017.02 . 15 14 : 47 : 19.295
2017.02 . 15 14 : 47 : 19.295 SymbolInfoDouble (Symb, SYMBOL_SESSION_PRICE_LIMIT_MIN ) = 29528.0
2017.02 . 15 14 : 47 : 19.295
2017.02 . 15 14 : 47 : 19.295 OrderSend (Symb, OP_BUYLIMIT , 1 , Ask , 100 , 0 , 0 )
2017.02 . 15 14 : 47 : 19.295 Request.action = TRADE_ACTION_PENDING ( 5 )
2017.02 . 15 14 : 47 : 19.295 Request.magic = 0
2017.02 . 15 14 : 47 : 19.295 Request.order = 0
2017.02 . 15 14 : 47 : 19.295 Request.symbol = DIG- 20170330
2017.02 . 15 14 : 47 : 19.295 Request.volume = 1.0
2017.02 . 15 14 : 47 : 19.295 Request.price = 29038.0
2017.02 . 15 14 : 47 : 19.295 Request.stoplimit = 0.0
2017.02 . 15 14 : 47 : 19.295 Request.sl = 0.0
2017.02 . 15 14 : 47 : 19.295 Request.tp = 0.0
2017.02 . 15 14 : 47 : 19.295 Request.deviation = 100
2017.02 . 15 14 : 47 : 19.295 Request.type = ORDER_TYPE_BUY_LIMIT ( 2 )
2017.02 . 15 14 : 47 : 19.295 Request.type_filling = ORDER_FILLING_RETURN ( 2 )
2017.02 . 15 14 : 47 : 19.295 Request.type_time = ORDER_TIME_GTC ( 0 )
2017.02 . 15 14 : 47 : 19.295 Request.expiration = 1970.01 . 01 00 : 00 : 00
2017.02 . 15 14 : 47 : 19.295 Request.comment =
2017.02 . 15 14 : 47 : 19.295 Request.position = 0
2017.02 . 15 14 : 47 : 19.295 Request.position_by = 0
2017.02 . 15 14 : 47 : 19.297 Result.retcode = 10015
2017.02 . 15 14 : 47 : 19.297 Result.deal = 0
2017.02 . 15 14 : 47 : 19.297 Result.order = 0
2017.02 . 15 14 : 47 : 19.297 Result.volume = 0.0
2017.02 . 15 14 : 47 : 19.297 Result.price = 0.0
2017.02 . 15 14 : 47 : 19.297 Result.bid = 0.0
2017.02 . 15 14 : 47 : 19.297 Result.ask = 0.0
2017.02 . 15 14 : 47 : 19.297 Result.comment = Invalid price 0.015 + 0.000 ms
2017.02 . 15 14 : 47 : 19.297 Result.request_id = 0
2017.02 . 15 14 : 47 : 19.297 Result.retcode_external = 0
2017.02 . 15 14 : 47 : 19.297
2017.02 . 15 14 : 47 : 19.297 Bid = 29031.0
2017.02 . 15 14 : 47 : 19.297
2017.02 . 15 14 : 47 : 19.297 Ask = 29038.0
2017.02 . 15 14 : 47 : 19.297
2017.02 . 15 14 : 47 : 19.297 SymbolInfoDouble (Symb, SYMBOL_SESSION_PRICE_LIMIT_MIN ) = 29528.0

Kayıt

2017.02.15 14:47:19.185 script Test2 (AUDUSD,H1) loaded successfully
2017.02.15 14:47:19.235 '5122740': buy limit 1.00 DIG-20170330 at 29528
2017.02.15 14:47:19.295 '5122740': accepted buy limit 1.00 DIG-20170330 at 29528
2017.02.15 14:47:19.295 '5122740': order #134117077 buy limit 1.00 / 1.00 DIG-20170330 at market done in 60.996 ms (0.341 ms on server)
2017.02.15 14:47:19.295 '5122740': failed buy limit 1.00 DIG-20170330 at 29038 [Invalid price]
2017.02.15 14:47:19.297 script Test2 (AUDUSD,H1) removed
2017.02.15 14:47:46.586 '5122740': deal #117726626 buy 1.00 DIG-20170330 at 29528 done (based on order #134117077)

Açıklama

İlk olarak, mümkün olan en düşük fiyat olan 29528'de bir BuyLimit belirlemeye çalıştılar. Bu fiyat, Alış fiyatından (29038) çok daha yüksek. Vakaların %99,99'unda BuyLimit, Sor'dan daha yükseğe ayarlanmaz. Ancak, bu yasak değildir, bu nedenle sipariş verildi. Ve sonra (mor) BuyLimit bir pozisyon haline gelene kadar neredeyse yarım dakika geçti. Gerçi anında olması gerekiyordu . Ancak daha da kötüsü BuyLimit'in Ask'ta değil, fiyatından doldurulması . Onlar. limit emri, uygulamada negatif kaymaya neden oldu, bu sadece bir hata!


İkinci OrderSend, BuyLimit'i Sor'dan daha yüksek olmayan normal bir şekilde ayarlama girişimiydi. Ve tabii ki başarısız olduk (kırmızı). Çünkü SYMBOL_SESSION_PRICE_LIMIT_MIN, Ask değerinden büyük olmamalıdır .

 
fxsaber :
Günlükleri yayınlayın. SD uygulamasına kopyalayacağım.

2017.02 . 15 15 : 12 : 09.979 Exp - v7  (EURCHF,M1)   OPEN DEAL sy=EURUSD op= 0 ll= 1.0 sl= 0 tp= 0 coomment= 134120593 mn= 9998745 SYMBOL_FILLING_MODE = 1 SYMBOL_TRADE_EXEMODE = 1 SYMBOL_EXPIRATION_MODE = 15 SYMBOL_TRADE_MODE = 4 SYMBOL_TRADE_STOPS_LEVEL = 0 SYMBOL_TRADE_FREEZE_LEVEL = 0 SYMBOL_ORDER_MODE = 63 SYMBOL_START_TIME = 0 SYMBOL_EXPIRATION_TIME = 0 SYMBOL_SPREAD = 8 SYMBOL_SESSION_DEALS = 0
2017.02 . 15 15 : 12 : 09.979 Exp -  v7  (EURCHF,M1)  Result ERROR= 10021 symbol EURUSD volume 1.0 action 1 tp 0.0 sl 0.0 type 0 price 1.05523    There are no quotes to process the request


2017.02 . 15 15 : 12 : 10.980 Exp - v7  (EURCHF,M1)   OPEN DEAL sy=EURUSD op= 0 ll= 1.0 sl= 0 tp= 0 coomment= 134120593 mn= 9998745 SYMBOL_FILLING_MODE = 1 SYMBOL_TRADE_EXEMODE = 1 SYMBOL_EXPIRATION_MODE = 15 SYMBOL_TRADE_MODE = 4 SYMBOL_TRADE_STOPS_LEVEL = 0 SYMBOL_TRADE_FREEZE_LEVEL = 0 SYMBOL_ORDER_MODE = 63 SYMBOL_START_TIME = 0 SYMBOL_EXPIRATION_TIME = 0 SYMBOL_SPREAD = 10 SYMBOL_SESSION_DEALS = 0
2017.02 . 15 15 : 12 : 11.102 Exp - v7  (EURCHF,M1)   Result = 10009 symbol EURUSD volume 1.0 action 1 tp 0.0 sl 0.0 type 0 price 1.05526    Request completed


Sadece şimdi benimle olan şeyde, işlem açma kodu değişmedi.

 

havalı şey

piyasa genel görünümünde - tüm sembolleri göster'e tıklayın. dergiye dökülen

2017.02 . 15 15 : 13 : 32.414 Symbols no more than 1000 symbols can be selected


Meta Alıntılar Demosu

 
Vladislav Andruschenko :

Sadece şimdi benimle olan şeyde, işlem açma kodu değişmedi.

"Uzman" değil, "Günlük" sekmesinin günlüğüne ihtiyacınız var.
 
fxsaber :
"Uzman" değil, "Günlük" sekmesinin günlüğüne ihtiyacınız var.

bekle, orada bir mesajım vardı 2017.02.15 15:13:32.414 semboller 1000'den fazla sembol seçilebilir

arayan

2017.02.15 15:15:25.517 Trades  '5246495': instant buy 1.00 EURUSD at 1.05575
2017.02.15 15:15:25.610 Trades  '5246495': accepted instant buy 1.00 EURUSD at 1.05575
2017.02.15 15:15:25.610 Trades  '5246495': deal #117730392 buy 1.00 EURUSD at 1.05575 done (based on order #134121023)
2017.02.15 15:15:25.611 Trades  '5246495': order #134121023 buy 1.00 / 1.00 EURUSD at 1.05575 done in 94.543 ms
2017.02.15 15:15:25.674 Trades  '5246495': failed instant buy 1.00 EURUSD at 1.05574 (deviation: 14) [No prices]
2017.02.15 15:15:26.687 Trades  '5246495': failed instant buy 1.00 EURUSD at 1.05574 (deviation: 14) [No prices]
2017.02.15 15:15:27.701 Trades  '5246495': failed instant buy 1.00 EURUSD at 1.05574 (deviation: 14) [No prices]
2017.02.15 15:15:28.713 Trades  '5246495': failed instant buy 1.00 EURUSD at 1.05578 (deviation: 16) [No prices]
2017.02.15 15:15:29.728 Trades  '5246495': instant buy 1.00 EURUSD at 1.05577 (deviation: 16)
2017.02.15 15:15:29.808 Trades  '5246495': accepted instant buy 1.00 EURUSD at 1.05577 (deviation: 16)
2017.02.15 15:15:29.808 Trades  '5246495': deal #117730398 buy 1.00 EURUSD at 1.05577 done (based on order #134121030)
2017.02.15 15:15:29.808 Trades  '5246495': order #134121030 buy 1.00 / 1.00 EURUSD at 1.05577 done in 80.447 ms