Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 24

 
Alexey Viktorov :
Ve bundan ne değişecek?
Ticari olaylarla ilgili durum açıklaması, konunun konusu ile tamamen tutarlıdır.
 

Basit bir geçici ağ hatası, YALNIZCA Ticaret olaylarını dinlemeye dayalı ticaret mantığını geçersiz kılar.

Bu nedenle, OnTradeTransaction'ın yandaşları, akıl yürütmelerinde biraz aşırıya kaçıyorlar.

İşte herhangi bir platformda düzgün çalışacak bir ticaret mantığı mekanizması

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Bir EA'da limit emirlerle çalışmanın güzel bir örneği

fxsaber , 2017.01.02 23:12

Sadece bir zaman bulutu olan gecikmelerle ticaret yapıyorum. Herhangi bir işlem yapmıyorum. OrderSend -1 (MT4 veya MT5+MT4Orders) döndürdü - işe yaramadı ve sorun değil, çünkü ticaret ortamı bir sonraki adımda hala tamamen görünür durumda. Ve erteleme / duruş yoksa, ancak olması gerekiyorsa, olması gereken durumla senkronizasyon vardır - ilgili OrderSend gönderilir.

Bu yaklaşımla, reddetme, kısmi infaz ve diğer şeylerin tüm nüansları dikkate alınır. Ve uygulaması çok basit ve verimli. Asla başarısız olmadı.

Asenkron seçenekleri denemedim, burada çok daha zor görünmüyor, ancak tartışmayı taahhüt etmeyeceğim.

 
fxsaber :

Basit bir geçici ağ hatası, YALNIZCA Ticaret olaylarını dinlemeye dayalı ticaret mantığını geçersiz kılar.

Bu nedenle, OnTradeTransaction'ın yandaşları, akıl yürütmelerinde biraz aşırıya kaçıyorlar.

İşte herhangi bir platformda düzgün çalışacak bir ticaret mantığı mekanizması

Evet, tek güvenilir yol ticaret hesabının durumunu kontrol etmektir. Tüm OnTrade* etkinlikleri, ticaret emirlerini yönetmek için güvenilir bir mekanizma sağlayamaz.

Asenkron işlemlere gelince, bunların tek artısı, önceki emirlerin sonuçlarını beklemeden arka arkaya alım satım emirleri gönderebilmenizdir. Ancak bunların yürütülmesinin kontrolü de olaylara dayanamaz, bu açıdan senkron siparişlerin sonuçlarını kontrol etmekten hiçbir farkı yoktur.

Alım satım hesabının durumu, talep anında elimizde olandır (talebi kendimiz yaparız), ağla ilgili sorunlar bir sorun değilse, ağ geri yüklenene kadar talepte bulunabilirsiniz. Ama olaylara güvenerek tamamen dış etkenlere bağımlı hale geliyoruz.

 

fxsaber :
Ticari olaylarla ilgili durum açıklaması, konunun konusu ile tamamen tutarlıdır.

Evet, hiç umurumda değil, sadece birkaç kişinin böyle incelikleri yakalaması gerektiğini söyledim.

fxsaber :

Basit bir geçici ağ hatası, YALNIZCA Ticaret olaylarını dinlemeye dayalı ticaret mantığını geçersiz kılar.

Bu nedenle, OnTradeTransaction'ın yandaşları, akıl yürütmelerinde biraz aşırıya kaçıyorlar.

İşte herhangi bir platformda düzgün çalışacak bir ticaret mantığı mekanizması

Ve kimseyi bundan vazgeçirmeyeceğim. Üstelik sunucudan dönüşü kontrol etmeyi çok gerekli görüyorum. Sadece yaklaşımlar farklı. Önerdiğin şey doğru, ama her derde deva değil.

Belki bu benim hayatımın ilkesindendir: "Bırakın daha da kötüleştireyim, ama kendi yolumda. Bir şey olursa azarlayacak kimse olmayacak."

 

Bir enstrümanın pip değeri için MarketInfo(_Symbol, MODE_TICKVALUE) işlevini kullanmaya bir şekilde alıştım. Ve şu ana kadar herhangi bir sorunla karşılaşmadım.

MT5'te, farklı brokerler için her şeyi o kadar tekdüze görmüyorum‌. İki farklı hesapta EURUSD ve USDJPY üzerinde küçük bir komut dosyası başlattı. Pip değerine ve sözleşmenin boyutuna dikkat edin.

Bu, MQ'dan bir demo hesaptır:‌

‌ Bu Just2Trade'den bir demo hesaptır:

‌Tek tip bir puan maliyetine yol açacak evrensel bir işlevi olan var mı?
Anladığım kadarıyla, hem onay boyutu hem de sözleşme boyutu dikkate alınmalı, belki başka bir şey?

Onlar. EURUSD ise ve depozito dolar ise, o zaman 1 dolara eşit olacak şekilde 1 beş basamaklı nokta.

Ve hangi durumlarda SYMBOL_TRADE_TICK_VALUE_PROFIT veya SYMBOL_TRADE_TICK_VALUE_LOSS kullanmak doğru olur?
 
Vasili Puşkaryev :

Bir enstrümanın pip değeri için MarketInfo(_Symbol, MODE_TICKVALUE) işlevini kullanmaya bir şekilde alıştım. Ve şu ana kadar herhangi bir sorunla karşılaşmadım.

MT5'te, farklı brokerler için her şeyi o kadar tekdüze görmüyorum‌. İki farklı hesapta EURUSD ve USDJPY üzerinde küçük bir komut dosyası başlattı. Pip değerine ve sözleşmenin boyutuna dikkat edin.

Bu, MQ'dan bir demo hesaptır:‌

‌ Bu Just2Trade'den bir demo hesaptır:

‌Tek tip bir puan değerine yol açacak evrensel bir işlevi olan var mı?
Anladığım kadarıyla, hem onay boyutu hem de sözleşme boyutu dikkate alınmalı, belki başka bir şey?

Onlar. EURUSD ise ve mevduat dolar ise - o zaman 1 dolara eşit olacak şekilde 1 beş basamaklı nokta.

Ve hangi durumlarda SYMBOL_TRADE_TICK_VALUE_PROFIT veya SYMBOL_TRADE_TICK_VALUE_LOSS kullanmak doğru olur?
İşte o zaman "Nikonor'un ofisi" normal olanlar gibi bir sözleşme boyutuna sahip olacak, YÜZ BİN, o zaman bir puanın maliyeti normal puanlarınki gibi olacaktır. Bu arada, sahip olduklarını 100.000 ile çarpabilirsin ve istediğini alacaksın.
 
Alexey Viktorov :
İşte o zaman "Nikonor'un ofisi" normal olanlar gibi bir sözleşme boyutuna sahip olacak, YÜZ BİN, o zaman bir puanın maliyeti normal puanlarınki gibi olacaktır. Bu arada, sahip olduklarını 100.000 ile çarpabilirsin ve istediğini alacaksın.
Ben de bununla biraz mücadele ettim. MetaQuotes-Demo'nun bir sözleşme boyutu vardır, Just2Trade'in bir tane daha vardır. Forex için - biri, hisse senetleri vb. - diğeri. Sertifikanın her şeyin nasıl hesaplanacağını söylemesi - yakınsama - hatta çatlama. Ve müşteri bekliyor ... Böylece otomatik olarak saymayacaklarını, aptalca 100 ile çarpacaklarını kabul ettik. Ve sadece Just2Trade'inde. Bunu hala anlamadım... :(
 
Artyom Trishkin :
Ben de bununla biraz mücadele ettim. MetaQuotes-Demo'nun bir sözleşme boyutu vardır, Just2Trade'in bir tane daha vardır. Forex için - biri, hisse senetleri vb. - diğeri. Sertifikanın her şeyin nasıl hesaplanacağını söylemesi - yakınsama - hatta çatlama. Ve müşteri bekliyor ... Böylece otomatik olarak saymayacaklarını, aptalca 100 ile çarpacaklarını kabul ettik. Ve sadece Just2Trade'inde. Bunu hala anlamadım... :(

Burada net olmayan ne olabilir?

Standart sözleşme boyutu = 1 pip karşılığında alınan 1 satın alınan 1000 lot 0,00001*1000/1 = 0,01

Başka bir seçenek, sözleşme boyutu = 100000 satın alındı 0.01 lot‌ (100000*0.01=1000) 1 pip karşılığında alındı 1*1000/100000 = 0.01

Bu 5\3 karakter içindir.‌

not; Ve Instagram'da 10.000'lik standart bir sözleşme boyutu vardı.
 
Alexey Viktorov :

Burada net olmayan ne olabilir?

Standart sözleşme boyutu = 1 pip karşılığında alınan 1 satın alınan 1000 lot 0,00001*1000/1 = 0,01

Başka bir seçenek, sözleşme boyutu = 100000 satın alındı 0.01 lot‌ (100000*0.01=1000) 1 pip karşılığında alındı 1*1000/100000 = 0.01

Bu 5\3 karakter içindir.‌

not; Ve Instagram'da 10.000'lik standart bir sözleşme boyutu vardı.
Açıktır ki, bir şekilde 3000 veya 5000 lot kullanmak olağandışıdır. alışmak zorunda kalacak.
 
Vasili Puşkaryev :
Açıktır ki, bir şekilde 3000 veya 5000 lot kullanmak olağandışıdır. alışmak zorunda kalacak.

Alışılmış değilse, böyle yazabilirsiniz

 input double                lot         =   0.1 ;
input int                   take        =   100 ;   // TakeProfit

double takePips, contract;

/*******************Expert initialization function*******************/
int OnInit ()
{
   contract = 100000 / SymbolInfoDouble ( _Symbol , SYMBOL_TRADE_CONTRACT_SIZE )*lot;
    takePips = take* _Point ;
   return ( INIT_SUCCEEDED );
} /*******************************************************************/

ve sözleşme değişkenini, DC'nin kaprisinden bağımsız olarak OrderSend() işlevine gönderin.