코딩하는 방법? - 페이지 70

 

도움이 필요하다

.......................

 
SIDDESH:
안녕,

이전 막대의 코드를 알려주십시오.

이것은 이전 막대가 특정 높이보다 높을 때 주문을 제한하기 위해 EA에서 사용할 수 있습니다.

문안 인사,

시데시

도움이 될 수 있는 Siddesh 및 기타:

이전 막대의 코드는 다음과 같습니다.

//구매

이중 표시 과거 = icustom(..........................., 1 );

이중 표시기now = icustom(..........., 0 );

if (close[1]indicatornow) OpenBUY();

if (close[1]>indicatorpast && close[0]<indicatornow) OpenSELL();

그러나 이러한 만족으로 전문가는 가격이 지표를 넘어갈 때 포지션을 오픈할 뿐만 아니라 지표 위의 포지션도 엽니다. 나는 그것이 지표를 지날 때만 전문가가 포지션을 열 수 있기를 원하므로 다음과 같이 시도했습니다.

//구매

이중 표시 과거 = icustom(...........,1);

이중 표시기now = icustom(...........,0);

if (close[1]<indicatorpast && close[0]==indicatornow) OpenBUY();

if (close[1]>indicatorpast && close[0]==indicatornow) OpenSELL();

그러나 이 진술은 실행되지 않습니다.

무슨 일이 일어나는지 아십니까? 진술에 오류가 없다고 생각하기 때문입니다.

문제는 닫기[0] == Indicatornow일 때 정확한 교차 지점에서 열리지 않는 이유입니다. 함수== 와 함께 있으면 표시기와 현재 막대의 닫기 사이의 교차 지점 위의 주문 열기를 방지하지만 변수 간의 이러한 유형의 관계에서는 기능하지 않습니다.

 

도움을 줄 수 있는 사람들:

이전 막대의 코드는 다음과 같습니다.

//구매

이중 지시자 과거 = icustom(..........., 1 );

이중 표시기now = icustom(..........., 0 );

if (close[1]indicatornow) OpenBUY();

if (close[1]>indicatorpast && close[0]<indicatornow) OpenSELL();

그러나 이러한 만족으로 전문가는 가격이 지표를 넘어갈 때 포지션을 오픈할 뿐만 아니라 지표 위의 포지션도 엽니다. 나는 그것이 지표를 지날 때만 전문가가 포지션을 열 수 있기를 원하므로 다음과 같이 시도했습니다.

//구매

이중 표시 과거 = icustom(...........,1);

이중 표시기now = icustom(...........,0);

if (close[1]<indicatorpast && close[0] == indicatornow) OpenBUY();

if (close[1]>indicatorpast && close[0] == indicatornow) OpenSELL();

그러나 이 진술은 실행되지 않습니다.

무슨 일이 일어나는지 아십니까? 진술에 오류가 없다고 생각하기 때문입니다.

문제는 닫기[0] == Indicatornow일 때 정확한 교차 지점에서 열리지 않는 이유입니다. 함수== 와 함께 있으면 표시기와 현재 막대의 닫기 사이의 교차 지점 위의 주문 열기를 방지하지만 변수 간의 이러한 유형의 관계에서는 기능하지 않습니다.

같은 문제를 실험해 보셨습니까? 해결 방법 아시는 분 계신가요?

다시 한 번 감사합니다.

 
la totona:
도움을 줄 수 있는 사람:

이전 막대의 코드는 다음과 같습니다.

//구매

이중 지시자 과거 = icustom(..........., 1 );

이중 표시기now = icustom(..........., 0 );

if (close[1]indicatornow) OpenBUY();

if (close[1]>indicatorpast && close[0]<indicatornow) OpenSELL();

그러나 이러한 만족으로 전문가는 가격이 지표를 넘어갈 때 포지션을 오픈할 뿐만 아니라 지표 위의 포지션도 엽니다. 나는 그것이 지표를 지날 때만 전문가가 포지션을 열 수 있기를 원하므로 다음과 같이 시도했습니다.

//구매

이중 표시 과거 = icustom(...........,1);

이중 표시기now = icustom(...........,0);

if (close[1]<indicatorpast && close[0] == indicatornow) OpenBUY();

if (close[1]>indicatorpast && close[0] == indicatornow) OpenSELL();

그러나 이 진술은 실행되지 않습니다.

무슨 일이 일어나는지 아세요? 진술에 오류가 없다고 생각하기 때문입니다.

문제는 닫기[0] == Indicatornow일 때 정확한 교차 지점에서 열리지 않는 이유입니다. 함수가 == 와 함께 있으면 표시기와 현재 막대의 닫기 사이의 교차 지점 위의 주문 열기를 방지하지만 변수 간의 이러한 유형의 관계에서는 기능하지 않습니다.

같은 문제를 실험해 보셨습니까? 해결 방법 아시는 분 계신가요?

다시 한 번 감사합니다.

반환된 8자리 부동 소수점 값 과 가격 간의 정확한 일치를 찾고 있기 때문에 이러한 해상도에서는 거의 동일하지 않습니다. 보다 크거나 보다 작음 조건을 확인하기만 하면 됩니다.

 

스위칭 소프트웨어

안녕하세요 여러분, 메타트레이더 4에서 작동 하기 때문에 이 지표나 거래 관련 시스템을 언어 mql로 바꿔야 합니다. 브로커와 소프트웨어를 바꾸고 있습니까? 누군가 나를 도울 수 있습니까?

{확장 회귀 이동 평균 계산}

{시작}

{"-HShift" - 앞으로 막대}

DataBars:= Ref(가격,- HShift);

e1:= Mov(DataBars,PeriodMA,TypeMA);

e2:= Mov(e1,PeriodMA,TypeMA);

e3:= Mov(e2,PeriodMA,TypeMA);

e4:= Mov(e3,PeriodMA,TypeMA);

e5:= Mov(e4,PeriodMA,TypeMA);

e6:= Mov(e5,PeriodMA,TypeMA);

c1:= -b*b*b;

c2:= 3*b*b+3*b*b*b;

c3:= -6*b*b-3*b-3*b*b*b;

c4:= 1+3*b+b*b*b+3*b*b;

MV:= c1*e6+c2*e5+c3*e4+c4*e3;

{시간의 계산 MV

초기값 왜곡 제거}

{T3 이동 평균}

e1:= Mov(Pr,PeriodMA1,TypeMA1);

e2:= Mov(e1,PeriodMA1,TypeMA1);

e3:= Mov(e2,PeriodMA1,TypeMA1);

e4:= Mov(e3,PeriodMA1,TypeMA1);

e5:= Mov(e4,PeriodMA1,TypeMA1);

e6:= Mov(e5,PeriodMA1,TypeMA1);

c1:= -b1*b1*b1;

c2:= 3*b1*b1+3*b1*b1*b1;

c3:= -6*b1*b1-3*b1-3*b1*b1*b1;

c4:= 1+3*b1+b1*b1*b1+3*b1*b1;

MA1:= c1*e6+c2*e5+c3*e4+c4*e3;

{추세 상승 및 하락}

상승 추세:=Mv>=MA1;

DownTrend:=MA1>=Mv;

{신호 길고 짧은}

Long:= 교차(Mv,MA1) 및 Mv>=MA1;

Short:= 교차(MA1,Mv) 및 MA1>=Mv;

{OpenBuy 및 CloseBuy}

OpenBuy:= 교차(Mv,MA1) 및 Mv>=MA1;

CloseBuy:= 교차(MA1,Mv) 및 MA1>=Mv;

{OpenSell 및 CloseSell}

OpenSell:= 교차(MA1,Mv) 및 MA1>=Mv;

CloseSell:= 교차(Mv,MA1) 및 Mv>=MA1;

 
bobo10:
안녕하세요 여러분, 메타트레이더 4에서 작동하기 때문에 이 지표나 거래 관련 시스템을 언어 mql로 바꿔야 합니다. 브로커와 소프트웨어를 바꾸고 있습니까? 누군가 나를 도울 수 있습니까?

{T3 이동 평균}

e1:= Mov(Pr,PeriodMA1,TypeMA1);

e2:= Mov(e1,PeriodMA1,TypeMA1);

e3:= Mov(e2,PeriodMA1,TypeMA1);

e4:= Mov(e3,PeriodMA1,TypeMA1);

e5:= Mov(e4,PeriodMA1,TypeMA1);

e6:= Mov(e5,PeriodMA1,TypeMA1);

c1:= -b1*b1*b1;

c2:= 3*b1*b1+3*b1*b1*b1;

c3:= -6*b1*b1-3*b1-3*b1*b1*b1;

c4:= 1+3*b1+b1*b1*b1+3*b1*b1;

MA1:= c1*e6+c2*e5+c3*e4+c4*e3;

이 모든 코드는 유사합니다. T3 코드 를 보고 시작할 수 있습니다.

 
nittany1:
전역, init() 앞에 놓으십시오.
datetime PreviousBar;[/CODE]

In the order placement and/or order close stuff, wrap it in this:

if(NewBar() == true)

{

if blah blah blah, gimme pips // not actual functions but you get the idea

if blah blah blah, close orders // um

}

Common function outside main loop:

[CODE]//--- returns true if current bar just formed

bool NewBar()

{

if(PreviousBar<Time[0])

{

PreviousBar = Time[0];

return(true);

}

else

{

return(false);

}

return(false);

}

도움을 주신 nitty1님 감사합니다. 시도해 볼게.

또한 waltini & Devil2000에 감사드립니다. 나는 지금 그것을 알아낼 수 있어야 한다.

 

데모에서 자유롭게 실행하기 위한 계정 코드

안녕:

계정 보안 코드가 포함된 EA가 데모 계정 에서 자유롭게 실행되도록 하기 위해 어떤 코드를 삽입할 수 있는지 알려주실 수 있나요?

이것이 가능합니까?

감사해요

 
fxgrm:
안녕:

계정 보안 코드가 포함된 EA가 데모 계정에서 자유롭게 실행되도록 하기 위해 어떤 코드를 삽입할 수 있는지 알려주실 수 있나요?

이것이 가능합니까?

감사해요

메타에디터에서:

bool IsDemo()

전문가가 데모 계정 에서 실행되면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.

 

StepMA로 "추세 조건" 코딩

구매 조건:

StepMA(색상 모드: 2)는 "긴"입니다.

스토캐스틱 은 아래에서 위로 20을 교차합니다.

판매 조건:

StepMA(색상 모드: 2)는 "짧음"입니다.

스토캐스틱은 위에서 아래로 80을 교차합니다.

이중 StochCurrent = iStochastic(NULL, 0, 21, 3, 8, MODE_SMA, 0, MODE_MAIN, Bar + 0);

이중 StochPrevious = iStochastic(NULL, 0, 21, 3, 8, MODE_SMA, 0, MODE_MAIN, Bar + 1);

이중 TrendLong = iCustom(NULL, 0, "stepma_v7ea", 1, 1.0, 0, 0, 0, 0.0, 거짓, 2, 0, 1, 막대 + 0);

이중 TrendShort = iCustom(NULL, 0, "stepma_v7ea", 1, 1.0, 0, 0, 0, 0.0, 거짓, 2, 0, 2, 막대 + 0);

다음과 같은 경우 구매:

TrendLong && StochCurrent > 20 && StochPrevious < 20

다음과 같은 경우 판매:

TrendShort && StochCurrent 80

누군가 위의 예에서 "Trend Condition" 코드로 나를 도와줄 수 있습니까? 작동하지 않습니다. 버퍼 1과 버퍼 2를 길고 짧은 모드로 호출하려고 했지만 이 표시기의 코드를 이해하지 못합니다. 미리 감사합니다!

사유: