[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 404

 
Vinin писал(а) >>

Kavşağı farklı şekilde kontrol etmek daha kolay ve hızlıdır

İşin hızı daha yüksektir. Mantıksal karmaşık ifadeler, basit olanlardan daha uzun süre yürütülür. Çarpma Boole'dan daha hızlıdır

Teşekkürler Vinin, peki ya işlem sayısı, MA'yı geçtikten sonra sadece 1.2...N olduğunu yazmak mümkün mü?

 
Vinin >> :

Kavşağı farklı şekilde kontrol etmek daha kolay ve hızlıdır

İşin hızı daha yüksektir. Mantıksal karmaşık ifadeler, basit olanlardan daha uzun süre yürütülür. Çarpma Boole'dan daha hızlıdır

başka bir seçenek, ama bence soru soran bunu henüz anlamadı

 
Stanislav.exe писал(а) >>

Teşekkürler Vinin, peki ya işlem sayısı, MA'yı geçtikten sonra sadece 1.2...N olduğunu yazmak mümkün mü?

Görünüşe göre giriş için ek koşulları dikkate almanız gerekiyor.

Ve açık pozisyonların sayısını sayın.

Ama bunun geçişle pek ilgisi yok.

Çünkü belki bir durumda sadece bir sinyal vardı, ikinci 10'da.

Ancak önce ek bir giriş için koşullara karar vermelisiniz.

 
Vinin писал(а) >>

Görünüşe göre giriş için ek koşulları dikkate almanız gerekiyor.

Ve açık pozisyonların sayısını sayın.

Ama bunun geçişle pek ilgisi yok.

Çünkü belki bir durumda sadece bir sinyal vardı, ikinci 10'da.

Ancak önce ek bir giriş için koşullara karar vermelisiniz.

Tamam, daha derine inmeye çalışacağım, yardımları için Vilin ve sanyoooooook'a çok teşekkürler .

 

double Lots;
double m = 0.1;


for (m = 0.1; AccountFreeMarginCheck(Symbol(),OP_SELL,m)>150; m = m + 0.1)
{
Lots = m;
}

Neden Lotlarım her zaman sıfır çıkıyor?

 
Noterday >> :

double Lots;
double m = 0.1;


for (m = 0.1; AccountFreeMarginCheck(Symbol(),OP_SELL,m)>150; m = m + 0.1)
{
Lots = m;
}

Neden Lotlarım her zaman sıfır çıkıyor?


Ve döngü yürütülür veya bir koşul altında hemen çıkar mı?

https://docs.mql4.com/en/basis/operators/for

İfade1, döngü başlatmayı açıklar. Expression2 - döngü sonlandırma koşulunun kontrol edilmesi. Doğruysa, for döngüsü gövde ifadesi yürütülür. İfade2 yanlış olana kadar her şey tekrarlanır. Yanlış ise döngü biter ve kontrol bir sonraki ifadeye geçer. Expression3, her yinelemeden sonra değerlendirilir.
for(ifade1; ifade2; ifade3)
Şebeke;

 
Görünüşe göre hemen çıkıyor ... Döngüye bir uyarı ekledim - nifiga nirazu ...
 

İyi akşamlar. Terminalde bir sorun oluştu, hiçbir şekilde çözemiyorum:

MT4'ü yüklüyorum, şablonu yüklüyorum, trend çizgileri çiziyorum ve TF'yi değiştirdiğimde çizgiler kayboluyor, dahil. orijinal zaman aralığında da görüntülenmez. Aynı zamanda, grafiklerin geri kalanı (yatay, dikey çizgiler , kanallar, tüm fibolar vb.) iyi çalışıyor. Temiz ("şablon olmayan") bir grafikte, etiketleme tamamen korunur, aynı hindilerde her şey daha önce iyi çalıştı. Danışmanlar, uzmanlar devre dışı. Çoğunlukla programa göre çalışıyorum, bana yardım et !!!

 

Merhaba,

Danışmanın anlaşmayı 3 dakikadan daha erken kapatmaması nasıl sağlanır?

Birisi bana neyi ve nerede reçete yazacağımı söyleyebilir mi?

 
Vinin писал(а) >>

Mantıkla başlamalısın. Ne ve nasıl almak istersiniz.

Eh, mantık yorumlarda boyanmış gibi görünüyor ...

İadeleri kaldırdım ve şöyle çıktı:

 //попытка сделать функцию: отключение всех  индикаторов и разрешение только Бай или Селл в зависимости от того, 
//что закуплено, когда баланс снижается на заданный процент
//второй вариант:

bool fOffInd ( ) {
int i , b , s ;
   if ( UT_AutoOf = = 1 ) {
   //если баланс снизился на LossIndikator процентов
       if ( gProfit < = ( ( - 1.0 ) * LossIndikator * AccountBalance ( ) ) / 100.0 ) {
           Print ( "Включен автореверс UT_!" ) ;
          UT_ON = 0 ; //выключатель индикатора, 0-контроль отключен
          VRF_ON = 0 ; //выключатель индикатора, 0-контроль отключен
     //выбираем открытые ордера Бай       
   for ( i = 1 ; i < = OrdersTotal ( ) ; i + + ) {         
       if ( OrderSelect ( i - 1 , SELECT_BY_POS ) = = true ) {    
           if ( OrderType ( ) = = OP_BUY & & OrderSymbol ( ) = = Symbol ( ) ) { b = b + 1 ; }
           }    
         }
   //выбираем открытые ордера Селл     
   for ( i = 1 ; i < = OrdersTotal ( ) ; i + + ) {         
       if ( OrderSelect ( i - 1 , SELECT_BY_POS ) = = true ) {    
           if ( OrderType ( ) = = OP_SELL & & OrderSymbol ( ) = = Symbol ( ) ) { s = s + 1 ; }
           }    
         }
   //если открытых Бай больше чем Селл, то включаем запрет торговли Бай     
       if ( s > = b ) { CloseAllBuyNow   = true ;
        MaxCount = b ;
         Print ( "Автореверс. Работаем только Селл!" ) ;
           }
       else {
   //если открытых Селл больше чем Селл, то включаем запрет торговли Селл    
       if ( b > = s ) { CloseAllSellNow = true ;
        MaxCount = s ;
         Print ( "Автореверс. Работаем только Бай!" ) ;
             }
           }
           return ( false ) ;
         }
       }
       else {
       //все индикаторы должны быть включены и запрет на Бай и Селл снят
          UT_ON = 1 ;
          VRF_ON = 1 ;
          CloseAllBuyNow   = false ;
          CloseAllSellNow = false ;
     }
   return ( 0 ) ;     
} 
İşe yarıyor gibi görünüyor, kod ne kadar doğru yazılmış - bilmiyorum ... Bir şeyler yanlışsa - biri düzeltebilir mi?
Neden: