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

 
Merhaba!
 //+------------------------------------------------------------------+
//|                                               Indicator_MACD.mq4 |
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+
// Modify Vinin
#property copyright ""
#property link       ""

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int        Fast_EMA= 13 ;
extern int        Slow_EMA= 21 ;
extern double     N = 0.001221 ;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double MACD[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers( 3 );
   SetIndexStyle( 0 , DRAW_ARROW , EMPTY, 3 );
   SetIndexArrow( 0 , 233 );
   SetIndexBuffer ( 0 ,ExtMapBuffer1);
   SetIndexEmptyValue( 0 , 0.0 );
   SetIndexStyle( 1 , DRAW_ARROW , EMPTY, 3 );
   SetIndexArrow( 1 , 234 );
   SetIndexBuffer ( 1 ,ExtMapBuffer2);
   SetIndexEmptyValue( 1 , 0.0 );
   SetIndexBuffer ( 2 ,MACD);
   
//----
   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;
      MACD[i]= iMACD ( NULL , 0 ,Fast_EMA,Slow_EMA, 1 , 1 ,MODE_MAIN, i);
       if (((MACD[i]-N)*(MACD[i+ 1 ]-N)< 0 ) || ((MACD[i]+N)*(MACD[i+ 1 ]+N)< 0 ))
      {
       if ( MACD[i] <-N) ExtMapBuffer2[i] = High[i]+ iATR ( Symbol (), 0 , 14 , i);
       if ( MACD[i] > N) ExtMapBuffer1[i] = Low[i] - iATR ( Symbol (), 0 , 14 , i); 
      }
   }
   return ( 0 );
}
//+------------------------------------------------------------------+
Gösterge kodunu veriyorum (VININ yardımıyla düzeltildi ve değiştirildi - ona çok teşekkürler).
Her şey yolunda, her şey açık görünüyor ....... Biraz yeniden yapmak istedim. İMKANI YOK. Buradaki fikir, MACD'nin aşağıdan büyümeye başlamasıdır (TÜM değerleri N değerinden küçüktür) ve burada BAY oku ayarlanır,
SHEL için sırasıyla, tersi. Ticaret koşullarını değiştirmeye çalıştım (değerleri < olarak değiştirdim > işe yaramadı). MACD büyümeye başlarsa (negatif), o zaman okun göründüğü an ticaret koşuluyla çakışıyorsa, şöyle düşündüm. Doğru görünüyor ...... AMA ATIŞÇI HEMEN GÖRÜNDÜ ...........
Lütfen söyle!!!!!!!!!!!!!!!
 
Swetten >> :
Есть МАКД с параметрами 9 и 12.

Верно ли, что он показывает разницу между МА с периодами 9 и 12? А то у меня какой-то разбег в цифрах.

MA ve MACD'de ma_method, application_price arasındaki yazışmayı kontrol edin.

 
Lütfen söyle!
Tüm MACD değerleri tek boyutlu bir MACD[] dizisinde bulunur, bunları gruplar halinde (her 10 öğede bir) yüksekler ve düşükler için kontrol etmek ve bir hindide çizmek istiyorum.
İşte kod:
 for (i= 0 ; i<limit; i=i+ 10 )
       {
         int k = i;
         for (k=i; k<i+ 10 ; k++)
             {       
              x10[k] = MACD[k];  
             }
         int maxValueIdx= ArrayMaximum (x10);
         int minValueIdx= ArrayMinimum (x10);    
         MAX[k] = maxValueIdx;
         MIN[k] = minValueIdx;
       }
Neden çizilmiyor?
 
Noterday писал(а) >>
Lütfen söyle!
Tüm MACD değerleri tek boyutlu bir MACD[] dizisinde bulunur, bunları gruplar halinde (her 10 öğede bir) yüksekler ve düşükler için kontrol etmek ve bir hindide çizmek istiyorum.
İşte kod:
Neden çizilmiyor?


x10 dizisinin boyutu nedir?

on?
O zaman şu şekilde yeniden yazmanız gerekir:

 for (i= 0 ; i<limit; i+= 10 )
       {
         int k;
         for (k= 0 ; k< 10 ; k++)
             {       
              x10[k] = MACD[i+k];  
             }
         int maxValueIdx= ArrayMaximum (x10);
         int minValueIdx= ArrayMinimum (x10);    
         MAX[i] = maxValueIdx;
         MIN[i] = minValueIdx;
       }
ve MAX ve MIN dizilerinde tam olarak ne almak istediğiniz belli değil
 
Durum şu, orderSend kullanarak emir açıyorum, orderClose ile kapatıyorum, 0,5 lot....yarısını kapatıp başka bir biletle yeni bir emir açıyor, yeni olanın biletini nasıl hızlıca alabilirim açık sipariş?
 
Xors писал(а) >>
Durum şu, orderSend kullanarak emir açıyorum, 1 lot, orderClose ile kapat, 0,5 lot....yarısını kapatıp başka bir biletle yeni bir emir açıyor, yeni bir bilet nasıl hızlı bir şekilde alabilirim açık sipariş?


imkanı yok.
açık ve bekleyen emirler arasında yalnızca kaba kuvvet araması.

 
baltik писал(а) >>

lot=UseLots();
if (lots==0) ​dönüş(0);
i=OrderSend(Symbol(),OP_BUY,UseLots(),NormalizeDouble(Sor, Digits),slippage,Ask-StopLoss*Puan,Ask+TakeProfit*Puan,EA,magic,0,Mavi);

lot=UseLots();
if (lots==0) ​dönüş(0);
i=OrderSend(Symbol(),OP_SELL,UseLots(),NormalizeDouble(Bid, Digits),slippage,Bid+StopLoss*Point,Bid-TakeProfit*Puan,EA,magic,0,Red);

10 siparişten 1'inde veya farklı şekillerde 25'ten 3'ünde 4107 hatası Test cihazında bir hata var


Ve kaymanın değeri nedir ve 5 veya 4 ondalık basamaklı tırnak işaretleri nelerdir.
 
granit77 >> :

MA ve MACD'de ma_method, application_price arasındaki yazışmayı kontrol edin.

Çoktan. Orada MA 12 yerine 120'ye sahipti. Şaşırdım! :)

 
Bir siparişin para birimi nasıl bulunur? ( gelecek için )
 
Noterday писал(а) >>
Lütfen söyle!
Tüm MACD değerleri tek boyutlu bir MACD[] dizisinde bulunur, bunları gruplar halinde (her 10 öğede bir) yüksekler ve düşükler için kontrol etmek ve bir hindide çizmek istiyorum.
İşte kod:
Neden çizilmiyor?
 ArrayResize (MAX, Bars );
ArrayResize (MIN, Bars );
int k= 1 ;
for (i= 0 ; i<limit; i++)
       {
        MACD[i]= trali vali;
         if (i== 10 *k){k++;
           for ( int r= 0 ; r< 10 ; r++)
          MAX[r]=MACD[ ArrayMaximum (MACD, 10 ,i- 10 )];
         
           for ( int r= 0 ; r< 10 ; r++)
          MIN[r]=MACD[ ArrayMinimum (MACD, 10 ,i- 10 )];
         }
       }
Ancak başlangıç noktasına bağlanmanız gerekiyor!