Tüm işlemlerin tablosu. MQL5 üzerinden erişim - sayfa 3

 
prostotrader :

Belki birisi neyin yanlış olduğunu biliyordur?

Gösterge düzgün çalışıyor, ancak daha fazla çubuk görüntüleniyor,

kurulumda yapıldığından daha fazla.

Kod bakmadı, ancak her yeni çubuğun ortaya çıkmasından sonra , gösterge çizgilerinin de otomatik olarak sola kaymasının (grafiğe bakarsanız) dikkate alınmadığını varsayacağım. Başka bir deyişle, yeni bir çubuğun ortaya çıkmasından sonra gösterge çizgilerini sağa kaydırmanız gerekir (grafiğe bakarsanız).
 
Karputov Vladimir :
Kod bakmadı, ancak her yeni çubuğun ortaya çıkmasından sonra , gösterge çizgilerinin de otomatik olarak sola kaymasının (grafiğe bakarsanız) dikkate alınmadığını varsayacağım. Başka bir deyişle, yeni bir çubuğun ortaya çıkmasından sonra gösterge çizgilerini sağa kaydırmanız gerekir (grafiğe bakarsanız).
Teşekkürler, bir hata buldum.
Dosyalar:
DealsLent.mq5  10 kb
 
prostotrader :
Bitirici dokunuş..

son değil miydi...

Bir optimizasyona daha ihtiyaç var.

Bitirip test edeceğim...

 
Böyle bir içki gittiğinden, o zaman bir onay göstergesi tutun - açık ilgi göstergesi (borsaya bağlı gerçek bir hesapta çalıştırın).
Dosyalar:
 
Karputov Vladimir :
Böyle bir içki gittiğinden, o zaman bironay göstergesi tutun - açık ilgi göstergesi (borsaya bağlı gerçek bir hesapta çalıştırın).
Teşekkür ederim.
 

Ciddi bir sorun var:

Farklı başlangıç zamanlarına sahip kenelerin kopyalanması :(

 int copied= CopyTicks ( Symbol (),ticks, COPY_TICKS_ALL ,start_time, 0 );

start_time farklıdır ve aşağıdaki durumlarda keneler tekrar kopyalanır:

aynı zamana sahipler

Yarın detaylı olarak anlatırım.

En son yapı

Dosyalar:
DealsLent.mq5  12 kb
 

Bir şey uyuyamıyor, olanları yazmaya karar verdim.

( Yukarıdaki gönderide tam gösterge kodu .)

Borsadan gelen kenelerin kesinlikle zaman dilimlerine göre terminale gelmemesi,

ancak bloklarda (ekran görüntüsüne bakın) Blok 1, Blok 2, vb.

Terminal bunları "depolar" ve borsadan (blok blok) alırken bir tabloda görüntüler.

Her iki blokta da aynı anda işlem yapılabilir.

CopyTicks()'i gerçek zamanlı olarak DEĞİL çağırırsak (ertesi gün veya birkaç saniye sonra söyleyin),

daha sonra CopyTicks() işlevi tam verileri döndürür.

Gerçek zamanlı olarak ne olur:

 int copied= CopyTicks ( Symbol (),ticks, COPY_TICKS_ALL ,start_time, 0 );

start_time = (23:49:58.114) ise, Blok 1'in tamamını (kırmızı daire içine alınmış) alırız.

Ardından Blok 2'yi (yeşil daire içine alınmış) almak için zamanın değişmesini bekliyoruz.

Blok 1'in tekrarlanmasını önlemek için (OnBookEvent çok hızlı tetiklenebilir)

eklendi, zamanın değiştiğini kontrol edin

if (start_time== ulong (keneler[kopyalandı- 1 ].time_msc)) return ;

start_time = (23:49:58.596) olduğunda, Blok 2'yi almalıyız,

ancak CopyTicks() işlevi hem Blok 2'yi hem de zaman içindeki tüm onay işaretlerini döndürür (23:49:58.114),

Blok 2'de aynı zamana sahip en az bir onay işareti varsa (23:49:58.114).

Bu çok üzücü bir haber... :(

Geliştiriciler bunu düzeltmezse , işlemlerin Akışını gerçek zamanlı olarak almak imkansız olacaktır.


 
prostotrader :


Ve neden zaman tarafından istendiğinde kenelerin belirli bir zamandan ve DEEP'ten tarihe indirildiğini düşünüyorsunuz? Aslında, zamana göre keneler talep ederken, keneler belirtilen zamandan ve GELECEĞE indirilir. Örneğin:

Giriş verileri (istek 20000 onay), zaman 2016.08.25 20-00-00 :

20000 tik talep et, zaman 2016.08.25 20-00-00:


Alırız:

 2016.08 . 26 07 : 22 : 06.852 CopyTicks_1_02 (SBRF- 9.16 ,M1)   Получено тиков: 10823 код ошибки: 0
2016.08 . 26 07 : 22 : 06.852 CopyTicks_1_02 (SBRF- 9.16 ,M1)   Тик: 2016.08 . 25 20 : 00 : 00 bid: 14377.0 ask: 0.0 last: 0.0 [ 0 ]
2016.08 . 26 07 : 22 : 06.852 CopyTicks_1_02 (SBRF- 9.16 ,M1)   Тик: 2016.08 . 26 00 : 02 : 08 bid: 0.0 ask: 0.0 last: 0.0 [ 10822 ]
2016.08 . 26 07 : 22 : 06.852 CopyTicks_1_02 (SBRF- 9.16 ,M1)   Size 0 Mb

Yani, tikler 2016.08.25 20:00:00 tarihinden GELECEĞE doğru alınır (son tik, 2016.08.26 00:02:08 saatine sahiptir )

Dosyalar:
 
Karputov Vladimir :

Ve neden zaman tarafından istendiğinde kenelerin belirli bir zamandan ve DEEP'ten tarihe indirildiğini düşünüyorsunuz? Aslında, zamana göre keneler talep ederken, keneler belirtilen zamandan ve GELECEĞE indirilir. Örneğin:

Giriş verileri (istek 20000 onay), zaman 2016.08.25 20-00-00 :



Alırız:

Yani, tikler 2016.08.25 20:00:00 tarihinden GELECEĞE doğru alınır (son tik, 2016.08.26 00:02:08 saatine sahiptir )

Derin olduğunu düşünmüyorum ama derinlikten "tuttuklarını" görüyorum.

Neden düşünüyorum?

Göstergeyi çalıştırın ve kendiniz görün!

Ve yazılanları da okuyor musun?

Если мы вызываем CopyTicks () НЕ в реальном времени (скажкем, на следующий день),

то функция CopyTicks () будет возвращать точные данные.
 
Bunu tamamen tesadüfen fark ettim, akşamları daha az işlem vardı.