코딩 도움말 - 페이지 466

 

모두 좋은 아침.

나는 이 표시기와 내가 결코 나타나지 않는 빨간 양초의 많은 버전을 보았고, 오류를 수정할 수 있었습니다 ????.

매우 감사합니다.

#속성 표시기_분리_창

#속성 표시기_버퍼 2

#property indicator_color1 라임그린

#property indicator_color2 빨간색

//---- 표시기 버퍼

이중 ind_buffer1[];

이중 ind_buffer2[];

이중 ind_buffer3[];

//----

이중 CB = 0, 가치h1 = 0, 가치l = 0, 가치h = 0, 가치 = 0, 가격 = 0, hi = 1, lo = 1;

이중 resh = 0, resl = 0, deltah = 0, deltal = 0;

정수 현재 표시줄 = 0;

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

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

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

정수 초기화()

{

//---- 카운팅에 사용되는 추가 버퍼 1개.

표시 버퍼(3);

//---- 그리기 설정

SetIndexStyle(0, DRAW_HISTOGRAM, STYLE_SOLID, 2);

SetIndexStyle(1, DRAW_HISTOGRAM, STYLE_SOLID, 2);

IndicatorDigits(MarketInfo(Symbol(), MODE_DIGITS) + 1);

SetIndexDrawBegin(0, 34);

SetIndexDrawBegin(1, 34);

//---- 3개의 인디케이터 버퍼 매핑

if(!SetIndexBuffer(0, ind_buffer1) &&

!SetIndexBuffer(1, ind_buffer2) &&

!SetIndexBuffer(2, ind_buffer3))

Print("표시 버퍼를 설정할 수 없습니다!");

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

IndicatorShortName("델타포스");

SetIndexLabel(0, "DF1");

SetIndexLabel(1, "DF2");

//---- 초기화 완료

리턴(0);

}

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

//| 델타포스 |

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

정수 시작()

{

for(CB = 0 ; CB <= 막대 ; CB++)

{

CurrentBar = 막대 - CB;

if(닫기[현재막대] > 닫기[현재막대+1])

{

resl = 0;

if(다시 == 0)

델타 = 0;

deltah = deltah + (닫기[현재막대] - 닫기[현재막대+1]);

// 값h = 높음[현재 표시줄];

다시 = 1;

}

if(다시 == 0)

델타 = 0;

ind_buffer1[CurrentBar] = 델타;

if(닫기[현재막대] < 닫기[현재막대+1] )

{

다시 = 0;

if(resl == 0)

델타 = 0;

델타 = 델타 + (닫기[CurrentBar+1] - 닫기[CurrentBar]);

//값 = 낮음[현재 막대];

resl= 1;

}

if(resl == 0 )

델타 = 0;

ind_buffer2[CurrentBar] = 델타;

}

//---- 완료

반환(0);

}

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

 
rookiespain:
모두 좋은 아침.

나는 이 표시기와 내가 결코 나타나지 않는 빨간 양초의 많은 버전을 보았고, 오류를 수정할 수 있었습니다 ????.

매우 감사합니다.

#속성 표시기_분리_창

#속성 표시기_버퍼 2

#property indicator_color1 라임그린

#property indicator_color2 빨간색

//---- 표시기 버퍼

이중 ind_buffer1[];

이중 ind_buffer2[];

이중 ind_buffer3[];

//----

이중 CB = 0, 가치h1 = 0, 가치l = 0, 가치h = 0, 가치 = 0, 가격 = 0, hi = 1, lo = 1;

이중 resh = 0, resl = 0, deltah = 0, deltal = 0;

정수 현재 표시줄 = 0;

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

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

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

정수 초기화()

{

//---- 카운팅에 사용되는 추가 버퍼 1개.

표시 버퍼(3);

//---- 그리기 설정

SetIndexStyle(0, DRAW_HISTOGRAM, STYLE_SOLID, 2);

SetIndexStyle(1, DRAW_HISTOGRAM, STYLE_SOLID, 2);

IndicatorDigits(MarketInfo(Symbol(), MODE_DIGITS) + 1);

SetIndexDrawBegin(0, 34);

SetIndexDrawBegin(1, 34);

//---- 3개의 인디케이터 버퍼 매핑

if(!SetIndexBuffer(0, ind_buffer1) &&

!SetIndexBuffer(1, ind_buffer2) &&

!SetIndexBuffer(2, ind_buffer3))

Print("표시 버퍼를 설정할 수 없습니다!");

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

IndicatorShortName("델타포스");

SetIndexLabel(0, "DF1");

SetIndexLabel(1, "DF2");

//---- 초기화 완료

리턴(0);

}

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

//| 델타포스 |

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

정수 시작()

{

for(CB = 0 ; CB <= 막대 ; CB++)

{

CurrentBar = 막대 - CB;

if(닫기[현재막대] > 닫기[현재막대+1])

{

resl = 0;

if(다시 == 0)

델타 = 0;

deltah = deltah + (닫기[현재막대] - 닫기[현재막대+1]);

// 값h = 높음[현재 표시줄];

다시 = 1;

}

if(다시 == 0)

델타 = 0;

ind_buffer1[CurrentBar] = 델타;

if(닫기[현재막대] < 닫기[현재막대+1] )

{

다시 = 0;

if(resl == 0)

델타 = 0;

델타 = 델타 + (닫기[CurrentBar+1] - 닫기[CurrentBar]);

//값 = 낮음[현재 막대];

resl= 1;

}

if(resl == 0 )

델타 = 0;

ind_buffer2[CurrentBar] = 델타;

}

//---- 완료

리턴(0);

}

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

지금 사용해보십시오 : _test.mq4

파일:
_test.mq4  3 kb
test.gif  68 kb
 
Big Be:
스탠웰,

도움이 될 모든 것을 보여주는 몇 장의 사진.

빅비

안녕하세요 빅베입니다.

좋은 지적입니다. 내일 차트 몇 개를 게시하겠습니다.

건배,

스탠

 

다음은 수동으로 표시한 AUD 차트입니다. 빨간색 상자는 겹치는 막대입니다. 왼쪽에는 내부에 3개의 막대만 표시되는 사각형이 있으므로 정의에 맞지 않습니다. 그러나 이 레그가 6 X ATR보다 크다면 스윙으로도 간주할 것이지만(3개의 막대로 거래하기는 어렵습니다) 이 요구 사항은 코딩을 복잡하게 하므로 제외할 수 있습니다. 시간 인.

고마워.

스탠

파일:
 

안녕하세요 Mladen과 Mrtools입니다!

다시 도움이 필요합니다. 이 표시기에 시각/음향 경고를 추가할 수 있습니까?

미리 감사합니다, 건배!

파일:
 

MLADEN, 좋은 아침입니다.

정말 감사합니다. _test를 시도했고 오른쪽이 나타납니다.

ProRealTime / VISUALCHART에서 내가 더 많은 도움을 줄 수 있지만 여기에서 내가 가진 모든 도움.

친애하는.

 

안녕,

표시기가 있고 막대 계산 을 제한하고 싶습니다.

원래 코드는 다음과 같습니다.

int start()

{

int counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

int limit = MathMin(Bars-counted_bars,Bars-1);[/CODE]

i changed it with this:

[CODE]int start()

{

int counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

int limit = MathMin(NBars-counted_bars,NBars-1);

맞나요? 표시기는 잘 작동하는 것 같지만 실제로 막대 계산을 제한했는지 의심스럽습니다.

 
thefxpros:
안녕,

표시기가 있고 막대 계산을 제한하고 싶습니다.

원래 코드는 다음과 같습니다.

int start()

{

int counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

int limit = MathMin(Bars-counted_bars,Bars-1);[/CODE]

i changed it with this:

[CODE]int start()

{

int counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

int limit = MathMin(NBars-counted_bars,NBars-1);
맞나요? 표시기는 잘 작동하는 것 같지만 실제로 막대 계산을 제한했는지 의심스럽습니다.

더 엑스프로

아니오. 다음과 같이 하십시오.

int limit = MathMin(MathMin(막대-카운트된_막대,막대-1),NBars);

그러나 그 경우에는 항상 NBars가 항상 > 0인지 확인해야 합니다.

 

안녕 mladen

당신이 나를 도울 수 있다면 X 및 Y 축을 추가하면 모서리에 넣을 수 있습니다.

그리고 글꼴 크기 를 조정할 수 있습니다. 제 영어로는 죄송합니다.

!X2014-PIPSv2

정말 고마워.

파일:
 
blueface:
안녕 mladen

당신이 나를 도울 수 있다면 X 및 Y 축을 추가하면 모서리에 넣을 수 있습니다.

그리고 글꼴 크기를 조정할 수 있습니다. 제 영어는 죄송합니다.

!X2014-PIPSv2

정말 고마워.

블루페이스

코드에 posX 및 posY 변수가 이미 있습니다.