Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 383

 
Vitalie Postolache :

Herhangi bir harici yoksa - yani, PositionClose

Ve aynı hacimde bir pozisyonu ters yönde de açabilirsiniz, sonuç olarak bir kapanış elde edersiniz.

böyle bir fonksiyon yok mu?
 
Tapochun :

OnTick fonksiyonunda bool türünde iki yerel değişken belirledik: buyExist = false ve sellExist = false.

Yeni bir onay işareti geldiğinde, bu Uzman Danışmana ait siparişlerin varlığını kontrol edersiniz. Bir satış emri varsa - sellExist = true, satın alma emriyle aynı. Ardından buyExist = true olup olmadığını kontrol edin - bir satın alma siparişi açmayın. Ayrıca satmak için. Herşey.

Ve hala açık pozisyonların varlığını kontrol edersek, neden fazladan değişkenler var?

Satın Alma için Kontrol Edildi - açık satın alma yok - bir tane açıldı, Satış için işaretlendi - açık satış yok - bir tane açıldı. Neden değişkenler?

 
Artyom Trishkin :

Ve hala açık pozisyonların varlığını kontrol edersek, neden fazladan değişkenler var?

Satın Alma için Kontrol Edildi - açık satın alma yok - bir tane açıldı, Satış için işaretlendi - açık satış yok - bir tane açıldı. Neden değişkenler?

Öyle olabilir. Sadece kafamda, bayrakların referans olarak iletildiği ayrı bir kontrol işlevi olarak sundum. Bu durumda, sürümüm yalnızca bir işlev gerçekleştirir - siparişlerin varlığını kontrol etmek ve + açmayı kontrol etmemek. Programı genişletmek daha kolay olacaktır. Kısacası - bir işlev - bir eylem.
 
Artyom Trishkin :

Ve hala açık pozisyonların varlığını kontrol edersek, neden fazladan değişkenler var?

Satın Alma için Kontrol Edildi - açık satın alma yok - bir tane açıldı, Satış için işaretlendi - açık satış yok - bir tane açıldı. Neden değişkenler?

OrderTotal tarzında bir şey olacağını düşündüm. ve sonra bir bereborka yapmanız gerekiyor? ve reçete işlevi? sipariş tanıma?
 
le0nid2014 :
OrderTotal tarzında bir şey olacağını düşündüm. ve sonra bir bereborka yapmanız gerekiyor? ve reçete işlevi? sipariş tanıma?
Aşırıya kaçmadan nasıl? Aynı anda bir sürü Uzman Danışmandan bir sürü sembole kadar birçok siparişiniz olabilir... Uzman Danışmanınızın sadece kendi siparişlerini işlemesini ister misiniz?
 
Tapochun :
Öyle olabilir. Sadece kafamda, bayrakların referans olarak iletildiği ayrı bir kontrol işlevi olarak sundum. Bu durumda, sürümüm yalnızca bir işlev gerçekleştirir - siparişlerin varlığını kontrol etmek ve + açmayı kontrol etmemek. Programı genişletmek daha kolay olacaktır. Kısacası - bir işlev - bir eylem.

Peki, bir şeyi kontrol etmek, bir bayrak döndüren birişlev çağrısıdır :

if(!Function_of_checking_if_a_position(sembol, OP_BUY,sihir)) Function_opening_position(sembol, OP_BUY,Lots,stop_loss,take_profit,sihir,yorum);
if(!Function_of_checking_position_existence(sembol, OP_SELL,sihir)) Function_opening_position(sembol, OP_SELL,Lots,stop_loss,take_profit,sihir,yorum);

 
le0nid2014 :
OrderTotal tarzında bir şey olacağını düşündüm. ve sonra bir bereborka yapmanız gerekiyor? ve reçete işlevi? sipariş tanıma?
Doğal olarak sembol, tür ve sihir ile kullanılabilen bir piyasa emri arayın ve arama sonucunu döndürün: doğru - evet, yanlış - hayır.
 
new-rena :
böyle bir fonksiyon yok mu?
Şey, "inklüzyonlar olmadan" derken bir hata oldu, bu fonksiyon sadece Trade.mqh dahil kutusunda.
 
Tapochun :
Aşırıya kaçmadan nasıl? Aynı anda bir sürü Uzman Danışmandan bir sürü sembole kadar birçok siparişiniz olabilir... Uzman Danışmanınızın sadece kendi siparişlerini işlemesini ister misiniz?

ana robota ilk eklenen kişidir. danışmanın görevi, 2 siparişi her zaman her iki yönde de açık tutmaktır (ana robot onları alır, ancak ana robotun kendisi başlayamaz. ve ana siparişin yönlerinden birini bitirdiğinde, onu kapatır) ve daha sonra bu danışman yine varantın olmadığı piyasanın o yönünde bir emir açmalıdır.

sadece buna bir anlaşma açmak için koşulları eklemeniz gerekiyor


dış çift Lot = 1.00;

harici int MagicNumb = 698541; // Büyü


int başlangıç()

{


if ( OrdersTotal() == 0 && ********** )

OrderSend("USDCHF",OP_BUY,Lots,Ask,0,0,0,"5891",MagicNumb,0,Red);


if (OrdersTotal() == 0 && ***********)

OrderSend("USDCHF",OP_SELL,Lots,Bid,0,0,0,"58892",MagicNumb,0,Red);


}

 
le0nid2014 :
ana robota ilk eklenen kişidir. danışmanın görevi, 2 siparişi her zaman her iki yönde de açık tutmaktır (ana robot onları alır, ancak ana robotun kendisi başlayamaz. ve ana siparişin yönlerinden birini bitirdiğinde, onu kapatır) ve daha sonra bu danışman yine varantın olmadığı piyasanın o yönünde bir emir açmalıdır.
İki danışman aynı büyüye sahip olmalıdır. Ve aynı enstrümanın farklı çizelgelerinde başlatılmalıdırlar. Genel olarak, elbette, ana olanı değiştirmek, diğerini çitle çevirmekten daha kolaydır.
Neden: