코딩 도움말 - 페이지 712

 
mladen :
메서드는 정확히 동일합니다. ChartIndicatorAdd()의 대상 창을 0으로 변경하기만 하면 됩니다.

안녕하세요 mladen님 답변 감사합니다... 여기서 공부하고 있었는데..

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

여기서 (1) 상단 창

CharGetInteger(1=>상단 창)

여기서 (0) 아래

ChartIndicatorAdd(0,(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL),RSI1Handle);
CharGetInteger(0=>아래)

이것을 발견하기가 쉽지 않습니다 .. lol

이제 MA에 다른 색상을 넣으려고합니다.
 
baraozemo :

안녕하세요 mladen님 답변 감사합니다... 여기서 공부하고 있었는데..

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

여기서 (1) 상단 창

CharGetInteger(1=>상단 창)

여기서 (0) 아래

ChartIndicatorAdd(0,(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL),RSI1Handle);
CharGetInteger(0=>아래)

이것을 발견하기가 쉽지 않습니다 .. lol

이제 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에 다른 색상을 적용하려고합니다.

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();

  }

사인 이동 평균 은 "이동 평균"이라는 이름만 가지고 있어 고유하게 식별할 수 없으므로 안전하게 삭제할 수 없습니다.
 

Mladen, 1) iCustom에서 반올림 숫자를 최대 0.1 또는 0.01로 만드는 데 도움을 주십시오.

기본 표시기 의미 대신 "value2"(or3)를 삽입하는 방법을 설명하십시오.

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_squeeze ... 작동하려면 "가격의 SSA"가 필요합니다.
 
kostumer27 :

Mladen, 1) iCustom에서 반올림 숫자를 최대 0.1 또는 0.01로 만드는 데 도움을 주십시오.

기본 표시기 의미 대신 "value2"(or3)를 삽입하는 방법을 설명하십시오.

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_squeeze ... 작동하려면 "가격의 SSA"가 필요합니다.

감사해요.

이제 작동합니다

 

mladen 씨:

MTF를 만들 수 있습니다.

이 그림 히스토그램 유사

안부

파일: