[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 197

 

解释一下。我不明白。为什么会出现这种情况

int Takeprofit = 62;

pp =MarketInfo(OrderSymbol(), MODE_POINT);

如果(OrderTakeProfit() - OrderOpenPrice() < Takeprofit*pp )

它的工作原理是什么?虽然这两部分都是平等的!!!。正如你在下面看到的那样。

2009.08.22 18:50:31 1999.10.11 23:43 Delta EURUSD,M1: OrderTakeProfit() - OrderOpenPrice() = 0.0062 Takeprofit*pp = 0.0062

谢谢你!

 

由于你是与实数打交道,你应该知道0.0062实际上可以是0.0061999或0.0062001。

使用规范化。

 
OneDepo писал(а)>>

由于你是与实数打交道,你应该知道0.0062实际上可以是0.0061999或0.0062001。

使用规范化。

我试着将Takeprofit*pp正常化--没有任何作用。也许等式的两边都应该被规范化?

 
001 >> :

我试着将Takeprofit*pp正常化--没有任何作用。也许方程的 两边(不等式)都需要归一化?

是的。

第二个选择是使用int类型的工作,比如说。

int temp = 0.5 + (OrderTakeProfit() - OrderOpenPrice())/ pp;
if ( temp < Takeprofit)
 
OneDepo писал(а)>>

是的。

第二个选择是使用int类型的工作,比如说。

>> 谢谢你!

 

你好!

我如何根据条件改变指标线的颜色--例如,使不同范围的条形图有不同的颜色?

SetIndexStyle 函数本应做到这一点,但通过设置颜色或线条粗细 ,它并没有发挥作用 --见图

见下面的示例代码。

每条都应该是不同的颜色和厚度,但它们都只是红色和2厚。

//+------------------------------------------------------------------+
//|                                                       MinMax.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Gray

//---- buffers
double ExtMapBuffer1[];
double Val;
int ExtCountedBars=0;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2,Brown);
   SetIndexBuffer(0, ExtMapBuffer1);
   Val=Close[Bars-1];
  
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   

   if(Bars<=100) return(0);
   ExtCountedBars=IndicatorCounted();

   //---- check for possible errors
   if ( ExtCountedBars<0) return(-1);
   if ( ExtCountedBars>0) ExtCountedBars--;
   int    i, pos=Bars- ExtCountedBars-1; 
   Comment(Bars," ", ExtCountedBars, " ", pos); 
//---- last counted bar will be recounted
   
//----

   while( pos>=0) {
        
         if ( pos<100 && pos>0)   { SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2,Red); Val=1.45; }
         if ( pos<200 && pos>100) { SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,3,Blue); Val=1.44; }
         if ( pos<300 && pos>200) { SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,4,Yellow); Val=1.43; }
         if ( pos<400 && pos>300) { SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,5,Magenta); Val=1.42; }
             
      ExtMapBuffer1[ pos]= Val;
    
    pos--;
     }
  return(0);
  }
//+------------------------------------------------------------------+
 
stera писал(а)>>

你好!

我如何根据条件改变指标线的颜色--例如,使不同范围的条形图有不同的颜色?

SetIndexStyle 函数本应做到这一点,但通过设置颜色或线条粗细 ,它并没有发挥作用 --见图

见下面的示例代码。

每个步骤应该是不同的颜色和厚度,但它们都只是红色和厚度为2。

使用额外的缓冲器,每个都有自己的风格和颜色

 
Vinin >> :

使用额外的缓冲器,每个都有自己的风格和颜色

曾经发起过一个类似的问题,我们一起解决了应该明确的问题:))

SetIndexStyle 在开始使用时诚实地改变了颜色,但整个缓冲区一次就改变了。也就是说,在当前图表中,缓冲区(线)的颜色将与最后触发的SetIndexStyle 应用相对应。

 
stera писал(а)>>

你好!

如何改变指标线的颜色...

这里 .

 
granit77 писал(а)>>

曾经发起过一个类似的问题,我们一起解决了应该明确的问题:))

SetIndexStyle 在开始使用时诚实地改变了颜色,但整个 缓冲区一次就改变了。也就是说,在当前图表中,缓冲区(线)的颜色将与最后 触发的SetIndexStyle 应用程序的颜色相对应

非常感谢你,granit77。

这是一个全面的答案。
我也怀疑过,但我无法相信这样一个奇怪的想法被嵌入这个功能中。

出于某些目的,可能需要改变整个缓冲区的颜色,但更实际的是

但指标的某些部分的着色(和改变其他属性)的机制。

例如,EasyLang就有这个功能。

我将写信给开发商。

某处是否有关于MQL函数的更详细描述?

用一些或其他参数的例子?

所有的参数都必须由我自己测试或从第三方的例子中提取。

原因: