绘制一个正方形或长方形。真的需要帮助... - 页 8

 
evillive:

我给出了一个工作脚本的例子,我们需要在其中添加箭头和趋势线,并重新对H4而不是月进行操作。你所需要做的就是远离指标的概念,从不同的角度看问题。

这句话取自剧本。该脚本非常有用。谢谢你。

绘制的是整个时期的趋势线,但是是一条直线。我需要它从高处走到高处。是 "栅栏"。

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

阅读帮助是帮助你学习编程语言的原因。然后,如果你不理解帮助中的任何内容,你可以提出问题。

你怎么能建议一个没有读过文档的人,不知道把SetIndexStyle(0, DRAW_SECTION);;插入OnCalculate中而感到困惑?

没有经验,这就是为什么你会犯愚蠢的错误。

正如清崎所说。首先是犯错,然后分析它。要了解做错了什么。

 
Alex_Profit:

这句话取自剧本。该脚本非常有用。谢谢你。

趋势线是为整个时期画的,但是是一条直线。我需要一个高和一个高。是 "栅栏"。

想一想,头,我给你一个馅饼))))。

这里是关于OBJ_TREND,需要阅读帮助。如果两点的时间相同,应该得到什么线?

不,这不是我的剧本。

 
evillive:

这就是OBJ_TREND,应该阅读帮助,如何以及有什么如果两点的时间相同,应该得到哪条线?

一条直线,分别是。

我不明白如何找到第二个锚点。在哪里插入也很清楚。

 

也谢谢你的帮助。你给了我很大的帮助。只是遗憾的是,我没能把它全部搞清楚,剩下的事情不多。

总之,感谢你的回应。有更多的利润,有一个好的周末。

 

大家下午好。我请求专家的帮助。我有这样的代码。

请告知应该如何纠正,以确保趋势线画 在每日TF的最大值上。

我真的需要它。请帮助。

#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:

大家下午好。我请求专家的帮助。我有这样的代码。

请告知应该如何纠正,以确保趋势线画在每日TF的最大值上。

我真的需要它。请帮助。

当处理另一个人的TF的数据时,条形图应该从那个人那里计算出来。但这个教训是没有用的...

iBars()!!!

而不是删除对象,我们可以给所有对象一个唯一的前缀(在本例中是"TRADE_"),然后在deinit中用ObjectsDeleteAll()函数 一次性删除它们。

这里是: datetime _End_Day = 1440*60;// 一天的结束 - 根本不是 "一天的结束",而是两个月之后)) )不需要 "日终 "值,因为它是第二天的开始,反正指标在那里画线。

 
evillive:

当处理另一个TF的数据时,条形图也应该从该TF中计算。但是,这个教训是没有用的...

iBars()!!!

我很抱歉。但我还是不明白。我可以在代码中修复它吗?

也作为一个例子。有了例子总是更容易。

我真的需要它。谢谢你。

 
Alex_Profit:

对此我很抱歉。但我还是不明白。我们可以在代码中修正它吗?

也作为一个例子。有了例子总是更容易。

我真的需要它。谢谢你。

那么结果是什么呢?它起作用了吗?
原因: