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

 

İyi günler sevgili uzmanlar.

Lütfen bu konuda tavsiyede bulunun:

MQL4'te fiyatın i-inci çubuktan j-inci çubuk arasındaki aralıkta aldığı maksimum/minimum değeri belirlemenizi sağlayan standart işlevler var mı?

Şimdiden çok teşekkür ederim.

 
Morzh09 :

İyi günler sevgili uzmanlar.

Lütfen bu konuda tavsiyede bulunun:

MQL4'te, fiyatın i-inci çubuktan j-inci çubuk arasındaki aralıkta aldığı maksimum/minimum değeri belirlemenize izin veren standart işlevler var mı?

Şimdiden çok teşekkür ederim.

https://docs.mql4.com/ru/series/iHighest

https://docs.mql4.com/ru/series/iLowest

 
Ve eğer bunu yaparsan
 void CheckForOpen() { 

//

s= 0 ;
     t_up=icustom(.........................);
     if (t_up== 1 )
        {
          s= 1 ;
          for (k= 0 ;k< 10 ;k++)             //количество раз проверки
            {
               sleep( 30000 );             //
             //думаю что в этом месте рефреш ????????
               if (t_up== 1 )
                    s= 1 ;
                else
                    {
                       s= 0 ;
                       break ;
                    }
             }
           if (s== 1 )op= "buy" ;
        }
      else
        {
          s= 0 ;
          break ;
        }
return ;
}
Yenilemeyi nereye eklemeniz gerekiyor. Ve soru şu ki, Sleepa kullanmanın sonuçları nelerdir?
 
gince :
Ve bunu yaparsanız, bir yenileme eklemeniz gerekir. Ve soru şu ki, Sleepa kullanmanın sonuçları nelerdir?

Test cihazında uyku çalışmıyor .

Neden her keneyi kontrol etmek sizin için uygun değil? İndüktör "ağır" mı?

 

İyi günler, sevgili uzmanlar! MOL4'te programlama öğreniyorum. Şu koşulu nasıl doğru bir şekilde yazacağımı bulamıyorum: "Sat emirlerinden daha fazla satın alma emri varsa." Lütfen yardım et.

 
fanat :

İyi günler, sevgili uzmanlar! MOL4'te programlama öğreniyorum. "Satış emirlerinden daha fazla alım emri varsa" koşulunu nasıl doğru bir şekilde yazacağımı bulamıyorum. Lütfen yardım et.

Açık? Kapalı? Market? Ertelenen?
Bir fark var.
 
fanat :

İyi günler, sevgili uzmanlar! MOL4'te programlama öğreniyorum. Şu koşulu nasıl doğru bir şekilde yazacağımı bulamıyorum: "Sat emirlerinden daha fazla satın alma emri varsa." Lütfen yardım et.


1. Birinci türdeki siparişlerin sayısını sayın

2. İkinci tipteki siparişlerin sayısını sayın

3. Sonuçları karşılaştırın

 extern int Magic= 20100906 ;
//+------------------------------------------------------------------+
//|     Массив для хранения количества открытых позиций каждого типа |
//|                                Copyright © 2010, Victor Nicolaev |
//|                                            e-mail: vinin@mail.ru |
//+------------------------------------------------------------------+
//| int Order_Count[6];                                              |
//+------------------------------------------------------------------+
int Order_Count[ 6 ];

//+------------------------------------------------------------------+
//|       Функция возвращаюшая количество ордеров определенного типа |
//|                                   исхода из заданных ограничений |
//|                                Copyright © 2010, Victor Nicolaev |
//|                                            e-mail: vinin@mail.ru |
//+------------------------------------------------------------------+
//| int Order_Count_Calculate(string lSymbol, int lMagic, int lOP=-1)|
//+------------------------------------------------------------------+
int Order_Count_Calculate( string lSymbol, int lMagic, int lOP=- 1 ){
   ArrayInitialize (Order_Count, 0 );
   for ( int i = OrdersTotal () - 1 ;  i >= 0 ;  i--) {
       if (! OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) continue ;
       if (OrderSymbol() != lSymbol)                   continue ;
       if (OrderMagicNumber() != lMagic)                 continue ;
      Order_Count[OrderType()]++;
   }
   if (lOP!=- 1 ) return (Order_Count[lOP]);
   return ( 0 );
}

int start(){
   Order_Count_Calculate( Symbol (), Magic);
   if (Order_Count[OP_BUY]>Order_Count[OP_SELL])
   // Ваши действия
   return ( 0 );
}

 

Merhaba!!!

Oklarla basit bir gösterge. Dün ve bu şekilde ve bu şekilde .... hiçbir şekilde ... Bugün taze bir zihinle düşündüm, hala hatayı görmüyorum .....

EVET, HİÇBİR ŞEY ÇİZMİYOR !!!!! Lütfen bana nerede yanlış yaptığımı söyleyin....

 //+------------------------------------------------------------------+
//|                                         Indicator_OsMA_Stoch.mq4 |
//|                                                                  |
//|           огромное cпасибо за помощь Vinin и granit77            |
//+------------------------------------------------------------------+
#property copyright ""
#property link       ""

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
//---- input parameters
extern int        Fast_EMA= 8 ;       // пар-ры OsMA
extern int        Slow_EMA= 34 ;     // пар-ры OsMA
extern int        Signal_EMA= 1 ;     // пар-ры OsMA
extern double     N = 0.0002 ;       // контр. линия
extern int      KPeriod     = 21 ;   // Период (количество баров) для вычисления линии %K.
extern int      DPeriod     = 5 ;   // Период усреднения для вычисления линии %D.
extern int      Slowing     = 8 ;   // Значение замедления.
extern int        A = 20 ;           // расстояние от бара
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double OsMA[];
double Stoch[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers( 4 );
   SetIndexStyle( 0 , DRAW_ARROW , EMPTY, 1 );
   SetIndexArrow( 0 , 234 );
   SetIndexBuffer ( 0 ,ExtMapBuffer1);
   SetIndexEmptyValue( 0 , 0.0 );
   SetIndexStyle( 1 , DRAW_ARROW , EMPTY, 1 );
   SetIndexArrow( 1 , 233 );
   SetIndexBuffer ( 1 ,ExtMapBuffer2);
   SetIndexEmptyValue( 1 , 0.0 );
   SetIndexBuffer ( 2 ,OsMA);
   SetIndexBuffer ( 3 ,Stoch);
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int     counted_bars=IndicatorCounted();
   int limit = Bars -counted_bars- 1 ;
   
   for ( int i = limit; i>= 0 ; i--) {
      ExtMapBuffer2[i] = EMPTY;
      ExtMapBuffer1[i] = EMPTY;
      OsMA[i]= iOsMA ( NULL , 0 ,Fast_EMA,Slow_EMA,Signal_EMA, PRICE_OPEN ,i);
      Stoch[i]= iStochastic ( NULL , 0 ,KPeriod,DPeriod,Slowing, 1 , 0 ,MODE_MAIN,i);
       if (true                &&
        (OsMA[i]>OsMA[i+ 1 ])  ||
        (OsMA[i]<OsMA[i+ 1 ])  &&
        (Stoch[i+ 1 ]>Stoch[i])||
        (Stoch[i+ 1 ]<Stoch[i])
        )
      {
       if ((OsMA[i]<-N)&&(Stoch[i]< 20 )) ExtMapBuffer2[i] = Low[i] -A* Point ;
       if ((OsMA[i]> N)&&(Stoch[i]> 80 )) ExtMapBuffer1[i] = High[i]+A* Point ; 
      }
   }
   return ( 0 );
}
//+------------------------------------------------------------------+ 
 
Bana yardım et lütfen. Bekleyen birkaç sipariş var (örneğin 10). Bunlardan biri açılır ve tetiklenir (alma veya kaybetme fark etmez). Bir sonraki bekleyen sipariş, bir sonraki onay işaretine yerleştirilmelidir. Bilet veya sihirle emirleri belirlemek zordur (çalışabilecek pozisyonların sayısı sınırlı değildir). Bu nedenle, bir gecikme ayarlamak için zamanı seçmenin en kolay yolunun, zaten kapalı pozisyonların değişkenlerinin (ne olursa olsun) son ve sondan bir önceki değerlerini karşılaştırmak olduğuna karar verdim. Teşekkür ederim!
 
dimon74 :
Bana yardım et lütfen. Bekleyen birkaç sipariş var (örneğin 10). Bunlardan biri açılır ve tetiklenir (alma veya kaybetme fark etmez). Bir sonraki bekleyen sipariş, bir sonraki onay işaretine yerleştirilmelidir. Bilet veya sihirle emirleri belirlemek zordur (çalışabilecek pozisyonların sayısı sınırlı değildir). Bu nedenle, bir gecikme ayarlamak için zamanı seçmenin en kolay yolunun, zaten kapalı pozisyonların değişkenlerinin (ne olursa olsun) son ve sondan bir önceki değerlerini karşılaştırmak olduğuna karar verdim. Teşekkür ederim!

Bir dahaki sefere ne değişecek?