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

 

Dema 변수가 잘못 설정되었습니다.

DEMA 변수 섹션, 해당 구문을 올바르게 설정할 수 없습니다. DEMA1, DEMA2, DEMA3 코드가 정확합니다.

DEMA 변수 섹션을 수정하는 데 도움을 주세요.

if (TradeOrAlert) {

if (DEMA1)>(DEMA2) {CLOSESHORT(Symbol()) ;}

if (DEMA1)<(DEMA2) {CLOSELONG(Symbol()) ;}

if ((DEMA1)>(DEMA2)) && ((DEMA2)>(DEMA3)) {BUY(Symbol(), B_Symbol_LS_0, B_Symbol_TP_0, B_Symbol_SL_0, B_Symbol_TS_0, "만약 ((DEMA1)2>(DEMA2) )>(DEMA3))";}

if ((DEMA1)<(DEMA2)) && ((DEMA2)<(DEMA3)) {SELL(Symbol(), S_Symbol_LS_0, S_Symbol_TP_0, S_Symbol_SL_0, S_Symbol_TS_0, "만약 ((DEMA1)2 &(DEMA2) )<(DEMA3))";}

CheckTrailingStop (Symbol(), 0, MagicNumberLong, B_Symbol_TS_0);

CheckTrailingStop(Symbol(), 1, MagicNumberShort, S_Symbol_TS_0);

} 또 다른 {

if (DEMA1)>(DEMA2) {MyAlert("if (DEMA1)>(DEMA2)", "CLOSESHORT(Symbol(),0.1,100,15,17)", Symbol());}

if (DEMA1)<(DEMA2) {MyAlert("if (DEMA1)<(DEMA2)", "CLOSELONG(Symbol(),0.1,100,15,17)", Symbol());}

if ((DEMA1)>(DEMA2)) && ((DEMA2)>(DEMA3)) {MyAlert("if ((DEMA1)>(DEMA2)) && ((DEMA2)>(DEMA3))", "BUY(Symbol) (),0.1,100,15,17)", 기호());}

if ((DEMA1)<(DEMA2)) && ((DEMA2)<(DEMA3)) {MyAlert("if ((DEMA1)<(DEMA2)) && ((DEMA2)<(DEMA3))", "SELL(Symbol (),0.1,100,15,17)", 기호());}

}

g_bars_276 = 막대;

리턴(0);

}

//----DEMA 변수----올바르게 설정되지 않았습니다. 도움이 필요합니다-----

정수 초기화() {

이중 DEMA1 = (iMA(NULL,NULL,4,0,MODE_EMA,PRICE_CLOSE,0))*2 - (iMA(NULL,NULL,4,0,MODE_EMA,iMA(NULL,NULL,4,0,MODE_EMA,PRICE_CLOSE) ,0),0));

반환(DEMA1);

}

정수 시작() {

이중 DEMA2 = (iMA(NULL,NULL,6,0,MODE_EMA,PRICE_CLOSE,0))*2 - (iMA(NULL,NULL,6,0,MODE_EMA,iMA(NULL,NULL,6,0,MODE_EMA,PRICE_CLOSE) ,0),0));

반환(DEMA2);

}

정수 시작() {

이중 DEMA3 = (iMA(NULL,NULL,12,0,MODE_EMA,PRICE_CLOSE,0))*2 - (iMA(NULL,NULL,12,0,MODE_EMA,iMA(NULL,NULL,12,0,MODE_EMA,PRICE_CLOSE) ,0),0));

반환(DEMA3);

}

//

 

Dema 변수가 잘못 설정되었습니다.

아래 코드의 "DEMA VARIABLES" 섹션에서 구문을 올바르게 설정하는 문제에 직면해 있습니다.

또한 Dema 변수와 관련하여 "#include" 섹션 뒤에 포함할 항목을 지정하십시오.

나는 오류를 얻는다

'DEMA1' - 변수가 정의되지 않았습니다.

'DEMA2' - 변수가 정의되지 않았습니다.

'DEMA3' - 변수가 정의되지 않았습니다.

도와주세요.

if (TradeOrAlert) {

if (DEMA1)>(DEMA2) {CLOSESHORT(Symbol()) ;}

if (DEMA1)<(DEMA2) {CLOSELONG(Symbol()) ;}

if ((DEMA1)>(DEMA2)) && ((DEMA2)>(DEMA3)) {BUY(Symbol(), B_Symbol_LS_0, B_Symbol_TP_0, B_Symbol_SL_0, B_Symbol_TS_0, "만약 ((DEMA1)2>(DEMA2) )>(DEMA3))";}

if ((DEMA1)<(DEMA2)) && ((DEMA2)<(DEMA3)) {SELL(Symbol(), S_Symbol_LS_0, S_Symbol_TP_0, S_Symbol_SL_0, S_Symbol_TS_0, "만약 ((DEMA1)2 &(DEMA2) )<(DEMA3))";}

CheckTrailingStop (Symbol(), 0, MagicNumberLong, B_Symbol_TS_0);

CheckTrailingStop(Symbol(), 1, MagicNumberShort, S_Symbol_TS_0);

} 또 다른 {

if (DEMA1)>(DEMA2) {MyAlert("if (DEMA1)>(DEMA2)", "CLOSESHORT(Symbol(),0.1,100,15,17)", Symbol());}

if (DEMA1)<(DEMA2) {MyAlert("if (DEMA1)<(DEMA2)", "CLOSELONG(Symbol(),0.1,100,15,17)", Symbol());}

if ((DEMA1)>(DEMA2)) && ((DEMA2)>(DEMA3)) {MyAlert("if ((DEMA1)>(DEMA2)) && ((DEMA2)>(DEMA3))", "BUY(Symbol) (),0.1,100,15,17)", 기호());}

if ((DEMA1)<(DEMA2)) && ((DEMA2)<(DEMA3)) {MyAlert("if ((DEMA1)<(DEMA2)) && ((DEMA2)<(DEMA3))", "SELL(Symbol (),0.1,100,15,17)", 기호());}

}

g_bars_276 = 막대;

리턴(0);

}

//----DEMA 변수----올바르게 설정되지 않았습니다. 도움이 필요합니다-----

정수 시작() {

이중 DEMA1 = (iMA(NULL,NULL,4,0,MODE_EMA,PRICE_CLOSE,0))*2 - (iMA(NULL,NULL,4,0,MODE_EMA,iMA(NULL,NULL,4,0,MODE_EMA,PRICE_CLOSE) ,0),0));

반환(DEMA1);

}

정수 시작() {

이중 DEMA2 = (iMA(NULL,NULL,6,0,MODE_EMA,PRICE_CLOSE,0))*2 - (iMA(NULL,NULL,6,0,MODE_EMA,iMA(NULL,NULL,6,0,MODE_EMA,PRICE_CLOSE) ,0),0));

반환(DEMA2);

}

정수 시작() {

이중 DEMA3 = (iMA(NULL,NULL,12,0,MODE_EMA,PRICE_CLOSE,0))*2 - (iMA(NULL,NULL,12,0,MODE_EMA,iMA(NULL,NULL,12,0,MODE_EMA,PRICE_CLOSE) ,0),0));

반환(DEMA3);

}

//

 

MA+Stoch 경고...제발

지표 작성을 도와줄 수 있습니까? MA+stoch with alert

스토크(5,3,3);MA(8);MA(15);MA(30)....

MA(8)>MA(15)>MA(30) 및 %K가 %D를 초과하지만 레벨 50 미만인 경우 경고

MA(8)<MA(15)<MA(30) 및 %D가 %K를 초과하지만 레벨 50을 초과하는 경우 경고

정말 감사합니다

내 영어는 외국어

동정적으로!

 
lequoctrieu:
지표 작성을 도와줄 수 있습니까? MA+stoch with alert

스토크(5,3,3);MA(8);MA(15);MA(30)....

MA(8)>MA(15)>MA(30) 및 %K가 %D를 초과하지만 레벨 50 미만인 경우 경고

MA(8)<MA(15)<MA(30) 및 %D가 %K 이상이지만 레벨 50 이상인 경우 경고

정말 감사합니다

내 영어는 외국어

동정적으로!

안녕,

내 indis 중 하나의 코드 조각을 필요에 맞게 조정해야 합니다.

외부 부울 AlertON=거짓;

extern 부울 EmailON=true;

extern bool SoundON=거짓;

extern bool VoiceON=거짓;

extern bool SMSON=거짓;

extern string ExtSoundFileName = "";//삭제보다 필요한 외부 사운드 파일

FastMA = fastMAnow;

SlowMA = slowMAnow;

if ((fastMAnow >= slowMAnow) && (fastMAprevious < slowMAprevious))

{

if (i == 1 && flagval1==0)

{

flagval1=1;

flagval2=0;

if (AlertON==true) Alert("Ask=",Ask,"\n Bid=",Bid,"\n Time=",TimeToStr(CurTime(),TIME_DATE)," ",TimeHour(CurTime)에서 신호를 구매하세요. ()),":",TimeMinute(CurTime()),"\n Symbol=",Symbol()," Period=",Period());

if (EmailON==true) SendMail("2754 BUY-ALP EUR","Ask="+DoubleToStr(Ask,4)+에서 BUY 신호", Bid="+DoubleToStr(Bid,4)+", Date=" +TimeToStr(CurTime(),TIME_DATE)+" "+TimeHour(CurTime())+":"+TimeMinute(CurTime())+" Symbol="+Symbol()+" Period="+Period());

if (SMSON==true) SendMail("2754 BUY-ALP EUR","Ask="+DoubleToStr(Ask,4)+에서 BUY 신호", Bid="+DoubleToStr(Bid,4)+", Date=" +TimeToStr(CurTime(),TIME_DATE)+" "+TimeHour(CurTime())+":"+TimeMinute(CurTime())+" Symbol="+Symbol()+" Period="+Period());

if (SoundON==true) PlaySound(ExtSoundFileName); // 엿보기 등

if (VoiceON==true) PlaySound(ExtSoundFileName);// 자신의 음성 wav

}

CrossUp = 낮음 - 범위*0.5;

}

else if ((fastMAnow slowMA이전))

{

if (i == 1 && flagval2==0)

{

flagval2=1;

flagval1=0;

if ( AlertON ==true) Alert(" Ask=",Ask,"\n Bid=",Bid,"\n Date=",TimeToStr(CurTime(),TIME_DATE)," ",TimeHour(CurTime)에서 신호 매도 ()),":",TimeMinute(CurTime()),"\n Symbol=",Symbol()," Period=",Period());

if (EmailON==true) SendMail("2754 SELL-ALP EUR","SELL 신호 at Ask="+DoubleToStr(Ask,4)+", Bid="+DoubleToStr(Bid,4)+", Date=" +TimeToStr(CurTime(),TIME_DATE)+" "+TimeHour(CurTime())+":"+TimeMinute(CurTime())+" Symbol="+Symbol()+" Period="+Period());

if (SMSON==true) SendMail("2754 SELL-ALP EUR","SELL 신호 at Ask="+DoubleToStr(Ask,4)+", Bid="+DoubleToStr(Bid,4)+", Date=" +TimeToStr(CurTime(),TIME_DATE)+" "+TimeHour(CurTime())+":"+TimeMinute(CurTime())+" Symbol="+Symbol()+" Period="+Period());

if (SoundON==true) PlaySound(ExtSoundFileName); // 엿보기 등

if (VoiceON==true) PlaySound(ExtSoundFileName);// 자신의 음성 wav

}

CrossDown = 높음 + 범위*0.5;

}

}

반환(0);

}

 

MA+Stoch 경고...제발

ixbone:
안녕,

내 indis 중 하나의 코드 조각을 필요에 맞게 조정해야 합니다.

외부 부울 AlertON=거짓;

extern 부울 EmailON=true;

extern bool SoundON=거짓;

extern bool VoiceON=거짓;

extern bool SMSON=거짓;

extern string ExtSoundFileName = "";//삭제보다 필요한 외부 사운드 파일

FastMA = fastMAnow;

SlowMA = slowMAnow;

if ((fastMAnow >= slowMAnow) && (fastMAprevious < slowMAprevious))

{

if (i == 1 && flagval1==0)

{

flagval1=1;

flagval2=0;

if (AlertON==true) Alert("Ask=",Ask,"\n Bid=",Bid,"\n Time=",TimeToStr(CurTime(),TIME_DATE)," ",TimeHour(CurTime)에서 신호 구매 ()),":",TimeMinute(CurTime()),"\n Symbol=",Symbol()," Period=",Period());

if (EmailON==true) SendMail("2754 BUY-ALP EUR","Ask="+DoubleToStr(Ask,4)+에서 BUY 신호", Bid="+DoubleToStr(Bid,4)+", Date=" +TimeToStr(CurTime(),TIME_DATE)+" "+TimeHour(CurTime())+":"+TimeMinute(CurTime())+" Symbol="+Symbol()+" Period="+Period());

if (SMSON==true) SendMail("2754 BUY-ALP EUR","Ask="+DoubleToStr(Ask,4)+에서 BUY 신호", Bid="+DoubleToStr(Bid,4)+", Date=" +TimeToStr(CurTime(),TIME_DATE)+" "+TimeHour(CurTime())+":"+TimeMinute(CurTime())+" Symbol="+Symbol()+" Period="+Period());

if (SoundON==true) PlaySound(ExtSoundFileName); // 엿보기 등

if (VoiceON==true) PlaySound(ExtSoundFileName);// 자신의 음성 wav

}

CrossUp = 낮음 - 범위*0.5;

}

else if ((fastMAnow slowMA이전))

{

if (i == 1 && flagval2==0)

{

flagval2=1;

flagval1=0;

if (AlertON==true) Alert("SELL 신호 at Ask=",Ask,"\n Bid=",Bid,"\n Date=",TimeToStr(CurTime(),TIME_DATE)," ",TimeHour(CurTime ()),":",TimeMinute(CurTime()),"\n Symbol=",Symbol()," Period=",Period());

if (EmailON==true) SendMail("2754 SELL-ALP EUR","SELL 신호 at Ask="+DoubleToStr(Ask,4)+", Bid="+DoubleToStr(Bid,4)+", Date=" +TimeToStr(CurTime(),TIME_DATE)+" "+TimeHour(CurTime())+":"+TimeMinute(CurTime())+" Symbol="+Symbol()+" Period="+Period());

if (SMSON==true) SendMail("2754 SELL-ALP EUR","SELL 신호 at Ask="+DoubleToStr(Ask,4)+", Bid="+DoubleToStr(Bid,4)+", Date=" +TimeToStr(CurTime(),TIME_DATE)+" "+TimeHour(CurTime())+":"+TimeMinute(CurTime())+" Symbol="+Symbol()+" Period="+Period());

if (SoundON==true) PlaySound(ExtSoundFileName); // 엿보기 등

if (VoiceON==true) PlaySound(ExtSoundFileName);// 자신의 음성 wav

}

CrossDown = 높음 + 범위*0.5;

}

}

리턴(0);

}

감사합니다...ixbone

나는 코드를 매우 나쁘게 작성합니다 ... 그래서, 당신의 코드를 이해할 수 없습니다. ... 사용하기 위해 표시기 (.mq4)를 만드는 데 도움을 줄 수 있습니다.

그렇다면 대단히 감사합니다.

좋은 근무일을 기원합니다!

 

현재 막대의 높이가 이전 막대의 높이보다 2핍 더 큰지 어떻게 확인 합니까?

이 질문에 대한 잘못된 장소 죄송합니다.

이 관리자를 삭제하세요.

감사해요!

 

부분적으로 주문 마감

안녕,

두 가지 수준에서 이익 을 얻을 EA를 코딩하려고 합니다. 그렇게 하기 위해 첫 번째 수익 목표에서 "x" 로트가 제거되고 두 번째 수익 목표에서 나머지 로트가 제거되도록 원래 주문을 분할하고 싶습니다. 이를 위해 두 개의 OrderClose() 함수를 사용하고 있습니다.

첫 번째 OrderClose() 함수는 완벽하게 작동하지만 기존 주문을 닫고 나머지 로트에 대한 새 티켓을 생성하는 것처럼 보입니다.

누군가 이 "새" 티켓/주문을 처리하여 두 번째 CloseOrder() 함수에서 처리할 수 있도록 하는 방법에 대한 지침을 줄 수 있습니까?

건배

 
jimdee:
안녕,

두 가지 수준에서 이익을 얻을 EA를 코딩하려고 합니다. 그렇게 하기 위해 첫 번째 수익 목표에서 "x" 로트가 제거되고 두 번째 수익 목표에서 나머지 로트가 제거되도록 원래 주문을 분할하고 싶습니다. 이를 위해 두 개의 OrderClose() 함수를 사용하고 있습니다.

첫 번째 OrderClose() 함수는 완벽하게 작동하지만 기존 주문을 닫고 나머지 로트에 대한 새 티켓을 생성하는 것처럼 보입니다.

누군가 이 "새" 티켓/주문을 처리하여 두 번째 CloseOrder() 함수에서 처리할 수 있도록 하는 방법에 대한 지침을 줄 수 있습니까?

건배

그냥 아이디어입니다. 이익을 위한 부분 폐쇄를 달성하기가 더 어려운 경우 하나 대신 두 개의 거래를 사용하려고 시도할 수 있습니다. 그리고 오픈 시간 에 따라 이러한 거래를 관리합니다.

 
jimdee:
안녕,

두 가지 수준에서 이익을 얻을 EA를 코딩하려고 합니다. 그렇게 하기 위해 첫 번째 수익 목표에서 "x" 로트가 제거되고 두 번째 수익 목표에서 나머지 로트가 제거되도록 원래 주문을 분할하고 싶습니다. 이를 위해 두 개의 OrderClose() 함수를 사용하고 있습니다.

첫 번째 OrderClose() 함수는 완벽하게 작동하지만 기존 주문을 닫고 나머지 로트에 대한 새 티켓을 생성하는 것처럼 보입니다.

누군가 이 "새" 티켓/주문을 처리하여 두 번째 CloseOrder() 함수에서 처리할 수 있도록 하는 방법에 대한 지침을 줄 수 있습니까?

건배

사람들은 서로 다른 참조를 가지고 있습니다. 저는 브로커가 처리할 거래가 적기 때문에 부분 마감을 사용하는 것을 좋아합니다.

부분 청산이 발생할 때마다 브로커는 나머지 주문이 새 주문인 것처럼 작동하므로 새 티켓을 할당합니다. 그러나 다음 단계에서 거래를 식별하는 방법이 주문 티켓을 기반으로 하지 않거나 주문 로트를 기반으로 할 수 있거나 단계에 있을 때 EA를 나타내도록 변수를 할당할 수 있는 한 실제로 중요하지 않습니다.

부분 닫기는 다음 상황이 존재하는 경우 완전히 올바르게 처리하기가 약간 까다롭습니다.

1. 귀하의 주문은 MM 때문에 로트 크기가 다를 수 있습니다.

2. 로트 크기가 다른 여러 주문이 동시에 존재합니다.

귀하의 EA에 위와 같은 상황이 있고 코딩에 경험이 없다면 다중 주문 접근 방식을 사용할 수 있다고 생각합니다.

 

간단한 문제에 대한 빠른 수정. 고맙습니다 : )

다음 변수를 반환하고 싶습니다.

1. 마지막으로 기록된 월요일의 첫 번째 바 시가(아워바).

2. 마지막으로 기록된 수요일의 마지막 막대 종가 (시간 막대).

아무도 이것을 하는 방법을 알고 있습니까? 나는 다음과 같이 전달할 때 변수를 얻으려고 시도했습니다.

//------------------------------------------------ -------

if (현재 날짜 == 1 && 현재 시간 == 0)

{

MondayOpenPrice = iOpen(Symbol(),PERIOD_H1,0);

}

//------------------------------------------------ --------

위의 문제는 이러한 변수를 유지하기 위해 항상 메타 트레이더를 일주일 내내 계속 실행할 수 없다는 것입니다.

그래서 월요일 등의 기록된 첫 공개 가격에 대해 역사를 되돌아보려면 EA가 필요합니다...

시간 내주셔서 감사합니다.

사유: