ORDER_POSITION_ID - sayfa 17

 

OrderGetInteger - yalnızca piyasada bekleyen emirlerle çalışır

HistoryOrderGetInteger - geçmişte doldurulmuş siparişlerle çalışır

 

Hala ilgilenenler için kod, çalıştırılabilir dosya ve uzman günlüğü ekte.

MT-5 KALELER

Bulgular:

1. Emir tamamen yerine getirilinceye veya geri çekilinceye kadar, üzerinde HİÇBİR geçmiş yoktur.

2. Kısmen yürütülen bir siparişin ORDER_POSITION_ID değeri yoktur .

Herkese teşekkürler, anladım.

Dosyalar:
Test_orders.zip  26 kb
 
йSerj_Che :
SELAM 0 10:29:25.468 ticaret : borsadan 2.00 SBRF-9.14 satın al
JE 0 10:29:25.531 ticaret : kabul edilen borsa piyasada 2.00 SBRF-9.14 satın al
deniz mili 0 10:29:25,562 ticaret : borsada 2.00 SBRF-9.14 satın al, 88 ms'de yürütme için yerleştirilmiş
MN 0 10:29:25,562 ticaret : 4522433 numaralı anlaşma, 6903'te 2.00 SBRF-9.14 satın alındı (sipariş #4988264'e göre)
IE 0 10:29:26.640 ticaret : borsada 2.00 SBPR-9.14 sat
DL 0 10:29:26.734 ticaret : piyasada kabul edilen döviz satışı 2.00 SBPR-9.14
MQ 0 10:29:26.734 ticaret : borsada satış 2.00 SBPR-9.14 92 ms'de yürütme için yerleştirilmiş
KF 0 10:29:26.734 ticaret : 4522434 numaralı anlaşma, 5255'te 1.00 SBPR-9.14 satıldı (sipariş #4988265'e göre)

tamam 0 10:29:26.734 ticaret : anlaşma #4522435 5255'te 1.00 SBPR-9.14 satıldı (sipariş #4988265'e göre)

şimdi kısmi bir infazdır.

Çocuklar, siz nesiniz? Bu liste, bir siparişin ( #4988265 ) iki işlemle ( #4522435 & #4522434 ) doldurulduğunu ve kısmi doldurma ile ilgili olmadığını gösterir.

İşte nasıl çalışıyor, diyelim ki piyasadan 50 VTBR-9.14 sözleşmesi almak istiyoruz. Sadece likidite sağlayıcılarından, satış için limit emri veren adamlardan satın alabiliriz. Seviyeleri ve hacimleri bardağın üst yarısında görülebilir. Hadi onu görelim:

Satın alma siparişi veriyoruz. Siparişimiz sadece 4 farklı satıcı tarafından doldurulabilir. Limitli satış emirleri verenler, çeşitli ticaret seviyelerinde. 1 kontrat 3874, 40 kontrat 3875, 1 kontrat 3876 ve 28 kontrat 3877 fiyattan alabileceğimiz görülmektedir. bir kez, dört işlemle:

anlaşma numarası
Fiyat

Ses/

kullanılabilir hacim

Toplam

Ses

Zaman
1
3874
1/1
1 12:21:341
2
3875
40/40
41 12:21:351
3
3876
1/1
42 12:21:363
4
3878
8/28
elli 12:21:365

Zamana dikkat edin. İşlemlerin sonuçlanma zamanı, sipariş verme zamanı ile mutlaka çakışmaz. Daha açık hale getirmek için size başka bir örnek vereyim:

Kısmi yürütme

3873'ten daha kötü olmayan bir fiyata 100 VTBR -9.14 sözleşmesi almak istediğimizi varsayalım. 100 sözleşme hacmine sahip bir BuyLimit'i 3873 seviyesine koyduk. Ancak, sipariş verildiğinde, sözleşmelerini emrimizde belirtilenden daha iyi bir fiyata satan birkaç satıcı zaten var:

Ses
Fiyat
1
3871
3
3872
1
3872
39
3872
26 3872

Bu limit emrini verdikten hemen sonra, 70 sözleşme (1+3+1+39+26) tutarında limit emrimizi kısmen dolduracak 5 işlem olacaktır .

Tamamlanan işlemler, işlem geçmişine dahil edilecek, limit emrinin kendisi hala aktif olacak ve "işlem" sekmesinde aşağıdaki biçimde gözlemlenecektir:

Emrimiz ters yönde limit emirleri kapattıktan sonra, kontratlarını satmak isteyenler için fiyatı en iyi teklif olacaktır:

Ses
Fiyat
30 (Bu bizim uygulamamız)
3873
2 (diğer katılımcıların teklifleri daha kötü)
3872
12
3871

Çünkü teklifimiz daha iyi ve piyasa likit, emrimiz karşı, piyasa veya bekleyen emirler kullanılarak diğer piyasa katılımcıları tarafından doldurulacak.

Bir süre sonra emir yerine getirilecek ve "Tarih" hazinesine aktarılacaktır.

Tüm süreci zaman içinde ele alırsak, aşağıdakileri elde ederiz:

1. Bir limit emri verin. Kurulum süresi ORDER_TIME_SETUP_MSC'ye karşılık gelir.

2. Bu emir ile başlatılan işlemler işlemeye başlar. Bu işlemler hemen tarihe geçer. Siparişin kendisi hala "Ticaret" sekmesindedir ve yukarıdaki resimde gösterildiği gibi görünmektedir.

3. Bir süre sonra tüm işlemler tetiklenir, emir gerekli hacmi kazanır ve emir geçmişine aktarılır. Onun ORDER_TIME_DONE yürütme süresi genellikle son tamamlanan işleme karşılık gelir.

Emir, herhangi bir nedenle (likidite eksikliği, emrin sona ermesi) gerekli hacmi kazanamayabilir. Bu durumda, "kısmen yürütüldü" durumunda tarihe aktarılacaktır. Onlar. içinde belirtilen hacmin tamamı işlemler tarafından yürütülmeyecektir.

Bu siparişin ekran görüntüsüne bir göz atın:

Emir, 25 saniye içinde (!) gerçekleştirildi ve tüm bu süre boyunca aktif emirler sekmesindeydi. Ve ancak son ticaretle tarihe geçti. ORDER_TIME_DONE buna göre son ticaretin zamanına eşit oldu.

 

P/S Söz verdiğim gibi ( hizmet masasının yayınlanması ile ilgili cevap ).

Başvurumu gereksiz yere geri çektiğim için hizmet masasından cevap gelmeyecektir.

İle bir test EA yazma önerisi için komposter'a teşekkürler

ayrıntılı günlükler.

 
papaklass :

İyi!? Ve bütün gece seninle uğraşan ve seni DÜŞÜNDÜren Integer, sana teşekkür etmek ister misin?

Öyleyse böyle bir tavırdan sonra yardım edin ...

Devam etmek istiyor musun?
 
papaklass :

İyi!? Ve bütün gece seninle uğraşan ve seni DÜŞÜNDÜren Integer, sana teşekkür etmek ister misin?

Öyleyse böyle bir tavırdan sonra yardım edin ...

Bu onun hatası, düşünmesine yardım etmek değil, onun için yapmak gerekiyordu.
 
sandex :
Bu onun hatası, düşünmesine yardım etmek değil, onun için yapmak gerekiyordu.

Sandex:

yanlış bölüme bakıyorsunuz, OrderGetInteger ( ORDER_POSITION_ID ) - pozisyon açma/değiştirme/kapatma ile ilgili olmayan bölüme bakmaya çalışıyorsunuz

bu HistoryOrderGetInteger(ticket,ORDER_POSITION_ID) gibi görünmeniz gerekiyor

-----------------

ifaden mi?

Devam etmek istiyor musun?

 
Mikalas :

Sandex:

yanlış bölüme bakıyorsunuz, OrderGetInteger ( ORDER_POSITION_ID ) - pozisyon açma/değiştirme/kapatma ile ilgili olmayan bölüme bakmaya çalışıyorsunuz

bu HistoryOrderGetInteger(ticket,ORDER_POSITION_ID) gibi görünmeniz gerekiyor

-----------------

ifaden?

Devam etmek istiyor musun?

Ne için? Neden yapıyorsun? Bir insan saçma sapan yazmış gibi mi? Saçmalıklarını yazmasaydın bu saçmalık olmazdı. Emirle ilgili kaydın emirler geçmişinde göründüğünü ve aynı zamanda piyasada asılı kaldığını yazmışsınız.

Devam etmek istiyor musun?

 

Son, bence son.

Daha önce katıldığım ve katıldığım forumların hiçbiri

forum üyelerinin birbirine böyle bir tavrı yok!

Forum, ORTAK OLARAK karar veren (tartışan) benzer düşünen insanlardan oluşan bir topluluktur.

katılımcılarının birbirlerine yardım ettiği bazı yönlerden bazı problemler.

Tüm insanlar FARKLIDIR, biri sorunun özünü anında "kavranır" ve diğerinin zamana ihtiyacı vardır,

anlamak ve anlamak için.

Boş zamanınızda düşünün!

P / S Ve Yurich ve komposter sayesinde, tam olarak bunun için dedim ki

tek bir gereksiz kelime söylemediler, sadece iş ve saygıyla

bir kişiye (yanlış veya hatalı olsa bile).

İşte buradalar - forumun gerçek üyelerinden bir örnek!

 
papaklass :

Ben zaten tezgahlarda oturuyorum. sabırsızlıkla bekliyorum... :)

Sasha, bu tekme atmak için çok rahat bir pozisyon...