코딩 도움말 - 페이지 110

 

안녕,

두 개의 지표가 필요합니다. 하나는 wpr( Williams' Percent Range) 과 ma(wpr with ma)이고 다른 하나는 cmo(chande 운동량 osc.)입니다.

그리고 그것의 ma(ma와 cmo),

도와줄 사람?

감사해요

 
anonimm:
안녕,

두 개의 지표가 필요합니다. 하나는 wpr( Williams' Percent Range) 과 ma(wpr with ma)이고 다른 하나는 cmo(chande 운동량 osc.)입니다.

그리고 그것의 ma(ma와 cmo),

도와줄 사람?

감사해요

아니님

다음은 평균(ma)이 있는 하나의 WPR입니다.

파일:
wpr_ma.mq4  2 kb
 
mladen:
anonimm 여기 평균(ma)이 있는 하나의 WPR이 있습니다.

Mladen님, 감사합니다.

cmo's ma를 시도하고 있지만 오류가 발생했습니다(iCMO 기능이 정의되지 않음)..도와줄 수 있나요..? 씨모가 붙어있다

//---- 표시기 설정

#속성 표시기_분리_창

#속성 표시기_버퍼 2

#property indicator_color1 실버

#property indicator_color2 빨간색

#속성 표시기_너비1 2

#속성 표시기_너비2 2

//---- 표시기 매개변수

extern int CMO_Period=21;

extern int MA_Period=14;

extern string m = "--이동 평균 유형--";

외부 문자열 m0 = " 0 = SMA";

외부 문자열 m1 = " 1 = EMA";

외부 문자열 m2 = " 2 = SMMA";

외부 문자열 m3 = "3 = LWMA";

외부 정수 MA_Type=1;

//---- 표시기 버퍼

이중 CMO_Buffer[];

이중 MA_Buffer[];

이중 iCMO[];

int MA_Mode;

문자열 strMA 유형;

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

//| 커스텀 인디케이터 초기화 기능 |

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

정수 초기화()

{

//---- 그리기 설정

SetIndexStyle(0,DRAW_LINE);

SetIndexStyle(1,DRAW_LINE);

SetIndexDrawBegin(1,CMO_Period);

IndicatorDigits(숫자+1);

//---- 표시기 버퍼 매핑

SetIndexBuffer(0,CMO_Buffer);

SetIndexBuffer(1,MA_Buffer);

//---- DataWindow의 이름 및 표시기 하위 창 레이블

스위치(MA_Type)

{

사례 1: strMAType="EMA"; MA_Mode=MODE_EMA; 부서지다;

사례 2: strMAType="SMMA"; MA_Mode=MODE_SMMA; 부서지다;

사례 3: strMAType="LWMA"; MA_Mode=MODE_LWMA; 부서지다;

기본값: strMAType="SMA"; MA_Mode=MODE_SMA; 부서지다;

}

IndicatorShortName( "CMO" + " (" + CMO_Period + ") " + " : " + strMAType+ " (" +MA_Period + ") ");

SetIndexLabel(0,"CMO" + " (" +CMO_Period + ") ");

SetIndexLabel(1,strMAType+ "(" + MA_Period + ") ");

//---- 초기화 완료

리턴(0);

}

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

//| 이동 평균 수렴/발산 |

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

정수 시작()

{

정수 제한;

int counted_bars=IndicatorCounted();

//---- 마지막으로 계산된 막대가 다시 계산됩니다.

if(counted_bars>0) counted_bars--;

limit=막대-counted_bars;

//---- 첫 번째 버퍼에서 계산된 CMO

for(int i=0; i<limit; i++)

CMO_Buffer=iCMO(NULL,0,CMO_Period,i);

//---- 두 번째 버퍼에서 계산된 MA 라인

for(i=0; i<한계; i++)

MA_Buffer=iMAOnArray(CMO_Buffer,Bars,MA_Period,0,MA_Mode,i);

//---- 완료

반환(0);

}

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

파일:
cmo.mq4  6 kb
 

Mladen, 오류 를 찾는 데 도움을 줄 수 있습니까?

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color2 Red

//----

double UpperBuf[];

double UpperBuf1[];

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

//| |

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

void init()

{

SetIndexStyle(0, DRAW_NONE, STYLE_SOLID, 1);

//----

SetIndexDrawBegin(0, N);

//----

SetIndexBuffer(0, UpperBuf);

SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 1);

//----

SetIndexDrawBegin(1, N);

//----

SetIndexBuffer(1, UpperBuf1);

}

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

//| |

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

void deinit()

{

//----

}

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

//| |

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

void start()

{

int counted = IndicatorCounted();

//----

if(counted < 0)

return (-1);

//----

if(counted > 0)

counted--;

int limit = Bars - counted;

//----

for(int i = 0; i < limit; i++)

{

UpperBuf= ((High/Close)-34)*Volume;

UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);

}

}

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

 
anonimm:
Mladen님, 감사합니다.

cmo's ma를 시도하고 있지만 오류가 발생했습니다(iCMO 기능이 정의되지 않음)..도와줄 수 있나요..? 씨모가 붙어있다

//---- 표시기 설정

#속성 표시기_분리_창

#속성 표시기_버퍼 2

#property indicator_color1 실버

#property indicator_color2 빨간색

#속성 표시기_너비1 2

#속성 표시기_너비2 2

//---- 표시기 매개변수

extern int CMO_Period=21;

extern int MA_Period=14;

extern string m = "--이동 평균 유형--";

외부 문자열 m0 = " 0 = SMA";

외부 문자열 m1 = " 1 = EMA";

외부 문자열 m2 = " 2 = SMMA";

외부 문자열 m3 = "3 = LWMA";

외부 정수 MA_Type=1;

//---- 표시기 버퍼

이중 CMO_Buffer[];

이중 MA_Buffer[];

이중 iCMO[];

int MA_Mode;

문자열 strMA 유형;

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

//| 커스텀 인디케이터 초기화 기능 |

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

정수 초기화()

{

//---- 그리기 설정

SetIndexStyle(0,DRAW_LINE);

SetIndexStyle(1,DRAW_LINE);

SetIndexDrawBegin(1,CMO_Period);

IndicatorDigits(숫자+1);

//---- 표시기 버퍼 매핑

SetIndexBuffer(0,CMO_Buffer);

SetIndexBuffer(1,MA_Buffer);

//---- DataWindow의 이름 및 표시기 하위 창 레이블

스위치(MA_Type)

{

사례 1: strMAType="EMA"; MA_Mode=MODE_EMA; 부서지다;

사례 2: strMAType="SMMA"; MA_Mode=MODE_SMMA; 부서지다;

사례 3: strMAType="LWMA"; MA_Mode=MODE_LWMA; 부서지다;

기본값: strMAType="SMA"; MA_Mode=MODE_SMA; 부서지다;

}

IndicatorShortName( "CMO" + " (" + CMO_Period + ") " + " : " + strMAType+ " (" +MA_Period + ") ");

SetIndexLabel(0,"CMO" + " (" +CMO_Period + ") ");

SetIndexLabel(1,strMAType+ "(" + MA_Period + ") ");

//---- 초기화 완료

리턴(0);

}

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

//| 이동 평균 수렴/발산 |

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

정수 시작()

{

정수 제한;

int counted_bars=IndicatorCounted();

//---- 마지막으로 계산된 막대가 다시 계산됩니다.

if(counted_bars>0) counted_bars--;

limit=막대-counted_bars;

//---- 첫 번째 버퍼에서 계산된 CMO

for(int i=0; i<limit; i++)

CMO_Buffer=iCMO(NULL,0,CMO_Period,i);

//---- 두 번째 버퍼에서 계산된 MA 라인

for(i=0; i<한계; i++)

MA_Buffer=iMAOnArray(CMO_Buffer,Bars,MA_Period,0,MA_Mode,i);

//---- 완료

리턴(0);

}

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

여기 당신이 간다 추신 : 독립 실행형 버전이며 cmo가 필요하지 않습니다.

파일:
cmo_ma.mq4  2 kb
 
k3rn3l:
Mladen, 오류를 찾는 데 도움을 줄 수 있습니까?

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color2 Red

//----

double UpperBuf[];

double UpperBuf1[];

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

//| |

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

void init()

{

SetIndexStyle(0, DRAW_NONE, STYLE_SOLID, 1);

//----

SetIndexDrawBegin(0, N);

//----

SetIndexBuffer(0, UpperBuf);

SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 1);

//----

SetIndexDrawBegin(1, N);

//----

SetIndexBuffer(1, UpperBuf1);

}

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

//| |

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

void deinit()

{

//----

}

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

//| |

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

void start()

{

int counted = IndicatorCounted();

//----

if(counted < 0)

return (-1);

//----

if(counted > 0)

counted--;

int limit = Bars - counted;

//----

for(int i = 0; i < limit; i++)

{

UpperBuf= ((High/Close)-34)*Volume;

UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);

}

}

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

k3rn3l

다음과 같이 시도하십시오.

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 Red

double UpperBuf[];

double UpperBuf1[];

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

//| |

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

void init()

{

IndicatorBuffers(2);

SetIndexBuffer(0, UpperBuf1);

SetIndexBuffer(1, UpperBuf);

}

void deinit() {}

void start()

{

int counted = IndicatorCounted();

if(counted < 0) return (-1);

if(counted > 0) counted--;

int limit = Bars - counted;

for(int i = 0; i < limit; i++)

if (Close!=0)

UpperBuf= ((High/Close)-34)*Volume;

else UpperBuf= 0;

for( i = 0; i < limit; i++) UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);

}
 

친애하는 믈라덴;

wpr ma 및 cmo ma indics에 다시 한 번 감사드립니다. 첫 번째 indic의 경우 wpr per를 a로, ma per를 b로, 두 번째 indic cmo 범위를 c로, ma per를 d로 설정한다고 가정합니다. 나는 wpr이 ma를 교차하고(wpr>level x 동안) cmo가 ma를 교차할 때(동안 cmo>level y) 동일한 분/BAR에서 사고 싶습니다. (여기서 중요한 것은 두 가지 조건이 동시에 발생해야 한다는 것입니다.) 그리고 반대 조건을 매도하십시오.

가능합니까?

 
anonimm:
친애하는 믈라덴;

wpr ma 및 cmo ma indics에 다시 한 번 감사드립니다. 첫 번째 indic의 경우 wpr per를 a로, ma per를 b로, 두 번째 indic cmo 범위를 c로, ma per를 d로 설정한다고 가정합니다. 나는 wpr이 ma를 교차하고(wpr>level x 동안) cmo가 ma를 교차할 때(동안 cmo>level y) 동일한 분/BAR에서 사고 싶습니다. (여기서 중요한 것은 두 가지 조건이 동시에 발생해야 한다는 것입니다.) 그리고 반대 조건을 매도하십시오.

가능합니까?

것이 가능하다

iCustom()을 사용 하여 찾고 있는 조건을 확인하고 사용하는 사용자 지정 표시기의 수에 관계없이 조건을 하나의 신호로 결합할 수 있습니다.

 

누구든지 950개 이상의 카운트바에 대해 이 표시기를 수정하도록 도와줄 수 있습니까?

파일:
 
YSCWL:
누구든지 950개 이상의 카운트바에 대해 이 표시기를 수정하도록 도와줄 수 있습니까?

사용해보기

파일: