编码帮助 - 页 712

 
mladen:
方法是完全一样的--只是把ChartIndicatorAdd()中的目标窗口改成了0

嗨,mladen,谢谢你的回答......我正在研究这里。

ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle)。

其中(1)顶部窗口

CharGetInteger(1=>top window)

其中(0)下面

ChartIndicatorAdd(0,(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL),RSI1Handle)。
CharGetInteger(0=>below)

发现这一点并不容易...笑

现在我试图在MA中加入不同的颜色
 
baraozemo:

嗨,mladen,谢谢你的回答......我正在研究这里。

ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle)。

其中(1)顶部窗口

CharGetInteger(1=>top window)

其中(0)下面

ChartIndicatorAdd(0,(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL),RSI1Handle)。
CharGetInteger(0=>below)

发现这一点并不容易...笑

现在我试图在MA中加入不同的颜色

像这样

ChartIndicatorAdd(0,0,MA1Handle);
 
mladen:

像这样

ChartIndicatorAdd(0,0,MA1Handle);

关于把指标放在上面还是下面的问题,正如我所说,我发现...

ChartIndicatorAdd(0,1,MA1Handle); (顶部)

ChartIndicatorAdd(0,2,RS1Handle); (下面)

的实际问题。

1)现在我尝试对MA的应用不同的颜色

2) 解决一个问题,把MA从图形中释放出来(RSI和WPR被正确清洗了。)

例如...

RSI1,RSI2,RSI3和WPR被正确清洗,但MA1,MA2,MA3没有被清洗...

int OnInit()

  {

  

  if (_Period==Signal_0_MA_Timeframe)  

   {

   MA1Handle = iMA(_Symbol,Signal_0_MA_Timeframe,Signal_0_MA_PeriodMA,Signal_0_MA_Shift,Signal_0_MA_Method,Signal_0_MA_Applied);

   if (MA1Handle!=INVALID_HANDLE)

      ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle);

      //return(INIT_SUCCEEDED);

   }

  

  //---adicionando MA2

  if (_Period==Signal_1_MA_Timeframe)

   {

   MA2Handle = iMA(_Symbol,Signal_1_MA_Timeframe,Signal_1_MA_PeriodMA,Signal_1_MA_Shift,Signal_1_MA_Method,Signal_1_MA_Applied);

   if (MA2Handle!=INVALID_HANDLE)

      ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA2Handle);

      //return(INIT_SUCCEEDED);      

   }   



===============================//===========================


//+------------------------------------------------------------------+

//| Deinitialization function of the expert                          |

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

  {

   //limpa do gráfico os indicadores RSI e WPR

    for (int w = (int)ChartGetInteger(0,CHART_WINDOWS_TOTAL); w>=0; w--)

   {

      string name = ChartIndicatorName(0,w,0);

      if (StringFind(name,"RSI(",0)==0)

            ChartIndicatorDelete(0,w,name);

      if (StringFind(name,"%R(",0)==0)

            ChartIndicatorDelete(0,w,name);

      if (StringFind(name,"Moving Average(",0)==0)

            ChartIndicatorDelete(0,w,name);

   }         

   

   ExtExpert.Deinit();

  }

 
baraozemo:

关于把指标放在顶部或下面的问题,正如我所说,我发现...

ChartIndicatorAdd(0,1,MA1Handle); (顶部)

ChartIndicatorAdd(0,2,RS1Handle); (下面)

实际的问题是

1)现在我试图将不同的颜色应用于MA's

2)并解决一个问题,将MA's从图形中释放出来(RSI和WPR被正确清洗... )

例如...

RSI1,RSI2,RSI3和WPR被正确清洗,但MA1,MA2,MA3没有被清洗......

int OnInit()

  {

  

  if (_Period==Signal_0_MA_Timeframe)  

   {

   MA1Handle = iMA(_Symbol,Signal_0_MA_Timeframe,Signal_0_MA_PeriodMA,Signal_0_MA_Shift,Signal_0_MA_Method,Signal_0_MA_Applied);

   if (MA1Handle!=INVALID_HANDLE)

      ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle);

      //return(INIT_SUCCEEDED);

   }

  

  //---adicionando MA2

  if (_Period==Signal_1_MA_Timeframe)

   {

   MA2Handle = iMA(_Symbol,Signal_1_MA_Timeframe,Signal_1_MA_PeriodMA,Signal_1_MA_Shift,Signal_1_MA_Method,Signal_1_MA_Applied);

   if (MA2Handle!=INVALID_HANDLE)

      ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA2Handle);

      //return(INIT_SUCCEEDED);      

   }   



===============================//===========================


//+------------------------------------------------------------------+

//| Deinitialization function of the expert                          |

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

  {

   //limpa do gráfico os indicadores RSI e WPR

    for (int w = (int)ChartGetInteger(0,CHART_WINDOWS_TOTAL); w>=0; w--)

   {

      string name = ChartIndicatorName(0,w,0);

      if (StringFind(name,"RSI(",0)==0)

            ChartIndicatorDelete(0,w,name);

      if (StringFind(name,"%R(",0)==0)

            ChartIndicatorDelete(0,w,name);

      if (StringFind(name,"Moving Average(",0)==0)

            ChartIndicatorDelete(0,w,name);

   }         

   

   ExtExpert.Deinit();

  }

正弦移动平均线 只有一个名字 "移动平均线",你不能唯一地识别它,所以你不能安全地删除它。
 

Mladen, 1) 请帮助在iCustom中把数字四舍五入到0.1或0.01为止。

并请解释一下,如何插入 "value2"(或3),而不是默认的指标平均值?

iCustom(symbolName,PeriodMinutes,"_1_IFT 2-1",0,i)

 

你好,Mladen先生

我运行这个指标{ssa_squeeze_of_averages_mtf_amp_alerts_2.mq4} 但它不能显示任何东西。

你能解决这个问题吗?

请注意

你能不能制作这个指标的MTF:ma_count_amp_alerts.mq4

MTF类似于这个直方图。

 
bilbao:

你好,Mladen先生

我运行这个指标{ssa_squeeze_of_averages_mtf_amp_alerts_2.mq4} 但它不能显示任何东西。

你能解决这个问题吗?

请注意

你能不能制作这个指标的MTF:ma_count_amp_alerts.mq4

MTF类似于这个直方图。

你需要 "价格的SSA "以使SSA_squeeze . ..发挥作用。
 
kostumer27:

Mladen, 1) 请帮助在iCustom中把数字四舍五入到0.1或0.01为止。

请解释一下,如何插入 "value2"(或3),而不是默认的指标含义?

iCustom(symbolName,PeriodMinutes,"_1_IFT 2-1",0,i)

取决于指标的参数列表,但你必须在指标名称和缓冲区号码 之间传递参数。

像这样的东西。

iCustom(symbolName,PeriodMinutes,"_1_IFT-1",yourParameter1,yourParameter2,yourParameter3,yourParameter9999,0,i)

另一部分,我不明白

如果你的意思是热限制返回值,你不能这样做。你只能限制从iCustom()调用分配给某个东西的值,像这样

double result = MathMax(MathMin(iCustom(symbolName,PeriodMinutes,"_1_IFT 2-1",0,i),0.1),0.01);
 
mladen:
你需要 "SSA的价格",以使SSA_squeeze . ..发挥作用。

谢谢。

现在可以了

 

Mr mladen :

可以把它做成MTF

类似这样的图片直方图

最好的意见

附加的文件: