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

 
novichok2018 :

Merhaba! Durumun çözülmesine yardımcı olun: Konum 1'i Y1 koşuluna göre açarım , Y2 koşuluna göre kapatırım. Ancak U2'nin başlangıcından önce, U1 tekrar oluşur ve 2. konum açılırsa, yaklaşan U2'ye tepki vermez, ancak bir sonraki U2'ye kadar, ayrıca yeni U1'den (!) sonra askıda kalırsa ve bu yeni konum artık yeni U2 tarafından kapatılır, ancak U1-U2 koşulundan sonra bekler. Nasıl önlenir? Kafa şişmiş. Teşekkür ederim.

Y2 koşuluna göre tüm siparişlerin OrderClose(...)'unu kapatmak için bir döngüye ihtiyacımız var - en az 100 tanesini aç. Her bir onay işaretini birer birer silebilirsiniz - ardından şöyle: 1) Y2 koşuluna göre bayrağı kaldırın. 2) Bayrak kaldırılırsa - BİR siparişi silin. 3) Emir yoksa bayrağı indir. Sonra tüm siparişler birbiri ardına silinecek....

 
STARIJ :

Y2 koşuluna göre tüm siparişlerin OrderClose(...)'unu kapatmak için bir döngüye ihtiyacımız var - en az 100 tanesini aç


Benim de bir döngüm var. onla ilgili yanlış bir şey mi var?

 void ClosePoz()
  { int total= OrdersTotal ();
   if (total> 1 )
   {
       for ( int i= 0 ;i< OrdersTotal ();i++)
      {
       if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )== false ) 
      { Print ( "позиция для закрытия не найдена" );
         break ;
      }
       if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))
         { double WPR0 = iWPR ( NULL , PERIOD_M5 ,bars, 0 );
         if ( OrderType ()== OP_BUY && MathAbs (WPR0)> 80 )
           OrderClose ( OrderTicket (), OrderLots (), NormalizeDouble ( MarketInfo ( OrderSymbol (), MODE_BID ), int ( MarketInfo ( OrderSymbol (), MODE_DIGITS ))),slippage, clrNONE );                  
         }
      }
    } 
  }   
 
novichok2018 :
Benim de bir döngüm var. onla ilgili yanlış bir şey mi var?
Anlamadım - kodu eklemek için SRC kullandım, ancak göremiyorum.
orada Ekle'yi ve ardından Ekle'yi tıklamanız gerekir.
 
STARIJ :
orada Ekle'yi ve ardından Ekle'yi tıklamanız gerekir.

Yukarıda gerekli olduğu yerde olmasa da okunabilir durumda. Ö! Ve şimdi nereye. Harikalar!

 
novichok2018 :

Kodunuzu doğru yapıştırdım.

Önce SRC butonuna basın, ardından kodunuzu pencereye yapıştırın, "Ekle" butonuna basın ve mesajınızı gönderin.

 
tura210577 :

Cevap için teşekkürler!

Benim için zevkti. Bu çoklu platform özelliklerini deneyin:

 //+------------------------------------------------------------------+
//| Returns specified Open by shift                                  |
//+------------------------------------------------------------------+
double Open ( const string symbol_name, const ENUM_TIMEFRAMES timeframe, const int shift)
  {
   double array[];
   if ( CopyOpen (symbol_name,timeframe,shift, 1 ,array)== 1 ) return array[ 0 ];
   return 0 ;
  }
//+------------------------------------------------------------------+
//| Returns specified High by shift                                  |
//+------------------------------------------------------------------+
double High ( const string symbol_name, const ENUM_TIMEFRAMES timeframe, const int shift)
  {
   double array[];
   if ( CopyHigh (symbol_name,timeframe,shift, 1 ,array)== 1 ) return array[ 0 ];
   return 0 ;
  }
//+------------------------------------------------------------------+
//| Returns specified Low by shift                                   |
//+------------------------------------------------------------------+
double Low ( const string symbol_name, const ENUM_TIMEFRAMES timeframe, const int shift)
  {
   double array[];
   if ( CopyLow (symbol_name,timeframe,shift, 1 ,array)== 1 ) return array[ 0 ];
   return 0 ;
  }
//+------------------------------------------------------------------+
//| Returns specified Close by shift                                 |
//+------------------------------------------------------------------+
double Close ( const string symbol_name, const ENUM_TIMEFRAMES timeframe, const int shift)
  {
   double array[];
   if ( CopyClose (symbol_name,timeframe,shift, 1 ,array)== 1 ) return array[ 0 ];
   return 0 ;
  }
//+------------------------------------------------------------------+
//| Returns specified Time by shift                                  |
//+------------------------------------------------------------------+
datetime Time ( const string symbol_name, const ENUM_TIMEFRAMES timeframe, const int shift)
  {
   datetime array[];
   if ( CopyTime (symbol_name,timeframe,shift, 1 ,array)== 1 ) return array[ 0 ];
   return 0 ;
  }
//+------------------------------------------------------------------+
 
novichok2018 : Zaten bir döngüm var. onla ilgili yanlış bir şey mi var?

Kodda 2 hata var. 1) Bu sayfa , siparişlerin bir döngüde nasıl görüntüleneceğini açıklar. 2) break - döngüden çık, ama devam et - bunu atla

 
Artyom Trishkin :

Kodunuzu doğru yapıştırdım.

Önce SRC butonuna basın, ardından kodunuzu pencereye yapıştırın, "Ekle" butonuna basın ve mesajınızı gönderin.


Teşekkür ederim. Sayenizde yazdıklarıma bile güldüm. Peki meselenin özü? Döngü doğru mu?

 
novichok2018 :

Teşekkür ederim. Sayenizde yazdıklarıma bile güldüm. Peki meselenin özü? Döngü doğru mu?

Size zaten cevap verildi:

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

MQL4, yardım ve algoritmalar ve kodlar hakkında herhangi bir acemi sorusu

YILDIZ , 2018.01.18 20:19

Kodda 2 hata var. 1) Bu sayfa , siparişlerin bir döngüde nasıl görüntüleneceğini açıklar. 2) break - döngüden çık, ama devam et - bunu atla


 
Artyom Trishkin :

Size zaten cevap verildi:



Evet, teşekkürler, sayfayı okudum. Yalnızca MKL4'teki bilgim, yalnızca benim döngümde konumların sıfırdan sonuncuya ve örnekte tam tersine sondan sıfıra taşındığını fark etmek için yeterliydi. Ve mola nerede araya girecek ve anlamadım. Ve büstümü tersine çevirdiğimde pozisyonlar kapanmayı hiç bıraktı .