코딩 도움말 - 페이지 554

 

Mntiwana, on Bar to Use 0을 입력하면 여전히 열려 있는 막대(EA, IMHO에 위험)에서 신호를 받습니다. 0보다 크면 EA는 열린 막대에서 닫힌 막대에서 신호를 다시 받게 됩니다. 따라서 다음과 같이 하면 BarToUse = 2이면 EA가 2개의 막대를 다시 확인 합니다.

 

안녕 mladen....도와주세요....나는 게시되었지만 당신이 볼 수 없는 것 같습니다... 알았어...나는 표시기가 있습니다 ...히스토 버전이 필요합니다.정말 감사합니다

파일:
trend.ex4  9 kb
trend.mq4  2 kb
 
aress:
안녕 mladen....도와주세요....나는 게시되었지만 당신이 볼 수 없는 것 같습니다... 알았어...나는 표시기가 있습니다 ...히스토 버전이 필요합니다.정말 감사합니다

에스

지표의 원본(디컴파일되지 않은) 소스 코드가 있습니까? 그렇다면 작업할 수 있도록 원본 mq4 파일을 게시하십시오.

_________________

추신: https://www.mql5.com/en/forum/174961/page4 도 확인할 수 있습니다.

 

안녕하세요 여러분,

내 코드를 살펴보십시오.

이 표시기는 icustom 함수 로 다른 표시기를 호출합니다.

내가 겪고 있는 문제는 때로는 신호 조건이 충족되지 않는 경우에도

이 표시기는 여전히 잘못된 소리 경고를 생성하고 이러한 잘못된 경고는 화살표를 표시하지 않습니다.

문제가 어디에 있는지 모르겠습니다. 나는 (내 제한된 지식으로) 시도했지만 성공하지 못했습니다.

잘못된 경고가 중지되었는지 확인하는 방법은 무엇입니까? 화살표가 있는 경우에만 소리 알림이 울리도록 하려면 어떻게 해야 합니까?

도와주세요.

감사해요.

정수 시작()

{

int counted_bars=IndicatorCounted();

//----

if(counted_bars>0) counted_bars--;

int limit=막대-counted_bars;

정수 j;

for(int i=limit; i>=0; i--)

{

arr_up = EMPTY_VALUE; arr_dn = EMPTY_VALUE;

j=나;

이중 var1 = 0;

이중 var2 = 0;

for (j = i, j <= i + 9, j++) var2 += MathAbs(High[j] - Low[j]);

var1 = var2 / 10.0;

double Sellprevious = iCustom(NULL,0,"MA-Repaint", FastEMA,SlowEMA,SlowEMA,signal,price,0,i);

이중 구매이전 = iCustom(NULL,0,"MA-Repaint", FastEMA,SlowEMA,SlowEMA,신호,가격,1,i);

정적 날짜 시간 LastAlert;

날짜/시간 커브 = 시간[0];

경우 (이전 구매 !=EMPTY_VALUE )

{

arr_up=iLow(Symbol(),0,i) - (var1/2);

DrawLine("EntryLine11",iHigh(Symbol(),0,i+1),EntryLineColor);

if ( LastAlert != curbar && !upalert){

경고(Symbol()," ",Period(),"BUY");

upalert=참;

downalert=거짓;

LastAlert = 커브;

}

}

그렇지 않으면(판매 이전 !=EMPTY_VALUE)

{

arr_dn=iHigh(Symbol(),0,i) + (var1/2);

DrawLine("EntryLine11",iLow(Symbol(),0,i+1),EntryLineColor);

if ( LastAlert != curbar && !downalert){

경고(Symbol()," ",Period(),"SELL");

downalert=참;

upalert=거짓;

LastAlert = 연석;

}

}

}

 
luffy:
안녕하세요 여러분,

내 코드를 살펴보십시오.

이 표시기는 icustom 함수로 다른 표시기를 호출합니다.

내가 겪고 있는 문제는 때로는 신호 조건이 충족되지 않는 경우에도

이 표시기는 여전히 잘못된 소리 경고를 생성하고 이러한 잘못된 경고는 화살표를 표시하지 않습니다.

문제가 어디에 있는지 모르겠습니다. 나는 (내 제한된 지식으로) 시도했지만 성공하지 못했습니다.

잘못된 경고가 중지되었는지 확인하는 방법은 무엇입니까? 화살표가 있는 경우에만 소리 알림이 울리도록 하려면 어떻게 해야 합니까?

도와주세요.

감사해요.

정수 시작()

{

int counted_bars=IndicatorCounted();

//----

if(counted_bars>0) counted_bars--;

int limit=막대-카운트된_막대;

정수 j;

for(int i=limit; i>=0; i--)

{

arr_up = EMPTY_VALUE; arr_dn = EMPTY_VALUE;

j=나;

이중 var1 = 0;

이중 var2 = 0;

for (j = i, j <= i + 9, j++) var2 += MathAbs(High[j] - Low[j]);

var1 = var2 / 10.0;

double Sellprevious = iCustom(NULL,0,"MA-Repaint", FastEMA,SlowEMA,SlowEMA,signal,price,0,i);

이중 구매이전 = iCustom(NULL,0,"MA-Repaint", FastEMA,SlowEMA,SlowEMA,signal,price,1,i);

정적 날짜 시간 LastAlert;

날짜/시간 커브 = 시간[0];

경우 (이전 구매 !=EMPTY_VALUE )

{

arr_up=iLow(Symbol(),0,i) - (var1/2);

DrawLine("EntryLine11",iHigh(Symbol(),0,i+1),EntryLineColor);

if ( LastAlert != curbar && !upalert){

경고(Symbol()," ",Period(),"BUY");

upalert=참;

downalert=거짓;

LastAlert = 커브;

}

}

그렇지 않으면(판매 이전 !=EMPTY_VALUE)

{

arr_dn=iHigh(Symbol(),0,i) + (var1/2);

DrawLine("EntryLine11",iLow(Symbol(),0,i+1),EntryLineColor);

if ( LastAlert != curbar && !downalert){

경고(Symbol()," ",Period(),"SELL");

downalert=참;

upalert=거짓;

LastAlert = 연석;

}

}

}

루피

테스트할 수 있도록 호출된 표시기 를 게시할 수 있습니까?

 
mrtools:
Mntiwana, on Bar to Use 0을 입력하면 아직 열려 있는 막대(EA, IMHO에 위험)에서 신호를 받습니다. 0보다 크면 EA는 열린 막대에서 닫힌 막대에서 신호를 다시 받게 됩니다. BarToUse = 2이면 EA가 2개의 막대를 다시 확인합니다.

MLADEN과 MRTOOLS에게,

친절한 도움에 감사드립니다, 너무 많은 시간을 할애하여 죄송합니다. .......그래서 이 EA의 경우, 어떤 바를 추가해야 하는 것이 더 적절하고 적합한지.....저는 느린 MA 라인이 빠른 MA 라인(어느 쪽이든)과 완전히 교차할 때를 원합니다. ........ 두 번째 다음 막대에서 거래가 실행되어야 합니다.예를 들어 첫 번째 막대를 교차한 후 두 번째 또는 세 번째 막대를 교차한 후 교차 후 몇 개의 막대가 나중에 실행될 수 있는지 이 방식으로 코딩할 수 있습니까? 술집 ? 질문을 더 잘 설명하기 위해 사진이 첨부되었습니다. 감사합니다.

문안 인사

파일:
7.png  35 kb
8.png  38 kb
 

다음은 지표입니다.

감사해요.

파일:
 
mrtools:
Mntiwana, on Bar to Use 0을 입력하면 여전히 열려 있는 막대(EA, IMHO에 위험)에서 신호를 받습니다. 0보다 크면 EA는 열린 막대에서 닫힌 막대에서 신호를 다시 받게 됩니다. 따라서 다음과 같이 하면 BarToUse = 2이면 EA가 2개의 막대를 다시 확인합니다.

친애하는 MRTOOLS,

.... 사용할 바 = 2 ...... 교차 후 2 바... 2 N 바가 아니라 , Bars BACK을 작성할 때 혼란스럽습니다. 제 잘못입니다.... 저를 수정해 주세요. 감사해요.

문안 인사

 
mntiwana:
친애하는 MRTOOLS,

.... 사용할 바 = 2 ...... 교차 후 2 바... 2 N 바가 아니라 , Bars BACK을 작성할 때 혼란스럽습니다. 제 잘못입니다.... 저를 수정해 주세요. 감사해요.

문안 인사

엠티와나

아니요, 그러나 사용할 막대가 == 2이면 현재 막대에서 2개의 막대를 교차로 확인 합니다. 현재 막대에서 교차를 확인하지 않습니다. 따라서 2마디 지연으로

 
mladen:
mntiwana 아니요, 하지만 막대를 사용할 때 == 2이면 현재 막대에서 2개의 막대를 교차로 확인합니다. 현재 막대에서 교차를 확인하지 않습니다. 따라서 2마디 지연으로

친애하는 MLADEN,

사장님 감사합니다. 이 경우 코드는 다음과 같을 수 있습니까? 저를 수정해주세요,

문안 인사

==================================================== ==================

원래 "심플 MA 크로스 EA" 코드

// //

#define _do아무것도 0

#define _do구매 1

#define _doSell 2

정수 시작()

{

int doWhat = _doNothing;

이중 diffc = iMA(NULL,0,Ma1Period,0,Ma1Method,Ma1Price,BarToUse) -iMA(NULL,0,Ma2Period,0,Ma2Method,Ma2Price,BarToUse);

이중 diffp = iMA(NULL,0,Ma1Period,0,Ma1Method,Ma1Price,BarToUse+1)-iMA(NULL,0,Ma2Period,0,Ma2Method,Ma2Price,BarToUse+1);

if ((diffc*diffp)<0)

경우(차이>0)

할 일 = _doBuy;

그렇지 않으면 할 일 = _doSell;

if (doWhat==_doNothing) return(0);

// //

===================================================

이렇게 변경

#define _do아무것도 0

#define _do구매 1

#define _doSell 2

정수 시작()

{

int doWhat = _doNothing;

이중 diffc = iCustom(NULL,0,"선체 포물선 2.1",PERIOD_CURRENT,Ma1Period,Ma1Price,2,0,0,BarToUse)

-iCustom(NULL,0,"선체 포물선 2.1",PERIOD_CURRENT,Ma2Period,Ma2Price,2,0,0,BarToUse);

이중 diffp = iCustom(NULL,0,"선체 포물선 2.1",PERIOD_CURRENT,Ma1Period,Ma1Price,2,0,0,BarToUse==2)

-iCustom(NULL,0,"선체 포물선 2.1",PERIOD_CURRENT,Ma2Period,Ma2Price,2,0,0,BarToUse==2);

if ((diffc*diffp)<0)

경우(차이>0)

할 일 = _doBuy;

그렇지 않으면 할 일 = _doSell;

if (doWhat==_doNothing) return(0);

// //

=======================================

파일:
9.png  108 kb