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

 
kolyango :

Nasıl yapılır:

Koşul1 karşılanırsa, her onayda tekrar kontrol etmeyin ve sonraki onaylarda Koşul2'yi de kontrol edin ve ardından biz tüm bayrakları yanlış ilan edene kadar Koşul 3'ü de kontrol edin?

 bool проверять_ус 1 = true ;
bool проверять_ус 2 = true ;
bool проверять_ус 3 = true ;
void start(){
       if (проверять_ус 1 )
         if (Open[ 0 ]>Close[1]){ //условие 1
            проверять_ус 1 = false ; //заглушка
         }
       if (проверять_ус 2 )
         if (Open[ 0 ]<Close[2]){ //условие 1
            проверять_ус 2 = false ; //заглушка
         }
       if (проверять_ус 3 )
         if (Open[ 0 ]==Close[3]){ //условие 1
            проверять_ус 3 = false ; //заглушка
         }
       if (!проверять_ус 1 &&!проверять_ус 2 &&!проверять_ус 3 ){
            проверять_ус 1 = true ;
            проверять_ус 2 = true ;
            проверять_ус 3 = true ;      
      }
}

ne yazıldığı netleşene kadar kodu birkaç kez okuyun ve mutlu olacaksınız.

 
costy_ :

zaten sabitlenmiş bir çubuğun verilerini okur (önceki) kaldır i+1. Ama yaratıcının algoritması bozulacak (o daha iyi bilir, ben de açık ve biçimli veriler üzerinde çalışıyorum +1)


İçerik oluşturucu olarak, i+1'in yalnızca başka bir göstergeden veri indirmek için olduğunu söylüyorum, o zaman arıza koşulunun bir kontrolü var, ancak tüm diğer hesaplamalar i'de.

Gerçek şu ki, gösterge otomatik olarak güncellenmiyor, yalnızca yeniden başlatmayla (TF değişikliği, özelliklerin görüntülenmesi).

anlamama sebebi nedir.

Önceki çubuktaki gerekli göstergeden veri hesaplamasını döngünün sonuna kadar iterek sadece i kullanmaya çalıştım, ancak yardımcı olmadı.

 
costy_ :

hala anlamadım

Resimle anlatmak daha kolay sanırım.


Evet teşekkür ederim! Mavi ile vurguladığınız yerde, D1'de yükseklerin üzerinde kapanan bir mum bulmanız gerekir.
 
costy_ :

ne yazıldığı netleşene kadar kodu birkaç kez okuyun ve mutlu olacaksınız.


Tekrar teşekkürler!
 
LOA :


İçerik oluşturucu olarak, i+1'in yalnızca başka bir göstergeden veri indirmek için olduğunu söylüyorum, o zaman arıza koşulunun bir kontrolü var, ancak tüm diğer hesaplamalar i'de.

Gerçek şu ki, gösterge otomatik olarak güncellenmiyor, yalnızca yeniden başlatmayla (TF değişikliği, özelliklerin görüntülenmesi).

anlamama sebebi nedir.

Önceki çubuktaki gerekli göstergeden veri hesaplamasını döngünün sonuna kadar iterek sadece i kullanmaya çalıştım, ancak yardımcı olmadı.

sen

           int proboy_5_UP = iCustom (NULL,0,"ME_Proboy_F5_For_EX",0,i+1);/*запрос значения индикатора 

olması gerektiğinden şüpheleniyorum

           double proboy_5_UP = iCustom (NULL,0,"ME_Proboy_F5_For_EX",0,i+1);/*запрос значения индикатора 
 
costy_ :

sen

olması gerektiğinden şüpheleniyorum


hayır.... fiyat değerini değil, değeri alınabilecek gösterge okumasını (histogram) alıyoruz 1 veya -1'e eşittir.
 
costy_ :

ne yazıldığı netleşene kadar kodu birkaç kez okuyun ve mutlu olacaksınız.


Böyle bir kodun koşullarını nasıl yeniden yapabilirim, anlamadım?

 static bool Val_max, Cl_dn, Val_min; //static or global
                                        |
//+------------------------------------------------------------------+
int start()
  {
   int j;
   double bid;                                         
   bid=Bid;                                     // Текущая цена продажи
   string
   Symb= Symbol ();                               // Название фин.инстр.
double Value_max= 1.0000 ;
double Value_min= 0.9980 ;
double Open_1=Open[ 1 ];
double Close_1=Close[ 1 ];
//----

//--------------------------------------------------------------- 4 --

double Val= iCustom ( NULL , 0 , "Название Польз. Индикатора" , 0 , 0 );   // Присваиваем пер. Val значение польз. индикатора
if (Условие 1 )
{
 Val_max=true;                   // 
 Alert ( "Значение инд. >= Value_max (исп. 1-е усл.)" );
}
if (Условие 2 )
{
 Cl_dn=true;
 Alert ( "1 бар закрылся падением (исп. 2-е усл.)" );
}
if (Условие 3 && Cl_dn==true)
{
 Val_min=true;
 Alert ( "Значение инд. <= Value_min (исп. 3-е усл.)" );
}
if (Val_max==true && Cl_dn==true && Val_min==true)
  {
   for (j = 0 ; j < OrdersTotal (); j++)
    {
     OrderSelect (j, SELECT_BY_POS, MODE_TRADES);
     if ( OrderSymbol () == Symbol ())
      {
       if ( OrderType () == OP_SELL) return ( 0 );
      }
    }
   
   OrderSend ( Symbol (),OP_SELL, 0.1 , NormalizeDouble (Bid, Digits ), 2 ,Bid+ 400 * Point ,Bid- 400 * Point , "" , 3 , Red );   // Открытие SELL
   Val_max=false; Cl_dn=false; Val_min=false;
  }

//----
   return ( 0 );
  }
 
LOA :

hayır.... fiyat değerini değil, değeri alınabilecek gösterge okumasını (histogram) alıyoruz 1 veya -1'e eşittir.

Hala ind denilen yerde cevap veremiyorum. int double döndürüyorlarsa, int >0 ve tam tersi (*.ex4 olsa da) atanması için gerçekten >1 olabilirler mi?

ME_Proboy_F5_For_EX

ME_Order_ATR_For_EX

2011.12.07 18:10:42 AUDUSD,M30 üzerinde \experts\indicators\ME_Proboy_F5_For_EX.ex4' dosyası açılamıyor

her şeyi MACD ile değiştirdi, her şey çalışıyor!

Dosyalar:
temp_1.mq4  14 kb
 
kolyango :


Böyle bir kodun koşullarını nasıl yeniden yapabilirim, anlamadım?

 bool проверять_ус 1 = true ;
bool проверять_ус 2 = true ;
bool проверять_ус 3 = true ;
void start(){
       if (проверять_ус 1 )
         if (Open[ 0 ]>Close[1]){ //условие 1
            проверять_ус 1 = false ; //заглушка
         }
       if (проверять_ус 2 )
         if (Open[ 0 ]<Close[2]){ //условие 1
            проверять_ус 2 = false ; //заглушка
         }
       if (проверять_ус 3 )
         if (Open[ 0 ]==Close[3]){ //условие 1
            проверять_ус 3 = false ; //заглушка
         }
       if (!проверять_ус 1 &&!проверять_ус 2 &&!проверять_ус 3 ){
            проверять_ус 1 = true ;
            проверять_ус 2 = true ;
            проверять_ус 3 = true ;      
      }
}

ne yazıldığı netleşene kadar kodu birkaç kez okuyun ve mutlu olacaksınız.

neden bayraklara ihtiyacın var)) onlarsız yapabilirsin

   if (Close[i+ 3 ]>Open[i+ 3 ]&&Close[i+ 2 ]>Open[i+ 3 ]&&Close[i+ 2 ]<Close[i+ 3 ]&&Close[i]>Close[i+ 3 ]) //открываем бай

 
costy_ :

Hala ind denilen yerde cevap veremiyorum. int double döndürüyorlarsa, int >0 ve tam tersi (*.ex4 olsa da) atanması için gerçekten >1 olabilirler mi?

ME_Proboy_F5_For_EX

ME_Order_ATR_For_EX

2011.12.07 18:10:42 AUDUSD,M30 üzerinde \experts\indicators\ME_Proboy_F5_For_EX.ex4' dosyası açılamıyor

her şeyi MACD ile değiştirdi, her şey çalışıyor!


evet tarihteki gösterge türkiye denen herhangi biriyle çalışıyor gerçek hayatta çalışmıyor m1'de kontrol ettim.

Eğer sizi doğru anladıysam >0, <0 durumlarını ==1 veya ==-1 ile değiştirmeye çalışacağım.