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

 
SanNneK :
Söyle bana, tablo en az bir puan düşerse, tüm siparişler kapatıldıysa durum nedir?
Koşuldan küçük veya eşit. onInit'te, teklif fiyatını global bir değişkene atarsınız. Ontik durumda, teklif global değişkene eşit veya daha küçükse, gecikmeleri kapatır. Aksi takdirde, global değişken teklife eşittir.
 
iyi akşamlar. Lütfen bana sadece açık olan tüm işlemlerin acil kapatma kodunu söyleyin.
 
Lütfen söyleyin bana, istediğim tüm pozisyonları aynı anda nasıl kapatabilirim??
 

Tüm açık anlaşmaları (MQL4) şu şekilde kapatabilirsiniz:

 for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
   {
   if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES) && OrderType()<=OP_SELL)
      {
      OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),( int ) SymbolInfoInteger (OrderSymbol(), SYMBOL_SPREAD ),OrderType()==OP_SELL? clrRed : clrBlue );
      }
   }
Ve eğer seçici olarak istiyorsanız, o zaman seçim koşulunu tanımlamanız gerekir.
 
Ö.
 
Aleksei Stepanenko :

Tüm açık anlaşmaları (MQL4) şu şekilde kapatabilirsiniz:

Ve eğer seçici olarak istiyorsanız, o zaman seçim koşulunu tanımlamanız gerekir.

teşekkürler

 
Igor Makanu :

2020.09.13 08:33:57.508 tst (EURUSD,H1) v1 = 1

2020.09.13 08:33:57.508 tst (EURUSD,H1) v2 = 1.01

2020.09.13 08:33:57.508 tst (EURUSD,H1) v3=qwerty

2020.09.13 08:33:57.508 tst (EURUSD,H1) v4 = 3.1415

2020.09.13 08:33:57.508 tst (EURUSD,H1) v5 = 777

2020.09.13 08:33:57.508 tst (EURUSD,H1) v6 = 1

2020.09.13 08:33:57.508 tst (EURUSD,H1) v7=1.01

2020.09.13 08:33:57.508 tst (EURUSD,H1) v8=qwerty

2020.09.13 08:33:57.508 tst (EURUSD,H1) v9 = 3.1415

2020.09.13 08:33:57.508 tst (EURUSD,H1) v10 = 777

2020.09.13 08:33:57.508 tst (EURUSD,H1) v11 = Değer_11

Çağrıldığında her şeyin belirtilmemesi için şablon işlevinde önceden tanımlanmış değişkenler yapmak mümkün mü? Tüm değişkenleri belirtmezseniz, basit bir atama aynı şekilde bir hata verir.

 #define PRINT(VAL) Print ( #VAL, " = " ,VAL)
template < typename T1, typename T2, typename T3, typename T4, typename T5,
           typename T6, typename T7, typename T8, typename T9, typename T10, typename T11>
void func(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5,
          T6 v6, T7 v7, T8 v8, T9 v9, T10 v10,T11 v11 ="" )//не помогло, но ошибку не вызвало
{
   string s1 = ( string ) v1; PRINT(v1);
   string s2 = ( string ) v2; PRINT(v2);
   string s3 = ( string ) v3; PRINT(v3);
   string s4 = ( string ) v4; PRINT(v4);
   string s5 = ( string ) v5; PRINT(v5);
   string s6 = ( string ) v6; PRINT(v6);
   string s7 = ( string ) v7; PRINT(v7);
   string s8 = ( string ) v8; PRINT(v8);
   string s9 = ( string ) v9; PRINT(v9);
   string s10 = ( string ) v10; PRINT(v10);
   string s11 = ( string ) v11; PRINT(v11);
   
   printF( v1,  v2,  v3,  v4,  v5,  v6,  v7,  v8, v9,  v10, v11); // не получается, дает несоответствие типов.
   
}
//+------------------------------------------------------------------+
void OnStart ()
{
   func( 1 , 1.01 , "qwerty" , 3.1415 f, 777 , 1 , 1.01 , "qwerty" , 3.1415 f, 777 , "" ); // любой тип, но нужно указывать все 
                                                                             //переменные
   printF( 1 , 1.01 , "qwerty" , 3.1415 f, 777 , 1 , 1.01 , "qwerty" , 3.1415 f); //несоответствие типов, но можно не все 
                                                                         //переменные указывать
}
//+------------------------------------------------------------------+
void printF( string v1= "" , string v2= "" , string v3= "" , string v4= "" , string v5= "" ,
           string v6= "" , string v7= "" , string v8= "" , string v9= "" , string v10= "" , string v11= "" )
{
Print ( v1,  v2,  v3,  v4,  v5,  v6,  v7,  v8, v9,  v10, v11);
}
Документация по MQL5: Предопределенные переменные
Документация по MQL5: Предопределенные переменные
  • www.mql5.com
Для каждой выполняющейся mql5-программы поддерживается ряд предопределенных переменных, которые отражают состояние текущего ценового графика на момент запуска программы - эксперта, скрипта или пользовательского индикатора. Значение предопределенным переменным устанавливает клиентский терминал перед запуском mql5-программы на выполнение...
 
Valeriy Yastremskiy :

Bir şablon işlevinde önceden tanımlanmış değişkenler yapmak mümkün müdür?

izin verilmedi

Şablonların nasıl çalıştığını açıklayamam.... peki, nasıl - böyle bir işleve bir çağrı gelene kadar, derleyici bunun varlığı hakkında hiçbir şey bilmez (çoğu zaman eğer yoksa derleme hatası bile yoktur). aramak)

o zaman böyle bir şablon işlevi çağırırsınız ve derleyici gerekli türleri değiştirir ve ancak o zaman her şeyin doğru çalışıp çalışmadığını kontrol eder.

ve sonra başka tür parametrelerle başka bir şablon çağrısı yaparsınız - ve derleyici yeni bir işlev oluşturur, yani. bir tane daha, yani aslında, aynı şeyi 2 kez, ancak farklı türde parametrelerle 2 fonksiyon yazmışsınız gibi


eee böyle)))



UPD:

yapabilirsiniz, ancak şablondaki türler eşleşirse, işte bir örnek, düzgün çalışıyor:

 template < typename T1, typename T2>
int myfunc(T1 val1= 0 , T2 val2= 0 )
{
   return (( int ) (val1 + val2));
}

//+------------------------------------------------------------------+
void OnStart ()
{
   int i1 = 2 , i2 = 3 ;
   Print (myfunc(i1, i2));
   double d1 = 10.0 , d2 = 30.0 ;
   Print (myfunc(d1, d2));
}
//+------------------------------------------------------------------+
 
Igor Makanu :

izin verilmedi

Şablonların nasıl çalıştığını açıklayamam.... peki, nasıl - böyle bir işleve bir çağrı gelene kadar, derleyici bunun varlığı hakkında hiçbir şey bilmez (çoğu zaman eğer yoksa derleme hatası bile yoktur). aramak)

o zaman böyle bir şablon işlevi çağırırsınız ve derleyici gerekli türleri değiştirir ve ancak o zaman her şeyin doğru çalışıp çalışmadığını kontrol eder.

ve sonra başka tür parametrelerle başka bir şablon çağrısı yaparsınız - ve derleyici yeni bir işlev oluşturur, yani. bir tane daha, yani aslında, aynı şeyi 2 kez, ancak farklı türde parametrelerle 2 fonksiyon yazmışsınız gibi


eee böyle)))

Bir giriş parametresinin türünü nasıl biliyorsunuz?

Dize türünü şablona iletirsem ve sonra işlemek istiyorum.

64'e kadar giriş parametresi olabilir, herhangi bir tür karşımıza çıkabilir, tam olarak string nedir nasıl belirlenir?

 
Vladimir Pastushak :

Bir giriş parametresinin türünü nasıl biliyorsunuz?

Dize türünü şablona iletirsem ve sonra işlemek istiyorum.

64'e kadar girdi parametresi olabilir, herhangi bir tür karşımıza çıkabilir, tam olarak string nedir nasıl belirlenir?

tür adı