코딩 도움말 - 페이지 427

 
AtApi:
mladen 감사합니다. 비록 내가 찾고 있는 것은 아니지만... 더블 지그재그는 다시 칠하지 않습니다(둘 다 지그재그로 정렬됨). 왜냐하면 프랙탈을 기반으로 하기 때문입니다. 그 점은 내가 삼각형을 만들고 싶은 곳입니다.

가장 최근 2개의 상위 신호와 2개의 가장 최근의 하위 신호를 얻기 위해 코드를 약간 수정하려고 시도했지만 멈췄습니다. 내가 무엇을 하려고 하는지 보여드리겠습니다.

이 부분은 두 지그재그가 정렬될 때 신호를 그리는 부분입니다.

// Do both zigzag agree on the signal?

if(SlowSignal == FastSignal && SlowSignal != EMPTY_VALUE)

{

if(SlowSignal == OP_BUY)

{

ExtMapBuffer3 = fr_support - nShift*Point;

} else {

ExtMapBuffer3 = fr_resistance + nShift*Point;

}

[/CODE]

after this i want to get the most recent upper and the previously upper and most recent lower and the previously lower like this

[CODE]

HighOldest = ExtMapBuffer3[ArrayMaximum(ExtMapBuffer3,BarsBack,i+2)];

LowOldest = ExtMapBuffer3[ArrayMinimum(ExtMapBuffer3,BarsBack,i+2)];

그래서 나는 ExtMapBuffer3의 최근 자료와 HighOldest의 가장 오래된 자료를 가지고 있어야 합니다.

그런 다음 추세선을 구성하는 2포인트를 갖게 됩니다.

하지만 어떤 이유로 버퍼 어딘가에 EMPTY_VALUE가 있어야 합니다. ArrayMaximum을 수행하면 EMPY_VALUE가 배열의 최대값으로 반환되기 때문입니다.

나는 희망이 분명하다...

내가 그것을 해결했습니다!

 
mladen:
TFI 표시기 이름 뒤에 ""("Efficiency_v1.1" 뒤)라는 하나의 추가 매개변수가 있어서는 안 됩니다. 지표명 이름 뒤의 "" 부분(빈 문자열) 삭제

안녕 믈라덴

당신의 제안을 주셔서 대단히 감사합니다. 롱/숏 거래를 여는 제약이 충족되어도 EA가 더 이상 거래를 열지 않기 때문에(제로 라인이 교차) 필터 종류의 신호를 잘못 잡았는지 궁금합니다. 귀하의 전문 지식과 함께 내 코드를 검토할 수 있습니까?

(다시한번) 정말 감사합니다 :-)

if(openedOrders<=0)

{

double trend_up = iCustom(Symbol(),0,"Hull moving average 2 strict nmc","", HMA_Period, HMA_Price, HMA_Speed,0,3,1);

double trend_down = iCustom(Symbol(),0,"Hull moving average 2 strict nmc","", HMA_Period, HMA_Price, HMA_Speed,0,3,2);

double trendf_up = iCustom(Symbol(),0,"Efficiency_v1.1",Price,Length,Smooth,Signal,MA_Mode,NoiseMode,0,1,1); // Signal Buffer 1

double trendf_down = iCustom(Symbol(),0,"Efficiency_v1.1",Price,Length,Smooth,Signal,MA_Mode,NoiseMode,0,1,2);

int clongs = 0;

int cshorts = 0;

for(i=OrdersTotal()-1;i>=0; i--)

{

if(OrderType()==OP_BUY) clongs++; // Check # of long trades.

if(OrderType()==OP_SELL) cshorts++; // Check # of short trades

}

if(trend_up!=trend_down)

{

if((clongs 0 && trendf_down<0)) OpenBuy(); // Indicator and filter = long

if((cshorts < maxshorttrades && trend_down==-1) && (trendf_up0)) OpenSell(); // Indicator and filter = short

}

}

친절하게도,

TFI

파일:
betrade.jpg  76 kb
 

안녕하세요 여러분, 저는 (수동) 표시기 AbsoluteStrength를 사용하고 있습니다.

파란색 선이 파란색 파선과 교차하거나 빨간색 선이 빨간색 파선과 교차할 때 누군가 경보를 추가할 수 있습니까(첨부된 스크린샷 참조).

allabsolutestrength_v2.3_600.mq4

매우 감사합니다

페트르 자호다

 

안녕하세요 프로코더 여러분,

내 ADX 추세 강도 필터의 계산이 올바른지 궁금합니다.

bool ADX_filter()

{

bool result=false;

double ADXfactor= 1;

double ADXminus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MINUSDI,0);

double ADXplus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_PLUSDI,0);

double ADXmain = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MAIN,0);

if(ADXplus>ADXfactor*ADXminus && ADXmain>=20 && ADXmain<=40) result=true; // buy

if(ADXminus=20 && ADXmain<=40) result=false; // sell

return(result);

}

[/CODE]

It may be called like this:

[CODE]

if(clongs<maxlongtrades && trend_up==1 && (ADX_filter()==true)) OpenBuy();

고맙습니다.

 
tfi_markets:
안녕하세요 프로코더 여러분,

내 ADX 추세 강도 필터의 계산이 올바른지 궁금합니다.

bool ADX_filter()

{

bool result=false;

double ADXfactor= 1;

double ADXminus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MINUSDI,0);

double ADXplus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_PLUSDI,0);

double ADXmain = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MAIN,0);

if(ADXplus>ADXfactor*ADXminus && ADXmain>=20 && ADXmain<=40) result=true; // buy

if(ADXminus=20 && ADXmain<=40) result=false; // sell

return(result);

}

[/CODE]

It may be called like this:

[CODE]

if(clongs<maxlongtrades && trend_up==1 && (ADX_filter()==true)) OpenBuy();

고맙습니다.

tfi_markets

함수 에 관한 한 그렇습니다. 그렇게 부를 수 있습니다.

 
mladen:
tfi_markets 함수에 관한 한, 예, 그렇게 부를 수 있습니다.

안녕 믈라덴

당신의 의견에 감사드립니다. 특히 MQL4/MT4로 디버깅하는 것이 어려울 수 있기 때문에 내 코드를 주로 단순하고 버그가 없는 상태로 유지하고 싶습니다.

ADX가 20을 초과하는 강력한 주요 추세를 거래하고 싶다고 가정해 보겠습니다. 다음과 같이 좀 더 간단하게 코딩할 수도 있습니다.

bool ADX_filter()

{

bool result=false;

if(iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)>20) result = true; // buy

if (iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)<20) result = false; // sell

return (result);

}

if(clongs1 && ADX_filter()==true)) OpenBuy();

if(cshorts<maxshorttrades && trendc==-1 &&(CCIFilter<-1 && ADX_filter()==false)) OpenSell()

권리?

미리 감사드리며 좋은 주말 보내세요.

 

안녕.

최근에 나는 지표 창에서 HMA 슬로프도 시도해야 하는 선체 이동 평균과 강인함을 사용하고 있습니다. 찾았지만 내 mt4 플랫폼에서는 제대로 작동하지 않습니다.

hull_moving_average_2.01_amp_sr_lines_separate.mq4

감사해요

 
NWFstudent:
안녕.

최근에 나는 지표 창에서 HMA 슬로프도 시도해야 하는 선체 이동 평균과 강인함을 사용하고 있습니다. 찾았지만 내 mt4 플랫폼에서는 제대로 작동하지 않습니다.

hull_moving_average_2.01_amp_sr_lines_separate.mq4

감사해요

문제의 절반은 이미 해결된 것 같습니다!

 
NWFstudent:
안녕.

최근에 나는 지표 창에서 HMA 슬로프도 시도해야 하는 선체 이동 평균과 강인함을 사용하고 있습니다. 찾았지만 내 mt4 플랫폼에서는 제대로 작동하지 않습니다.

hull_moving_average_2.01_amp_sr_lines_separate.mq4

감사해요

NWF학생

두 번째 색상을 검은색에서 다른 색상으로 변경합니다(그리고 세 번째 색상을 두 번째 색상과 같은 색상으로 설정) 지금은 배경과 두 번째 색상이 동일하기 때문에 볼 수 없습니다 - 검정색

 
mladen:
NWFstudent 두 번째 색상을 검은색에서 다른 색상으로 변경합니다(그리고 세 번째 색상을 두 번째 색상과 같은 색상으로 설정) 지금 당장은 배경과 두 번째 색상이 동일하기 때문에 볼 수 없습니다 - 검정색

와우, 이제 완전히 바보가 된 기분이야

나는 입력을 찾고 있었는데 위쪽은 파란색이고 아래쪽은 빨간색이지만 물론 언제나처럼 당신이 옳았습니다.

지체해서 죄송합니다