OnTradeTransaction işlevi hakkında soru - sayfa 4

 
Mikalas :

Evet, çünkü borsada mutfak yok (sadece komisyonlar) ve FOREX'te milyonlarca MMM takipçisi var,

belki 100 dolar vardır, ama HERKES! Büyük para, sayılacak bir şey var! :)

MetaQuotes'u anlamıyorum)

Forex mutfakları için mükemmel bir MT4 terminali var.

Birçok forex mutfağı MT5 üzerinden erişim sağlamaz, buna ihtiyaç duymazlar.

Bunca yıldır borsalara yakın bir terminal yapmak gerçekten imkansız mı?

Yüksek kaliteli bir terminal olacak - MT5 hizmetleri sunmak isteyen birçok müşteri olacak.

 
Serj_Che :

MetaQuotes'u anlamıyorum)

Forex mutfakları için harika bir MT4 terminali var.

Birçok forex mutfağı MT5 üzerinden erişim sağlamaz, buna ihtiyaç duymazlar.

Bunca yıldır borsalara yakın bir terminal yapmak gerçekten imkansız mı?

Yüksek kaliteli bir terminal olacak - MT5 hizmetleri sunmak isteyen birçok müşteri olacak.

Bu MQ ile ilgili değil, komisyoncularla ilgili.

Müşterilerin işlem - daha fazla işlem - daha fazla komisyon yapması broker için faydalıdır.

Robot sadece "doğru işlemler" yapacak ve "eller" insanlarla sipariş vermek çok

sık sık yanılıyor (kendisi bu "tırmık" a bir kereden fazla bastı) yanlış yönde bir emir verdi,

vurmak, yemin etmek, zarara kapatmak, geri kazanmak istiyorsanız - yine yanlış yüklediniz, vb.

Ve komisyoncu ve borsa komisyon aldı :)

Yani değişim için ve özellikle komisyoncu QUIK için - "anne".

 
Mikalas :

Vasili, bir cevap olacak mı?

bence hayır.

Kazandım?

Akşam cevap vereceğim. Şimdi hiçbir yolu yok.
 
C-4 :

Karıştırmayın. FORTS üzerinde ticaret yapmak için eşzamansızlığa gerek yoktur. Başlamak için, Bölüm 3: "Eşzamansız İşlemlerin Temelleri" başlıklı bu makaleye göz atın. Çok fazla ve çok temel bilgiler yok, ancak öğrenmeye başlamak için yeterli. Orada açıklanan kod %100 eşzamansızdır, ancak bu, herhangi bir OnTradeTransaction ve diğer olayları almadan senkron modda çalışmasını engellemez.

Çözüm, görevinizden gelmelidir. MetaTrader 5'te aynı anda yalnızca bir aktif pozisyonunuz vardır, bu yüzden gözünüz üzerinde olsun. Siparişlerin tarihine girmeye gerek yok. Sipariş geçmişi ihtiyacı hala ortaya çıkıyorsa, görevinizi netleştirmeniz gerekir.

Hayır Vasily, amacımı tam olarak anlamadın. FORTS'ta henüz bir şey yazmayacağım veya ticaret yapmayacağım, mql5 öğrenmeye yeni başladım. Bu makaleyi daha önce okumaya başladım. Ama 2 sayfadan fazla okumadım ve vazgeçtim. Sanırım buna ihtiyacım yok, NT'nin kendisi. Ancak OrderSend ve OrderSendAsync arasındaki farkın görsel bir açıklaması yararlıdır. Genel olarak, öyle varsaydım.

Eşzamansız siparişi atar ve hesapta neler olduğunu izlemek için OnTradeTransaction'ı kullanmaya devam edersek, bu EA'nın performansını iyileştirmez mi?

Her onay üzerinde bir tür kontrol yapmak bir şeydir ve kontrolün yalnızca hesapta bir değişiklik olması durumunda yapılması tamamen başka bir şeydir. Yanlış mıyım? Erteleme aktif hale getirildi, bununla ilgili bilgimiz var. Pozisyon kapatıldı, kapatıldığı sonucu analiz edebiliriz. Bir pozisyonun açılmasından kapanmasına kadar geçen süre boyunca sadece birkaç kontrol ortaya çıkıyor. Ve bu kontrollerin aksine her tikte...

Başka bir soru ortaya çıkıyor: Pozisyon karını belirlemek için, PositionGetDouble( POSITION_PROFIT) fonksiyonu var ve kapatılan bir anlaşmanın karını belirlemek için, sadece bu anlaşmadan alınması gereken bir sürü parametre ile OrderCalcProfit() var. Yoksa doğru çözümü bulamayacak kadar mql5'te henüz ustalaşmadım mı?

Zorlaştırmıyorsa...

 
AlexeyVik :

Hayır Vasily, amacımı tam olarak anlamadın. FORTS'ta henüz bir şey yazmayacağım veya ticaret yapmayacağım, mql5 öğrenmeye yeni başladım. Bu makaleyi daha önce okumaya başladım. Ama 2 sayfadan fazla okumadım ve vazgeçtim. Sanırım buna ihtiyacım yok, NT'nin kendisi. Ancak OrderSend ve OrderSendAsync arasındaki farkın görsel bir açıklaması yararlıdır. Genel olarak, öyle varsaydım.

Eşzamansız siparişi atar ve hesapta neler olduğunu izlemek için OnTradeTransaction'ı kullanmaya devam edersek, bu EA'nın performansını iyileştirmez mi?

Her onay üzerinde bir tür kontrol yapmak bir şeydir ve kontrolün yalnızca hesapta bir değişiklik olması durumunda yapılması tamamen başka bir şeydir. Yanlış mıyım? Erteleme aktif hale getirildi, bununla ilgili bilgimiz var. Pozisyon kapatıldı, kapatıldığı sonucu analiz edebiliriz. Bir pozisyonun açılmasından kapanmasına kadar geçen süre boyunca sadece birkaç kontrol ortaya çıkıyor. Ve bunun aksine, her onay işaretini kontrol eder...

Başka bir soru ortaya çıkıyor: Pozisyon karını belirlemek için, PositionGetDouble( POSITION_PROFIT) fonksiyonu var ve kapatılan bir anlaşmanın karını belirlemek için, sadece bu anlaşmadan alınması gereken bir sürü parametre ile OrderCalcProfit() var. Yoksa doğru çözümü bulamayacak kadar mql5'te henüz ustalaşmadım mı?

Zorlaştırmıyorsa...

OrderCalcProfit yardımcı olmaz.

Tüm siparişlerin (giriş) ortalama fiyatını ve tüm siparişlerin (out) ortalama fiyatını hesaplamanız gerekir,

sonra kapalı pozisyonun karını hesaplayabilirsiniz.

Tarihe inmemiz gerekecek.

 
Mikalas :

OrderCalcProfit yardımcı olmaz.

Tüm siparişlerin (giriş) ortalama fiyatını ve tüm siparişlerin (out) ortalama fiyatını hesaplamanız gerekir,

sonra kapalı pozisyonun karını hesaplayabilirsiniz.

Tarihe inmemiz gerekecek.

Prensip olarak, bunu anlıyorum (nasıl yapacağımı hala anlamasam da), ancak bu durumda benim için sadece son kapanan pozisyon önemlidir. Görünüşe göre bu, pozisyonun doldurulduğu durum için daha uygundur. Ve şimdi başka bir görevim var.

Baykuşları martin ile mql5'e yeniden yazmaya karar verdim. Piyasada sürekli ve bir sonraki işlem son pozisyona doğru açılır...

Oops ... forumda iletişim kurmak ne kadar faydalı. Sonuçta, bir pozisyon sadece gecikme etkinleştirildiğinde veya alımla kapandığında dönebiliyorsa, o zaman kâr veya zararın miktarı benim için önemli değil. Pekala, eğer son diz eksi verirse, o zaman burada hiçbir şeye ihtiyaç duyulmayacaktır... Kapalı pozisyonun türünü bulmak yeterlidir... ve bu, OnTradeTransaction işleyicisinde global düzeyde bir değişkene yazılabilir. TRADE_TRANSACTION_DEAL_ADD işlem tipi ve TRADE_TRANSACTION_HISTORY_ADD tipi bir işlemle veya bir sembol için PositionsTotal'ın sıfıra eşit olması şartıyla serinin bir sonraki ilk sırasını yerleştirmek için... Bunu da unutmamak için kendime yazdım :)))



 
papaklass :

...Yani, algoritmanızın mantığı, herhangi bir işlevin veya olayın işlenmesine değil, TİCARET ORTAMININ DEĞİŞİMİNE dayanmalıdır.

3. Ticaret ortamını kontrol etme sıklığı (tikte, çubukta, zamanlayıcıda vb.) TS'nizin mantığına uygun olmalıdır. Yani, ticaret ortamındaki bir değişikliği ne kadar hızlı işlemeniz gerekiyor? Aracınızın mantığı, değişikliğin en hızlı şekilde işlenmesini gerektiriyorsa, her tikte kontrollerden kurtulamayacaksınız...

Ve danışman çok para birimi ise ?
 
papaklass :

1. OrderSendAsync() işlevi , bir tür toplu gönderme olan aynı anda birden fazla siparişi göndermeniz gerektiğinde kullanılır. Grupları gönderirken, her siparişe sunucu yanıtlarını beklerseniz (OrderSend() işlevini kullanarak), tüm toplu işi gönderirken önemli bir toplam zaman gecikmesi olacaktır. Bu zaman gecikmesi sırasında, pazar önemli ölçüde değişebilir! Bu zaman gecikmesini ortadan kaldırmak için OrderSendAsync() işlevi tanıtıldı. Bunu net bir şekilde anlamalısınız.

Siparişlerin toplu olarak gönderilmesine ihtiyacınız yoksa, OrderSendAsync() işlevini kullanmanın bir anlamı yoktur.

2. Bir emrin, emrin vb. yerine getirilmesinin en güvenilir tanımı. ticaret ortamınızı izliyor, herhangi bir işlev veya olay üzerinde çalışmıyor. Bir fonksiyon veya olay işe yarayabilir ama bu çalışma sonucunda TİCARET ORTAMINIZIN DEĞİŞeceği bir gerçek değildir. Niye ya? Evet, çünkü işlevin çalışması sırasında bir hata meydana gelebilir.

Yani algoritmanızın mantığı, herhangi bir fonksiyon veya olayın geliştirilmesine değil, İŞLEM ORTAMININ DEĞİŞİMİNE dayanmalıdır.

3. Ticaret ortamını kontrol etme sıklığı (tikte, çubukta, zamanlayıcıda vb.) TS'nizin mantığına uygun olmalıdır. Yani, ticaret ortamındaki bir değişikliği ne kadar hızlı işlemeniz gerekiyor? Aracınızın mantığı, değişikliğin mümkün olan en hızlı şekilde işlenmesini gerektiriyorsa, her tikte kontrollerden kurtulamazsınız.

İskender, cevabınız için teşekkürler.

1. Bunu, şu ana kadar buna ihtiyacım olmadığını anlayacak kadar tam olarak anlıyorum. Şimdilik OrderSend işlevi benim için yeterli.

2. Evet, en güvenilir durumun ancak her tikte tüm ortamı izleyerek belirlenebileceğini kabul ediyorum. Ama görmezden gelmek için böyle bir olay işleyiciye sahip olmak... Şey, sadece deney yapıyorum. Bir şeyi daha güvenilir hale getirmeme yardım etme arzunuzu çok iyi anlıyorum ama benim amacım farklı. Bu danışmana acilen ihtiyacım yok ve dahası siparişe yazmıyorum.

3. Belki danışmanın son versiyonunda her işareti kontrol etmeye geri döneceğim, ama şimdilik...

Soru farklıydı, belgelerde bir uyarı varsa OnTradeTransaction olay işleyicisine ne kadar güvenebilirsiniz?

Ayrıca sunucudan terminale teslimat sırasında işlemler kaybolabilir.

Ve hangi durumlarda güvenmemek daha iyidir ve hangi durumlarda bir şeyi sigortalamak gerekir.

Herkese, Vasily, Mikhail ve siz Alexander'a çok minnettarım. Biraz daha düşüncelerinizi paylaşırsanız çok memnun olacağım ve bir kez daha minnettar olacağım.

 
papaklass :

Hem ben hem de Vasily size bu soruyu cevapladı.

Kendiniz düşünün , OnTradeTransaction() işlevinin çalışmasının hala yeniden kontrol edilmesi gerekiyorsa, OnTradeTransaction() işlendikten sonra işlem ortamını hemen kontrol etmek daha iyi olabilir. Her ne kadar bu bir zevk meselesidir.

Evet ve bir sonraki dalda Renat, işlevle çalışmaya söz verdi ve belki de sonraki yapılarda bu işlevin çalışmasında bir gelişme elde edeceğiz.

Ancak yine de, siparişlerin asenkron yerleşimine vurgu yapılır. Bu durumda, yüzlerce siparişten bir işlemi kaybetmenin şaşırtıcı olmadığı açıktır. Yine de, ona göre Mikhail, inanılmaz derecede fazla sayıda siparişle altı ay boyunca tek bir işlem kaybetmedi. Ve sipariş OrderSend() işlevi tarafından verilirse, bir işlemi kaybetme olasılığı nedir ve bu durumda önemli bir şey olmayabilir mi?

Ve eğer iyileştirme geliyorsa, o zaman bu, yapmaya değer olmasının başka bir nedenidir. Yoksa yine yanlış bir şey mi yapıyorum?

 
denkir :
А если советник мультивалютный?


papaklas :

Benden ne duymak istediğin belli değil.

Olay modeline karşı argüman ...