[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 423

 
hoz:

如果每个缓冲区(每行)都有自己的参数(颜色、厚度等),那么这些参数将如何转移到每行?
为每一行传递单独的属性是可能的,但这么多行有必要吗?让所有线条都有一个属性。
 
Zhunko:
转移个别线路的属性是可能的,但这么多线路有必要吗?让我们为所有的线有一个属性。


就是说,我的理解是正确的。如果一些线条有相同的属性,而所有的特征都有8个属性,那么你可以把它们都放在一个索引中,但如果有超过8个属性,那么你就不能了?
 
hoz:

所以我的理解是正确的。如果一些线条有相同的属性,而所有的属性都有8个,那么你可以把它们装进一个指标中,但如果有超过8个的属性,那么你就不能了?
任何数量的房产都可以被转让。
 
Zhunko:
任何数量的房产都可以被转让。


但是,如果需要在视觉上显示一个图形对象,那么属性就会被绑定到一个缓冲区。所以不可能超过8个以上的房产数量。这是否正确?
 
hoz:

但是如果你需要属性来直观地显示一个图形对象,那么属性就会被绑定到一个缓冲区。所以不可能超过8个以上的房产数量。这是否正确?

我想我不明白这个问题。

你的意思是说,线条属性的数量只有8个?

 
hoz:

如果每个缓冲区(每行)都有自己的参数(颜色、厚度等),那么这些参数将如何传递给每行?

你是指通过iCustom()进入EA吗?我把同样的计算块放在那里,就这样。如果因为某些原因不能工作(到目前为止,我只遇到过按时间序列递归的情况),最好是创建一个指标缓冲区,并通过iCustom()调用它。


我是说如果指标是用趋势线画的。但如果是在一个子窗口中,WindowOnDropped在开始时在标志下,标志被省略,这并不重要。像这样。

int start(){
   //блок рисования горизонтальных линий уровня. Не выношу в init(), потому что WindowOnDropped() определён только в start()
   if(image){
      if(b){
         for(int i=-100; i<=100; i++){
            double x=i; x/=100; double hue=SpectralFilter(x, focus);
            color RGB=HSLtoRGB(hue, Staturation, Lightness);
            string name=DoubleToStr(hue,8);
            ObjectCreate(name,OBJ_HLINE,WindowOnDropped(),0,hue);
            ObjectSet(name, OBJPROP_COLOR, RGB);
            ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
            ObjectSet(name, OBJPROP_WIDTH, 1);
         }
         b=false;
      }
   }else{
      ObjectsDeleteAll(WindowOnDropped(),OBJ_HLINE);
   }

趋势是以同样的方式得出的。

 
Zhunko:

我想我不明白这个问题。

你的意思是说,线条属性的数量只有8个?


不,你自己说的。

竺可桢
任何数量的房产都可以被转让。


但你的意思并不只是房产的总和。但对每个显示的线条或任何其他图形的对象。因为它写在文件中https://docs.mql4.com/ru/customind/IndicatorBuffers。

所以事实证明,如果属性是通过终端窗口的缓冲区传递的,那么根据文档,你不能传递超过8个图形对象。但我以前见过指数,几乎是彩虹,颜色和线条超过8。因此,他们以某种方式绕过了这个限制......。

 
gyfto:

你是说通过iCustom()进入EA?我把同样的计算块放在那里,就这样。如果由于某种原因不能工作(到目前为止,我只遇到过按时间序列递归的情况),最好是形成指标缓冲区,并通过iCustom()调用它。

不,我的意思是它必须从指标中提取,仅此而已。我不想把它转移到专家顾问中。我需要它在视觉上控制一些时刻,仅此而已。

gyfto

我的意思是,如果在一个指标中画了一条趋势线。但如果是在一个子窗口中,WindowOnDropped在开始时的标志下,标志被省略了,这并不重要。像这样。

趋势线是以同样的方式绘制的。


你的意思是在不同的窗口中运行相同的电感器,指定不同的窗口,从而绕过这个限制?
 
hoz:


但我以前也遇到过火鸡,几乎是彩虹,其中的颜色和线条远远超过了8。因此,他们以某种方式绕过了这个限制......。


好吧,在想法中,如果额外的指标缓冲区 被自己声明,并进一步被趋势线声明,那么它将工作...
 
hoz:
你的意思是在另一个窗口运行同一个工具,指定一个不同的窗口,从而绕过这个限制?

不,我说的是ObjectCreate(),你必须在那里设置窗口号。我向你展示了如何设置它,如果它是一个子窗口(即不是零,也就是主窗口)。