[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 222

 
Ne oluyor be. İşte FLUD veya hala tematik bir forum. Böyle boş bir tane için, sonsuza kadar yasaklamanız gerekir.
 

Merhaba ben bu soruyu sormuştum zaten çok teşekkür ederim bana cevap verdiler ama kulaktan anlamam zor ve programlama konusunda pek iyi değilim üst gösterge histogramının her SÜREKLİ bloğundaki çubuklar.Böyle bir gösterge yazdım (en alttaki).İçinde, her histogram sütununun değeri, üst göstergenin sürekli bloğundaki çubukların sayısına karşılık gelir, ancak YALNIZCA kurulduğu andan itibaren gösterilmelidir (kırmızı dikey çizgi) Ve önceki çubuklarda da görüntülenmesine ihtiyacım var ( AO veya CCI'yi kurarken olduğu gibi), yani. böylece "resim" ortadaki göstergeye benziyor (bu aynı alt göstergedir, sadece daha önce kurulur) Herhangi bir öneriyi memnuniyetle dinlerim (tercihen kod parçalarıyla) Alt göstergenin kodu ektedir.

 #property indicator_separate_window
#property indicator_minimum - 7
#property indicator_maximum 7
#property indicator_buffers 2
#property indicator_color1 Yellow
#property indicator_color2 DarkOrange
#property indicator_width1   2
#property indicator_width2   2
#property indicator_level1 0.0
//--- buffers
double UpMapBuffer[];
double DnMapBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle( 0 , DRAW_HISTOGRAM );
   SetIndexBuffer ( 0 ,UpMapBuffer);
   SetIndexStyle( 1 , DRAW_HISTOGRAM );
   SetIndexBuffer ( 1 ,DnMapBuffer);
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {   
    
     int i;

     for (i= 1 ;i< Bars ;i++)                                                  
     {
       double AO_Sig_Sig_1 = iCustom ( NULL , 0 , "Signal-Signal" , 0 ,i);                           
       double AO_Sig_Sig_2 = iCustom ( NULL , 0 , "Signal-Signal" , 0 ,i+ 1 );
                  
       if ((AO_Sig_Sig_1!=AO_Sig_Sig_2))
       {
         break ;
        i= 0 ;
       }                                                                
     }
         
    i=i*(AO_Sig_Sig_1); 
            
     if (i> 0 )            
     {
      UpMapBuffer[ 0 ]=i;
     }
     else
     {
      UpMapBuffer[ 0 ]= 0 ;
     } 
         
     if (i< 0 )         
     {
      DnMapBuffer[ 0 ]=i;
     }
     else
     {
      DnMapBuffer[ 0 ]= 0 ;
     }            
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
 
MK07 :

Merhaba ben bu soruyu sormuştum zaten çok teşekkür ederim bana cevap verdiler ama kulaktan anlamam zor ve programlama konusunda pek iyi değilim üst gösterge histogramının her SÜREKLİ bloğundaki çubuklar.Böyle bir gösterge yazdım (en alttaki).İçinde, her histogram sütununun değeri, üst göstergenin sürekli bloğundaki çubukların sayısına karşılık gelir, ancak YALNIZCA kurulduğu andan itibaren gösterilmelidir (kırmızı dikey çizgi) Ve önceki çubuklarda da görüntülenmesine ihtiyacım var ( AO veya CCI'yi kurarken olduğu gibi), yani. böylece "resim" ortadaki göstergeye benziyor (bu aynı alt göstergedir, sadece daha önce kurulur) Herhangi bir öneriyi memnuniyetle dinlerim (tercihen kod parçalarıyla) Alt göstergenin kodu ektedir.

Bunun gibi bir şey mi?

-

 #property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 DodgerBlue
#property indicator_color2 Bisque
#property indicator_width1 2
#property indicator_width2 2
//===============================
double fx1[],fx2[];
double ao,ao1;
int ti,n,fs;
//******************************************************************
int init()
{
   SetIndexBuffer ( 0 ,fx1); SetIndexStyle( 0 , 2 );
   SetIndexBuffer ( 1 ,fx2); SetIndexStyle( 1 , 2 );
   
   SetLevelValue(0,0);
   SetLevelValue(1,10);
   SetLevelValue(2,20);
   SetLevelValue(3,-10);
   SetLevelValue(4,-20);   

   return ( 0 );
}
//******************************************************************
int start()
{
   int cbi= Bars -IndicatorCounted()- 1 ; if (cbi< 0 ) return (- 1 ); 
   if (cbi== 1 ) cbi--;
   if (cbi> 1 ) {cbi= Bars - 37 ; n= 0 ; ti=Time[cbi];}  
   //-------------------------------------------------
   for ( int i=cbi; i>= 0 ; i--) 
   {
       if (ti!=Time[i]) {n++; ti=Time[i];}
      
      ao  = iAO ( NULL , 0 ,i); 
      ao1 = iAO ( NULL , 0 ,i+ 1 ); 
      
       if (ao>ao1) { if (fs== 2 ) n= 1 ; fs= 1 ;} else
       if (ao<ao1) { if (fs== 1 ) n= 1 ; fs= 2 ;}
      
       if (fs== 1 ) {fx1[i]=n;  fx2[i]= 0 ;} else
       if (fs== 2 ) {fx2[i]=-n; fx1[i]= 0 ;}
   } 
   
   return ( 0 );
}
//******************************************************************
 
ANG3110 :

Bunun gibi bir şey mi?

-


Çok teşekkürler! Tam olarak ihtiyacınız olan şey!
 
Merhaba! Lütfen pozisyonun neden açıldığını söyleyin ama stop ve kar yok. Şimdiden teşekkürler!

int başlangıç()
{
double Sl =Düşük[1];
double Tpb =((Yüksek[1]-Açık[1])/Tp)+Açık;
çift bar2b;
if (Açık[2]<Kapat[2])bar2b=(Yüksek[2]-Açık[2]);
çift çubuk1b;
if (Açık[1]<Kapat[1])bar1b=(Yüksek[1]-Açık[1]);
if(bar2b<bar1b) OrderSend (Symbol(),OP_BUY,Lots,Ask,3,Sl,Tpb,"",16384,0,Yeşil);
 
xanzel :

Yardım!!!

basit hareketli ortalama göstergesi

danışmanda belirtildiği şekilde geçerlidir : Önceki Göstergeler Veriler

iMA(BOŞ,0,8,0,MODE_EMA, PRICE_PREVIOU S ,0);


İstenmeyen e. Yeter ayrı konu
 
Vinin :

"Anladığım kadarıyla bu daha yüksek bir yaşam inancıdır" yardımcı olmaktansa bir sürü kelime yazmak daha iyidir.
 
xanzel : "Anladığım kadarıyla bu daha yüksek bir yaşam inancı" yardımcı olmaktansa bir sürü kelime yazmak daha iyidir  
Spam için tek bir ceza vardır - yasak. Yani kayıp bir ruhu kurtarıyorum. Beğenmezsen, her zaman banyoya yardım ederim.
 

beyler iyi akşamlar

Lütfen derleyicinin neden aşağıdaki kodda bunu düşündüğünü söyleyin

değişken int Bilet tanımlı değil.

Tek hata veriyor

'Ticket' - değişken tanımlanmadı C:\Program Files\Alpari NZ MT4(2)\experts\hhhh.mq4 (18, 6)

 int start()



{

 double Price=iOpen ( Symbol (), 0 , 0 );        
 double SL= NormalizeDouble (Price- 3000 * Point , Digits );         
 double TP= NormalizeDouble (Price+ 100 * Point , Digits );
 
 
 #include <OMASS.mq4> //объявление и инициализация массива
 double value =  Bid ; // параметру value функции ArrayBsearch присваивается значение текущей цены
 int S = ArrayBsearch (  massiv[ 43 ],  value, WHOLE_ARRAY ,   0 , MODE_ASCEND) //функция ищет самое близкое к текущей цене значение
 if ( MathAbs ( NormalizeDouble (Bid - S, Digits ))<= 0.5 * Point //если текущая цена отличается от значени возвращенного функцией не более чем 0,5 п.
 if (Bid==Price  )
 int Ticket= OrderSend ( Symbol (),OP_BUY, 0.1 ,Ask, 3 ,SL,TP, "jfh" , 123 ); //открыть ордер       
}





Ticket değişkeni aşağıdaki koddaki atama ifadesinde de tanımlanmış olmasına ve kod başarıyla derlenmesine rağmen

 int start()

{

 double Price=iOpen ( Symbol (), 0 , 0 );        
 double SL= NormalizeDouble (Price- 3000 * Point , Digits );         
 double TP= NormalizeDouble (Price+ 100 * Point , Digits );    
 

  
       if (Bid==Price  )
     
   int Ticket= OrderSend ( Symbol (),OP_BUY, 0.1 ,Ask, 3 ,SL,TP, "jfh" , 123 );



Спасибо.
 
solnce600 :

beyler iyi akşamlar

Lütfen derleyicinin neden aşağıdaki kodda bunu düşündüğünü söyleyin

değişken int Bilet tanımlı değil.

Tek hata veriyor

'Ticket' - değişken tanımlanmadı C:\Program Files\Alpari NZ MT4(2)\experts\hhhh.mq4 (18, 6)


Her ne kadar aşağıdaki kodda bilet değişkeni atama ifadesinde de tanımlanmış ve kod başarıyla derlenmiştir.


Muhtemelen tek bir yerde sadece parantezler yeterli değildir

 if ( MathAbs ( NormalizeDouble (Bid - S, Digits ))<= 0.5 * Point //если текущая цена отличается от значени возвращенного функцией не более чем 0,5 п.
Neden: