MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1527

 
MakarFX :

okumalara dayanarak, göstergeniz için mantık oluşturun

hayır, bu uymuyor.

burada . 1 göstergesi her zaman sayıyı gösterir - 2147483647. sinyal verilir verilmez - arabelleklerden birinde başka bir sayı gösterir. Bunu anladım.

ancak ikinci gösterge aynı anda 2 arabellekte her zaman 0 veya 2147483647 gösterir

Dosyalar:
 
Bunu çözmüş gibi görünüyor. Teoride böyle olmalı
  
     if (in1b< 2147483647 && in2b> 0 && in2b< 2147483647 )
           Sell[i]=low[i];
     if (in1s< 2147483647 && in2s> 0 && in2s< 2147483647 )
            Buy[i]=high[i];
 
jarikn :
Bunu çözmüş gibi görünüyor. Teoride böyle olmalı

bu durumda, ayrıntılara gerek yoktur, yani. sadece >0 ise

 
MakarFX :

bu durumda, ayrıntılara gerek yoktur, yani. sadece >0 ise

ama burada sinyal olmadığında arabelleklerde ne var. >0'ın burada işe yarayacağını sanmıyorum. ama şimdi deneyeceğim

Dosyalar:
 
jarikn :

ama burada sinyal olmadığında arabelleklerde ne var. >0'ın burada işe yarayacağını sanmıyorum. ama şimdi deneyeceğim

sinyal yoksa ilk gösterge EMPTY_VALUE değerine sahiptir

böyle yapmak lazım

   if ( iCustom ( NULL , 0 , "in1" , 1 ,i)> 0 && iCustom ( NULL , 0 , "in1" , 1 ,i)<Bid* 2 && iCustom ( NULL , 0 , "in2" , 0 ,i)> 0 ) // индикатор стрелка вниз

   if ( iCustom ( NULL , 0 , "in1" , 0 ,i)> 0 && iCustom ( NULL , 0 , "in1" , 0 ,i)<Bid* 2 && iCustom ( NULL , 0 , "in2" , 1 ,i)> 0 ) // индикатор стрелка вверх
 

Lütfen bu sorunu test cihazıyla çözmeme yardım edin. CME için test pozisyonu açılması EUR / USD vadeli işlemlerinde

Test cihazında pazarın büyümesi üzerine, kendi durağı ile bir arıza için uzun bir pozisyon açılır, anlaşma # 2 bileti alır. Piyasa yükseldi ve bir sonraki pozisyon kendi durağıyla açıldı, işlem test cihazında 3 numaralı bileti aldı.

Piyasa #3 pozisyonuna karşı hareket edip durduğunda, #3 durmalı ve #2 asılı kalarak fiyatın #2 durağına gelmesini beklemelidir. Ancak bir nedenden dolayı, 3 numaralı durdurma tetiklendiğinde, test cihazı ayrıca 2 numaralı konumu da kapatır.

mql 5 kodu şöyle

 MqlTradeRequest request={};
MqlTradeResult   result={};
                                 
request.action = TRADE_ACTION_DEAL ; //Вход рынку
request.symbol = Symbol ();
request.volume = 1.0 ; //Кол-во фьючей
request.type   = ORDER_TYPE_BUY ; //Купить
request.price  = SymbolInfoDouble ( Symbol (), SYMBOL_ASK );   
request.sl     = NormalizeDouble (sl,5); // Стоп

bool check     = OrderSend (request,result);


 
NastyaMaley :

Lütfen bu sorunu test cihazıyla çözmeme yardım edin. CME için test pozisyonu açılması EUR / USD vadeli işlemlerinde

Pazarın büyümesi üzerine, test cihazında kendi stop'u ile bir koparma için uzun pozisyon açılır, işlem 2 numaradır. Piyasa yükseldi ve bir sonraki pozisyon kendi stop'u ile açıldı, işlem 3 numarada. testçi.

Piyasa #3 pozisyonuna karşı hareket edip durduğunda, #3 durmalı ve #2 asılı kalarak fiyatın #2 durağına gelmesini beklemelidir. Ancak bir nedenden dolayı, 3 numaralı durdurma tetiklendiğinde, test cihazı ayrıca 2 numaralı konumu da kapatır.

mql 5 kodu şöyle


mql 5'i gerçekten anlamıyorum, ancak kapatılacak sipariş seçiminin nereye gittiğini anlamıyorum
 
MakarFX :

sinyal yoksa ilk gösterge EMPTY_VALUE değerine sahiptir

böyle yapmak lazım

Evet kesinlikle. Budur. Çok teşekkürler

 

Görünüşe göre testçinin bu davranışının nedeni belli oldu. Robotun test edildiği demo hesap türü Netleştirme'dir. Bu nedenle, eğer #3 pozisyonunu açarken belirtilen stop tetiklenirse, pozun tüm hacmini kapatacaktır. Bu nedenle, #3'teki durağa göre, açılırken kendisi için ayrı bir durağı olmasına rağmen #2'yi de kapatır.

Hedging hesap türüyle, her şey eski güzel mql4'teki gibi çalışır.

 
NastyaMaley :

Lütfen bu sorunu test cihazıyla çözmeme yardım edin. CME için test pozisyonu açılması EUR / USD vadeli işlemlerinde

Test cihazında pazarın büyümesi üzerine, kendi durağı ile bir arıza için uzun bir pozisyon açılır, anlaşma # 2 bileti alır. Piyasa yükseldi ve bir sonraki pozisyon kendi durağıyla açıldı, işlem test cihazında 3 numaralı bileti aldı.

Piyasa #3 pozisyonuna karşı hareket edip durduğunda, #3 durmalı ve #2 asılı kalarak fiyatın #2 durağına gelmesini beklemelidir. Ancak bir nedenden dolayı, 3 numaralı durdurma tetiklendiğinde, test cihazı ayrıca 2 numaralı konumu da kapatır.

mql 5 kodu şöyle

Ayaklarını kullanmak zorunda değilsin. Duraklar yerine, ters yönde bekleyen emirler verilmelidir.