Bir kare veya dikdörtgen çizme. gerçekten yardıma ihtiyacım var... - sayfa 8

 
evillive :

Çalışan bir script örneği verdim, oraya okların ve trend çizgilerinin çizimini eklemeniz ve bir ay yerine H4 altında yeniden yapmanız gerekiyor. Gösterge kavramından uzaklaşmak ve soruna farklı bir açıdan bakmak yeterlidir.

Bu satır komut dosyasından alınmıştır. Senaryo çok yardımcı oluyor. Teşekkür ederim.

Eğilim çizgisi , tüm dönem için, ancak düz bir çizgide oluşturulmuştur. Ve merhaba evet merhaba'dan ihtiyacınız var. "Çit" tobish.

         ObjectCreate     ( 0 ,Name_Obj + " V_Line" + DoubleToStr(i, 0 ), OBJ_TREND , 0 , t_Line, mqlRates[ 0 ].high, t_Line,mqlRates[ 0 ].low);
 
AlexeyVik :

Okuma yardımı, bir programlama dili öğrenmenize yardımcı olur. Ve sonra, bu referanstan bir şey net değilse, soru sorabilirsiniz.

Ve belgeleri hiç okumamış ve SetIndexStyle(0, DRAW_SECTION); nerede olduğu hakkında hiçbir fikri olmayan bir kişiye nasıl söyleyebilirsiniz? ve şaşkınlıkla OnCalculate'e ekler

Bu ve aptal hatalardan hiçbir deneyim yok.

Kiyosaki'nin dediği gibi. Önce bir hata yap, sonra analiz et. Neyin yanlış gittiğini anlamak için.

 
Alex_Profit :

Bu satır komut dosyasından alınmıştır. Senaryo çok yardımcı oluyor. Teşekkür ederim.

Eğilim çizgisi, tüm dönem için, ancak düz bir çizgide oluşturulmuştur. Ve merhaba evet merhaba'dan ihtiyacınız var. "Çit" tobish.

Düşün kafa, sana bir turta vereceğim)))

Burada, OBJ_TREND'e göre , nasıl ve ne için yardımı okumanız gerekiyor. Her iki noktanın zamanı aynıysa hangi doğru elde edilmelidir?

Ve hayır, bu benim senaryom değil.

 
evillive :

Burada, OBJ_TREND'e göre , nasıl ve ne için yardımı okumanız gerekiyor. Her iki noktanın zamanı aynıysa hangi doğru elde edilmelidir?

sırasıyla doğrudan.

2. çapa noktasını nasıl bulacağımı anlamıyorum. Nereye ekleneceği de açıktır.

 

Ve bunun için teşekkürler. çok iyi yardımcı oldu. Yazık ki sonuna kadar çözemedim, az kaldı.

Her durumda, sabrınız için teşekkürler. Daha fazla kar ve iyi bir hafta sonu.

 

Herkese iyi günler. Uzmanlardan yardım rica ediyorum. Böyle bir kod var.

Trend çizgisinin günlük TF'nin en yüksek seviyelerine göre çizilmesi için neyin düzeltilmesi gerektiğini söyleyin.

Bu çok gerekli. Bana yardım et lütfen.

 #property indicator_chart_window
#property strict
extern int    limit = 30 ;
extern bool   Sho_bars = true ;
string txt = "TRADE_" ;
//+------------------------------------------------------------------+
int init()
  {
   return ( 0 );
  }
//+------------------------------------------------------------------+
int deinit()
  {
   GetDellName (txt);
   Comment ( "" );
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int limits;
   int counted_bars=IndicatorCounted();   
   if (counted_bars< 0 ) return (- 1 );
   if (counted_bars> 0 ) counted_bars--;
   limits = Bars -counted_bars;        
//----
   if (limits> 0 )                      
   {
     for ( int i=limit; i>= 0 ; i--)
    {
     double    _High      = iHigh( Symbol (), 1440 ,i);   
     double    _Low       = iLow( Symbol (),   1440 ,i);   
     double    _Open      = iOpen( Symbol (), 1440 ,i);   
     double    _Close     = iClose( Symbol (), 1440 ,i);                
     datetime _Time_Open = iTime( Symbol (), 1440 ,i);       // Открытие бара
     //datetime _start_day = 11*60*60;                   // Начало дня  
     datetime _End_Day   = 1440 * 60 ;                       // Конец дня 
       
     string    _Time_Open_txt  = TimeToStr(_Time_Open, TIME_DATE ); // Преобразуем время открытия в строку   
     if (Sho_bars)
      {
       // Функция рисующая объекты на графике
       TrendLineGraff(txt + _Time_Open_txt + " start_day" ,_Time_Open,_High,_Time_Open,_Low);                      // левая граница     
       TrendLineGraff(txt + _Time_Open_txt + " End_Day" ,_Time_Open + _End_Day,_High,_Time_Open + _End_Day, _Low); // правая граница           
       TrendLineGraff(txt + _Time_Open_txt + " High" ,_Time_Open,_High,_Time_Open + _End_Day,_High);               // верхняя граница  
       TrendLineGraff(txt + _Time_Open_txt + " Low" ,_Time_Open,_Low,_Time_Open + _End_Day,_Low);                  // нижняя граница      
       
       TrendLineGraff(txt + _Time_Open_txt + " T_Line" , _Time_Open, _Open, _Time_Open + _End_Day, _Close);
      }          
   }
 }  
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Функция отображения трендовой линии                              |
//+------------------------------------------------------------------+
 void TrendLineGraff( string labebe, datetime time1, double price1, datetime time2, double price2)
  {
   if ( ObjectFind (labebe)!=- 1 ) ObjectDelete (labebe);
   ObjectCreate (labebe, OBJ_TREND , 0 ,time1,price1,time2,price2);
   ObjectSet(labebe, OBJPROP_COLOR , clrDarkOrchid );
   ObjectSet(labebe, OBJPROP_STYLE , 0 );
   ObjectSet(labebe, OBJPROP_RAY , 0 );
   ObjectSet(labebe, OBJPROP_BACK , true );
  }
//+------------------------------------------------------------------+
//| Функция удаляет объекты                                          |
//+------------------------------------------------------------------+

 void GetDellName ( string name_n = "ytg_" )
  {
   string vName;
   for ( int i= ObjectsTotal ()- 1 ; i>= 0 ;i--)
    {
     vName = ObjectName (i);
     if ( StringFind (vName,name_n) !=- 1 ) ObjectDelete (vName);
    }  
  }
//+------------------------------------------------------------------+
 
Alex_Profit :

Herkese iyi günler. Uzmanlardan yardım rica ediyorum. Böyle bir kod var.

Trend çizgisinin günlük TF'nin en yüksek seviyelerine göre çizilmesi için neyin düzeltilmesi gerektiğini söyleyin.

Çok gerekli. Bana yardım et lütfen.

Başka bir zaman diliminin verileriyle çalışırken, çubuklar o zaman diliminden sayılmalıdır. Ama ders gelecek için değil ...

ibars()!!!

Ve nesneleri silme döngüsü yerine, tüm nesnelere benzersiz bir önek atayabilir (bu durumda, "TRADE_" dir ) ve ObjectsDeleteAll() işleviyle hepsini bir kerede silebilirsiniz.

İşte burada: tarihsaat _End_Day = 1440 * 60 ; // Günün sonu - nifiga değil " günün sonu", iki ay sonra ))) Ve buna hiç gerek yok, "günün sonu" değeri, çünkü bu ertesi günün başlangıcı ve gösterge oraya bir çizgi çekecektir.

 
evillive :

Başka bir zaman diliminin verileriyle çalışırken, çubuklar o zaman diliminden sayılmalıdır. Ama ders gelecek için değil ...

ibars()!!!

Beni affetmen gerekecek. Ama bana pek gelmiyor. Sadece kodda düzeltmek mümkün mü?

Ve aynı zamanda bir örnek olarak. Örneklerle, her zaman daha kolaydır.

Bu çok gerekli. Teşekkür ederim.

 
Alex_Profit :

Beni affetmen gerekecek. Ama bana pek gelmiyor. Sadece kodda düzeltmek mümkün mü?

Ve aynı zamanda bir örnek olarak. Örneklerle, her zaman daha kolaydır.

Bu çok gerekli. Teşekkür ederim.

Sonuç nedir? İşe yaradı mı?