FORTS. Yürütme soruları - sayfa 9

 
Renat :
Bu terminal 1060 ve sunucu hala 1035.
Anladım))
 

İyi günler Renat!

"Acil" sipariş takip modunun tasarlanması (OnTradeTransaction olayının gelmemesi durumunda),

3 SANİYEDEN DAHA FAZLA bir sürede bir PİYASA emrinin tarihte göründüğünü buldum:

CN       0        07 : 10 : 26.424     History_bug (Eu- 3.15 ,H1)        Ордер отослан =   2015.02 . 10 07 : 10 : 26
CE       0        07 : 10 : 26.424     History_bug (Eu- 3.15 ,H1)        Уникальный номер ордера (mem_magic) = 1010000
CG       0        07 : 10 : 27.554     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 1138 мсек
NN       0        07 : 10 : 27.554     History_bug (Eu- 3.15 ,H1)        CheckOrders: Не получен билет ордера!
JD       0        07 : 10 : 29.328     History_bug (Eu- 3.15 ,H1)        Ордер отослан =   2015.02 . 10 07 : 10 : 29
DK       0        07 : 10 : 29.328     History_bug (Eu- 3.15 ,H1)        Уникальный номер ордера (mem_magic) = 1010001
EP       0        07 : 10 : 30.596     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 1279 мсек
RE       0        07 : 10 : 30.596     History_bug (Eu- 3.15 ,H1)        CheckOrders: Не получен билет ордера!
KJ       0        07 : 10 : 41.112     History_bug (Eu- 3.15 ,H1)        Ордер отослан =   2015.02 . 10 07 : 10 : 41
LQ       0        07 : 10 : 41.112     History_bug (Eu- 3.15 ,H1)        Уникальный номер ордера (mem_magic) = 1010000
GJ       0        07 : 10 : 43.123     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 2012 мсек
HK       0        07 : 10 : 43.123     History_bug (Eu- 3.15 ,H1)        CheckOrders: Не получен билет ордера!
IQ       0        07 : 10 : 46.176     History_bug (Eu- 3.15 ,H1)        Ордер отослан =   2015.02 . 10 07 : 10 : 46
LG       0        07 : 10 : 46.176     History_bug (Eu- 3.15 ,H1)        Уникальный номер ордера (mem_magic) = 1010001
DD       0        07 : 10 : 48.193     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 2028 мсек
LQ       0        07 : 10 : 48.193     History_bug (Eu- 3.15 ,H1)        CheckOrders: Не получен билет ордера!
EG       0        07 : 10 : 58.440     History_bug (Eu- 3.15 ,H1)        Ордер отослан =   2015.02 . 10 07 : 10 : 58
NL       0        07 : 10 : 58.440     History_bug (Eu- 3.15 ,H1)        Уникальный номер ордера (mem_magic) = 1010000
NN       0        07 : 11 : 01.531     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 3104 мсек
PG       0        07 : 11 : 01.531     History_bug (Eu- 3.15 ,H1)        CheckOrders: Не получен билет ордера!
DM       0        07 : 11 : 06.359     History_bug (Eu- 3.15 ,H1)        Ордер отослан =   2015.02 . 10 07 : 11 : 06
NR       0        07 : 11 : 06.359     History_bug (Eu- 3.15 ,H1)        Уникальный номер ордера (mem_magic) = 1010001
RG       0        07 : 11 : 09.649     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 3292 мсек
HN       0        07 : 11 : 09.649     History_bug (Eu- 3.15 ,H1)        CheckOrders: Не получен билет ордера!
LS       0        07 : 11 : 19.636     History_bug (Eu- 3.15 ,H1)        Ордер отослан =   2015.02 . 10 07 : 11 : 19
GH       0        07 : 11 : 19.636     History_bug (Eu- 3.15 ,H1)        Уникальный номер ордера (mem_magic) = 1010000
RQ       0        07 : 11 : 23.808     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 4180 мсек
PF       0        07 : 11 : 23.808     History_bug (Eu- 3.15 ,H1)        CheckOrders: Билет получен = 9833674
QE       0        07 : 11 : 27.865     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 4056 мсек
HN       0        07 : 11 : 27.865     History_bug (Eu- 3.15 ,H1)        CheckOrders: Сделка совершена, билет = 9833674
HD       0        07 : 11 : 30.832     History_bug (Eu- 3.15 ,H1)        Ордер отослан =   2015.02 . 10 07 : 11 : 30
IK       0        07 : 11 : 30.832     History_bug (Eu- 3.15 ,H1)        Уникальный номер ордера (mem_magic) = 1010001
LP       0        07 : 11 : 34.962     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 4134 мсек
DG       0        07 : 11 : 34.962     History_bug (Eu- 3.15 ,H1)        CheckOrders: Билет получен = 9833675
CD       0        07 : 11 : 39.018     History_bug (Eu- 3.15 ,H1)        Время ожидания составило = 4057 мсек
JN       0        07 : 11 : 39.018     History_bug (Eu- 3.15 ,H1)        CheckOrders: Сделка совершена, билет = 9833675

Bu günlüğü yayınlayan EA kodu ektedir.

Önce bekleme süresi 1000ms, ardından 2000, 3000 ve son olarak 4000ms idi.

Her periyot için 2 komut gönderildi ( pozisyon açma - kapama )

MARKET siparişi için çok uzun değil mi?

P/S Demo Açılışı (terminal yapısı 1060)

Dosyalar:
History_bug.mq5  10 kb
 

Kod henüz çalışmadı, ancak kaynak, HistorySelect'te klasik yanlış bitiş tarihi hatasını gösteriyor.

Her ilk programcı bu işlevi yanlış tarihle çağırır, sürekli olarak tarihin sonunda atıştırır ve "tarihte çok uzun bir başarı" keşfeder.

 

Muhtemelen, "her biri" "klasik bir hata" yaptığı için işlev budur.

Bu dosyada, bir tarihten şimdiki ana kadar olan geçmişi okuma girişimi var. "Hikayenin sonunu yememek" için bana nasıl doğru yapılacağını söyleme?

 

Buradaki hata, insanların şu anın ne olduğunu düşünmemeleri ve yanlış kaynaktan alınan yanlış tarihi orada yerine koymalarıdır.

Bitiş tarihi olarak eski serverTime'ı değil, bilinen uzak bir tarihi belirtmek yeterlidir.

 
Renat :

Buradaki hata, insanların şu anın ne olduğunu düşünmemeleri ve yanlış kaynaktan alınan yanlış tarihi orada yerine koymalarıdır.

Bitiş tarihi olarak eski serverTime'ı değil, bilinen uzak bir tarihi belirtmek yeterlidir.

Belki o zaman referansı, içinde bir örnekle düzeltmek mümkündür?

https://www.mql5.com/ru/docs/trading/historyselect

Документация по MQL5: Торговые функции / HistorySelect
Документация по MQL5: Торговые функции / HistorySelect
  • www.mql5.com
Торговые функции / HistorySelect - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
papaklass :

Renat, henüz OnTradeTransaction() işleviyle çalıştın mı?

Hayır, ne yazık ki çok meşgul.

Lütfen MetaQuotes-Demo demo sunucumuzda kendiniz deneyin.

 

Renata ifadesinden

Bitiş tarihi olarak eski serverTime'ı değil, bilinen uzak bir tarihi belirtmek yeterlidir.

Son tarih olarak yarının (hatta daha uzak) gösterilmesi gerektiğini ve mutluluk olacağını anladım.

 
Renat :

Buradaki hata, insanların şu anın ne olduğunu düşünmemeleri ve yanlış kaynaktan alınan yanlış tarihi orada yerine koymalarıdır.

Bitiş tarihi olarak eski serverTime'ı değil, bilinen uzak bir tarihi belirtmek yeterlidir.

Ve başlangıç tarihine gelince, "modası geçmiş" TimeTradeServer() size uygun mu?
 
Mikalas :
Ve başlangıç tarihine gelince, "modası geçmiş" TimeTradeServer() size uygun mu?

Hem başlangıç hem de bitiş tarihi, hataların farkında olarak ve zorunlu bir marjla ayarlanmalıdır. Bu, en azından eksi N saniye ve artı N saniyedir.

TimeTradeServer() gerçek zamanlı kesin bir zaman değildir, ancak yalnızca piyasaya genel bakışa gelen fiyat kenelerine göre güncellenir.


Geçmiş seçiminde aniden hiçbir veriniz yoksa, %99 hatanın istek sınırları içinde olduğu anlamına gelir.

Neden: