Belirli bir komisyoncu ile gerçek hesap için Çoklu Sipariş Girişi Sorunu - sayfa 4

 
FinanceEngineer :

Merhaba

Kulağa garip geldiğini biliyorum. Önceki kodda OrderSend(request,result)'un döndürülen değerini kontrol ettiğimde birden fazla sipariş sorunu ile karşılaştım . Şimdi yeni kodumda, OrderSend(request,result)'un döndürülen değerini kontrol etmiyorum (ancak terminalin yeni yapısında hata oluşmasını önlemek için yine de döndürülen değeri bazı değişkenlere atadım.


Merhaba FinanceEngineer , tam olarak size söylediğim gibi, sadece asıl sorunu maskeliyorsunuz, çünkü bence bunu (###) önceki kodunuzda (10008 döndürülen kod) yazdırıyorsunuz, kırılma durumunda değil.

 if (! OrderSend (request,result) || result.deal== 0 )
      {
         Print ( "OrderSend Code: " ,result.retcode); // You are printing this (###) -> 10008
         ...
 
figurelli :

Merhaba Alain,

Bilmeniz gerekenler benim için net değil, çünkü biz sadece FinanceEngineer'in yeni kodundan ve orijinal koddan değiştirilen OrderSend() dönüş kodunu test etme konusunda bir tavsiyeden bahsediyoruz.

Orijinal kodunun ve yeni kodunun 10010 kod testi olmadığını unutmayın, bu yüzden sizinle ilgiliyse neden ilk mesajından beri sormadınız?

Her neyse, bir FOK doldurma politikası için neden 10010 kod testine ihtiyacınız olduğunu açıklayabilir misiniz?

Bu seni ve diğer Moderatörlerin konuştuğunu ilk görüşüm olmadığı için, bizimle paylaşabileceğiniz FOK (Fill Or Kill) emirleri için bu kod testinin gerçekten gerekli olduğu bazı durumlar biliyor musunuz?

Şimdiden teşekkürler.

Bu forumda da soru sorabileceğimi ve sadece her zaman cevap vermek zorunda kalmayacağımı sanıyordum. Basitçe bu.

Burada çok sayıda kod görüyoruz, döndürülen kodu (MqlResult) 10008 veya 10009'a göre test ediyoruz, ancak birisi bu kodların gerçek anlamını açıklayabilir mi, "Sipariş Verildi" ve "Talep tamamlandı" arasındaki fark nedir? Görünüşe göre hata kodu olmayan tek 2 kod bu, değil mi?

10010 şüpheli, belgeler şunları söyledi :

10008

TRADE_RETCODE_PLACED

sipariş verildi

10009

TRADE_RETCODE_DONE

İstek tamamlandı

10010

TRADE_RETCODE_DONE_PARTIAL

İsteğin yalnızca bir kısmı tamamlandı

Ancak bu, "Talebin yalnızca bir kısmı tamamlandı" anlamına gelir. FOK dolum politikası ile 1 lot istendiğinde (örneğin, örneğin) 0,5 lotun açılmasının muhtemelen olmayacağını belirtmişsinizdir, ancak tek anlamı bu mu?

Daha önce yaklaşık 10010 kodu yazdınız:

Bu kodun geleceğe dönük ve yeterince güvenli olduğunu düşünmüyorum ve bu, iade kodunun eksikliğiyle ilgili sadece bir örnek, bu yüzden lütfen tekrar okuyun.

Bu cümlenin anlamı ne olabilir? "Geleceğin kanıtı" mı? "Yeterince güvenli" için ... ? "Dönüş kodu eksikliği", eksik olan nedir? (ve çok önemli değil ama "tekrar oku" ne?).

 
angevoyageur :

Bu forumda da soru sorabileceğimi ve sadece her zaman cevap vermek zorunda kalmayacağımı sanıyordum. Basitçe bu.

Burada çok sayıda kod görüyoruz, döndürülen kodu (MqlResult) 10008 veya 10009'a göre test ediyoruz, ancak birisi bu kodların gerçek anlamını açıklayabilir mi, "Sipariş Verildi" ve "Talep tamamlandı" arasındaki fark nedir? Görünüşe göre hata kodu olmayan tek 2 kod bu, değil mi?

10010 şüpheli, belgeler şunları söyledi :

10008

TRADE_RETCODE_PLACED

sipariş verildi

10009

TRADE_RETCODE_DONE

İstek tamamlandı

10010

TRADE_RETCODE_DONE_PARTIAL

İsteğin yalnızca bir kısmı tamamlandı

Ancak bu, "Talebin yalnızca bir kısmı tamamlandı" anlamına gelir. FOK dolum politikası ile 1 lot istendiğinde (örneğin, örneğin) 0,5 lotun açılmasının muhtemelen olmayacağını belirtmişsinizdir, ancak tek anlamı bu mu?

Daha önce yaklaşık 10010 kodu yazdınız:

Bu cümlenin anlamı ne olabilir? "Geleceğin kanıtı" mı? "Yeterince güvenli" için ... ? "Dönüş kodu eksikliği", eksik olan nedir? (ve çok önemli değil ama "tekrar oku" ne?).

Çoğu insan gibi ben de MQL5 kodlamasını başkalarının kodlarına bakarak öğrendim. Bana yeterince garip, şimdiye kadar 10010 kodunu kontrol eden herhangi bir kod görmedim. Ancak kontrol etmekte fayda olabilir. Her ihtimale karşı.

Gördüğüm kadarıyla, sadece 10008 kodunu kontrol ettiğimde çift giriş emri aldım. Ve 10009 kodunu kontrol ettiğimde çift giriş emri aldım. Hem 10008 hem de 10009'u kontrol ettiğimde çift giriş emri almadım.

Ancak, EA'nızda 10010 kodunu kontrol ederseniz, pratik bakış açısıyla merak ediyorum. Sipariş gerçekten kısmen tamamlandıysa, bu tür bir durumla başa çıkmanın etkili yolu ne olurdu?

Muhtemelen bu sipariş gönderme sorununun çoğunun, döngümüzün içinde PositionGetDouble(POSITION_VOLUME) bulundurarak hacmi kontrol etmekle çözülebileceğini düşünüyorum. Ancak bunun 10008 veya 10009 kodunu kontrol etmekten daha verimli olup olmadığından pratik olarak emin değilim.

Aracının sunucusu meşgulse, doğru hacmi alamama olasılığı, 10008 veya 10009 kodunu alamama olasılığı kadar eşittir.

Saygılarımla.

 
figurelli :

Merhaba Alain,

Bilmeniz gerekenler benim için net değil, çünkü biz sadece FinanceEngineer'in yeni kodundan ve orijinal koddan değiştirilen OrderSend() dönüş kodunu test etme konusunda bir tavsiyeden bahsediyoruz.

Orijinal kodunun ve yeni kodunun 10010 kod testi olmadığını unutmayın, bu yüzden sizinle ilgiliyse neden ilk mesajından beri sormadınız?

Her neyse, bir FOK doldurma politikası için neden 10010 kod testine ihtiyacınız olduğunu açıklayabilir misiniz?

Bu seni ve diğer Moderatörlerin konuştuğunu ilk görüşüm olmadığı için, bizimle paylaşabileceğiniz FOK (Fill Or Kill) emirleri için bu kod testinin gerçekten gerekli olduğu bazı durumlar biliyor musunuz?

Şimdiden teşekkürler.

Pekala, MQL5.com forumunda paylaşımda bulunduğumuzda, uzman danışmanları kodlarken çeşitli ihtiyaçlara sahip olabilecek insanlarla konuştuğumuzu varsayıyoruz... yani bu durumda, her şeyi basitleştirebileceğiniz ve kullanıcıdan kod yazmasını isteyebileceğiniz çok açık. "daha basit" bir uzman danışman, ihtiyaçları hayal edebileceğiniz kadar "ileri" olmadığında. Ancak bildiğim kadarıyla FOK dolum politikası ile çalışamayacağınız birkaç durum var.

Size çok basit bir örnek vereyim: Hisse senetleriyle çalıştığınızı ve seçilen hacmin 10.000 hisse senedi olduğunu varsayalım. Şimdi, aynı uzman danışmanın "ters dönüşler" ile çalıştığını varsayalım, bu nedenle, bazı rastgele sinyallerde, sözde "tersine çevirme" işlemini gerçekleştirmek için piyasaya 20.000 hisseye eşit hacimli bir emir göndermeniz gerekebilir. Bu durumda, çok likit hisse senetleri bile (örneğin Brezilya ağır hisse senetleri PETR4 veya VALE5) belirli bir anda 20.000 hisseye eşit bir alış veya satış hacmine sahip olmayabilir. Peki bu durumda uzman danışmanınız içinde bunu nasıl değerlendirirsiniz? Bu durumda FOK politikasının en iyi yaklaşım olacağına gerçekten ikna oldunuz mu? Yoksa bu 10010 kodunu uzman danışmanınız içinde değerlendirmeye mi çalışırsınız?

Söylendiği gibi, her zaman küçük partilerle çalıştığınızda, FOK dolum politikası en iyi çözümünüz olabilir. Ancak, bazen insanların daha "ileri" ihtiyaçları vardır...

 
angevoyageur :

Bu forumda da soru sorabileceğimi ve sadece her zaman cevap vermek zorunda kalmayacağımı sanıyordum. Basitçe bu.

Burada çok sayıda kod görüyoruz, döndürülen kodu (MqlResult) 10008 veya 10009'a göre test ediyoruz, ancak birisi bu kodların gerçek anlamını açıklayabilir mi, "Sipariş Verildi" ve "Talep tamamlandı" arasındaki fark nedir? Görünüşe göre hata kodu olmayan tek 2 kod bu, değil mi?

10010 şüpheli, belgeler şunları söyledi :

10008

TRADE_RETCODE_PLACED

sipariş verildi

10009

TRADE_RETCODE_DONE

İstek tamamlandı

10010

TRADE_RETCODE_DONE_PARTIAL

İsteğin yalnızca bir kısmı tamamlandı

Ancak bu, "Talebin yalnızca bir kısmı tamamlandı" anlamına gelir. FOK dolum politikası ile 1 lot istendiğinde (örneğin, örneğin) 0,5 lotun açılmasının muhtemelen olmayacağını belirtmişsinizdir, ancak tek anlamı bu mu?

Daha önce yaklaşık 10010 kodu yazdınız:

Bu cümlenin anlamı ne olabilir? "Geleceğin kanıtı" mı? "Yeterince güvenli" için ... ? "Dönüş kodu eksikliği", eksik olan nedir? (ve çok önemli değil ama "tekrar oku" ne?).

Alain, sorun değil, cevap vermek zorunda değilsin, çünkü muhtemelen hiçbir vaka bulamayacaksın, çünkü bu herhangi bir iyi OMS protokolünde zorunludur.

Ayrıca ilk mesajdan sonra neden sormadığınızı da konuşmanıza gerek yok çünkü konu dışı olabilir.

Her neyse, FOK'un eski bir doldurma politikası olduğunu, MQ'nun muhtemelen OMS ile iletişimi ele almak için tanıttığını unutmayın, bu yüzden onu örneğin FIX gibi tüm iyi OMS protokollerinde bulacaksınız ( MT5'in varlığından önceki 2009 yılından bu forum konusu gibi ) .

Dolayısıyla, benim görüşüme göre, bir Doldur veya Kapat Emri için yaklaşık 10010 iade kodu sormak için hiçbir neden görmüyorum ve mesele bu, çünkü bu kural zorunludur ve komisyoncular ve OMS sağlayıcıları buna saygı göstermelidir.

FIX Trading Community: // Fill or Kill Order
FIX Trading Community: // Fill or Kill Order
  • General Q/A
  • www.fixtradingcommunity.org
Have doubt regarding FoK order type. In my view if order is not filled a reject message should be sent by an exchange instead of cancel. Can someone confirm this? No, rejections are to convey that the requested action was not carried out. A FoK order not being filled does not fall in this category, it is rather "works as designed". It is...
 
Malacarne :

Pekala, MQL5.com forumunda paylaşımda bulunduğumuzda, uzman danışmanları kodlarken çeşitli ihtiyaçlara sahip olabilecek insanlarla konuştuğumuzu varsayıyoruz... yani bu durumda, her şeyi basitleştirebileceğiniz ve kullanıcıdan kod yazmasını isteyebileceğiniz çok açık. "daha basit" bir uzman danışman, ihtiyaçları hayal edebileceğiniz kadar "ileri" olmadığında. Ancak bildiğim kadarıyla FOK dolum politikası ile çalışamayacağınız birkaç durum var.

Size çok basit bir örnek vereyim: Hisse senetleriyle çalıştığınızı ve seçilen hacmin 10.000 hisse senedi olduğunu varsayalım. Şimdi, aynı uzman danışmanın "ters dönüşler" ile çalıştığını varsayalım, bu nedenle, bazı rastgele sinyallerde, sözde "tersine çevirme" işlemini gerçekleştirmek için piyasaya 20.000 hisseye eşit hacimli bir emir göndermeniz gerekebilir. Bu durumda, çok likit hisse senetleri bile (örneğin Brezilya ağır hisse senetleri PETR4 veya VALE5) belirli bir anda 20.000 hisseye eşit bir alış veya satış hacmine sahip olmayabilir. Peki bu durumda uzman danışmanınız içinde bunu nasıl değerlendirirsiniz? Bu durumda FOK politikasının en iyi yaklaşım olacağına gerçekten ikna oldunuz mu? Yoksa bu 10010 kodunu uzman danışmanınız içinde değerlendirmeye mi çalışırsınız?

Söylendiği gibi, her zaman küçük partilerle çalıştığınızda, FOK dolum politikası en iyi çözümünüz olabilir. Ancak, bazen insanların daha "ileri" ihtiyaçları vardır...

Açıklama akılda kalıcı. Çoğumuzun muhtemelen her ticarette 1 milyon ABD dolarından daha az ticaret yaptığı için aynı şeyi düşündüm. Forex gibi yüksek likiditeye sahip piyasalarda, siparişin kısmi olarak yerine getirilmesi nadir görülen bir şey olabilir. Ancak asla asla deme. Olasılık dünyasında yaşıyoruz. Hiç bir şey kesin değildir. Gergin bir komisyoncu 1 lotu 0,5 lota bölüyor olabilir. Pratik değerlendirme açısından, eğer bir komisyoncu herhangi bir zamanda 1 lot dolduramazsa, ticaret yapmak için başka bir komisyoncu bulmayı tercih ederim.

Saygılarımızla.

 
Malacarne :

Pekala, MQL5.com forumunda paylaşımda bulunduğumuzda, uzman danışmanları kodlarken çeşitli ihtiyaçlara sahip olabilecek insanlarla konuştuğumuzu varsayıyoruz... yani bu durumda, her şeyi basitleştirebileceğiniz ve kullanıcıdan kod yazmasını isteyebileceğiniz çok açık. "daha basit" bir uzman danışman, ihtiyaçları hayal edebileceğiniz kadar "ileri" olmadığında. Ancak bildiğim kadarıyla FOK dolum politikası ile çalışamayacağınız birkaç durum var.

Size çok basit bir örnek vereyim: Hisse senetleriyle çalıştığınızı ve seçilen hacmin 10.000 hisse senedi olduğunu varsayalım. Şimdi, aynı uzman danışmanın "ters dönüşler" ile çalıştığını varsayalım, bu nedenle, bazı rastgele sinyallerde, sözde "tersine çevirme" işlemini gerçekleştirmek için piyasaya 20.000 hisseye eşit hacimli bir emir göndermeniz gerekebilir. Bu durumda, çok likit hisse senetleri bile (örneğin Brezilya ağır hisse senetleri PETR4 veya VALE5) belirli bir anda 20.000 hisseye eşit bir alış veya satış hacmine sahip olmayabilir. Peki bu durumda uzman danışmanınız içinde bunu nasıl değerlendirirsiniz? Bu durumda FOK politikasının en iyi yaklaşım olacağına gerçekten ikna oldunuz mu? Yoksa bu 10010 kodunu uzman danışmanınız içinde değerlendirmeye mi çalışırsınız?

Söylendiği gibi, her zaman küçük partilerle çalıştığınızda, FOK dolum politikası en iyi çözümünüz olabilir. Ancak, bazen insanların daha "ileri" ihtiyaçları vardır...

Merhaba Malacarne,

Üzgünüm ama bu konu dışı, çünkü Moderatörler olarak gerçekliği (kullanıcının gerçekte ne gönderdiğini) ve koşulların ne olduğunu karıştıramayız.

Yani kullanıcı bir şey sorarsa ve kodu yayınlarsa ve kod aşağıdaki satıra sahipse (ilk ve eski gibi), Moderatörler olarak zihniyetimiz onun FOK kullandığını düşünmelidir.

request.type_filling= ORDER_FILLING_FOK ;

Sizce de öyle değil mi? Hayır ise, kod hatalarını bulma ve problem analizi kavramlarımı gözden geçirmem gerektiğini düşünüyorum.

Aslında, FOK kullanmazsanız, BM&FBovespa Brezilya davalarınız gibi, zihniyetim değişecek ve 10010 iade kodu düşünülmeli, ancak bu kesinlikle konu dışı ve belki de Portekiz Forumu için daha iyi bir tartışma.

Her neyse, bunu paylaştığın için teşekkürler.

 
FinanceEngineer :

Açıklama akılda kalıcı. Çoğumuzun muhtemelen her ticarette 1 milyon ABD dolarından daha az ticaret yaptığı için aynı şeyi düşündüm. Forex gibi yüksek likiditeye sahip piyasalarda, siparişin kısmi olarak yerine getirilmesi nadir görülen bir şey olabilir. Ancak asla asla deme. Olasılık dünyasında yaşıyoruz. Hiç bir şey kesin değildir. Gergin bir komisyoncu 1 lotu 0,5 lota bölüyor olabilir. Pratik değerlendirme açısından, eğer bir komisyoncu herhangi bir zamanda 1 lot dolduramazsa, ticaret yapmak için başka bir komisyoncu bulmayı tercih ederim.

Saygılarımızla.

Örneğimde 200.000 USD civarındaki hacimlerden bahsediyordum... Bildiğim kadarıyla bazılarımız ticaret başına 200.000 USD'den fazla ticaret yapıyor... :-)
 
FinanceEngineer :

Çoğu insan gibi ben de MQL5 kodlamasını başkalarının kodlarına bakarak öğrendim. Bana yeterince garip, şimdiye kadar 10010 kodunu kontrol eden herhangi bir kod görmedim. Ancak kontrol etmekte fayda olabilir. Her ihtimale karşı.


Merhaba FinanceEngineer , görmüyorsunuz çünkü muhtemelen bu vakalar ORDER_FILLING_FOK doldurma politikası ile ilgili, sizin de kullandığınız gibi, bu yüzden burada diğer yazılarımda açıkladığım gibi bu gerekli değil.
 
figurelli :

Merhaba Malacarne,

Üzgünüm ama bu konu dışı, çünkü Moderatörler olarak gerçekliği (kullanıcının gerçekte ne gönderdiğini) ve koşulların ne olduğunu karıştıramayız.

Yani kullanıcı bir şey sorarsa ve kodu yayınlarsa ve kod aşağıdaki satıra sahipse (ilk ve eski gibi), Moderatörler olarak zihniyetimiz onun FOK kullandığını düşünmelidir.

Sizce de öyle değil mi? Hayır ise, kod hatalarını bulma ve problem analizi kavramlarımı gözden geçirmem gerektiğini düşünüyorum.

Aslında, FOK kullanmazsanız, BM&FBovespa Brezilya davalarınız gibi, zihniyetim değişecek ve 10010 iade kodu düşünülmeli, ancak bu kesinlikle konu dışı ve belki de Portekiz Forumu için daha iyi bir tartışma.

Her neyse, bunu paylaştığın için teşekkürler.

Fikriniz için teşekkürler... İnsanların kafasına "karışıklık" getirmek gibi bir amacım yok.

Ancak bunun konu dışı olduğunu düşünmüyorum çünkü 10010 kodunu kontrol etmezseniz uzman danışmanınız bu olasılığı atlayabilir ve birden fazla sipariş gönderebilir (tamamen konuyla ilgili değil mi?)...

Aynı konuyla ilgili son iki gönderiden bu yana uyarmaya çalıştığımız şey bu...

Neden: