코딩 도움말 - 페이지 192

 

안녕하세요 mladen님

나는 오랜 시간 동안 이 표시기에 몇 가지 코드를 통합하고 적용하고 만들려고 시도했는데 디스플레이가 있고 새로 고침이 없고 다시 칠하는 문제가 있지만 왜 그렇지 않은지 모르겠습니다. 이유를 말해 주시겠습니까? 그러나 그것은 또한 촛불 막대가 닫힌 후에 신호 또는 값을 계산한다는 큰 약점이 있습니다. 촛불이 여전히 작동 중일 때 신호 또는 값은 변경하지 않지만 CCI 평가판 표시기가 전송되기 전과 똑같은 계산 공식을 사용합니다. 당신은 전에 왜 그렇게 다른 결과를 가지고 있습니까? 내부 코드는 이러한 차이를 만들기 위해 무엇을 했는가? 그러나 나는 그것이 당신처럼 계산할 수 있기를 바랍니다. 양초가 여전히 실행 중일 때 값과 신호를 즉시 계산할 수 있기를 바랍니다. 값 및 신호를 즉시 변경하려면 이 표시기를 개선하는 방법, 많은 도움을 주셔서 감사합니다.

 

안녕하세요 코더들입니다.

안녕하세요 mladen님

가격이 수평선에 닿았을 때 경고를 표시하는 표시기를 HDD에서 찾았습니다. 조금 수정했더니 잘 됩니다. 그러나 이제 나는 무언가를 추가하고 싶습니다. 정확한 라인이 터치되지 않고 가격이 일부 핍을 더 일찍 반전시키는 경우가 종종 있습니다. 이제 차트에 더 많은 선을 그릴 수 있습니다. 또는 이 표시기를 수정하여 차트의 선을 만질 때 경고를 표시할 뿐만 아니라 몇 핍 더 높거나 낮도록 하려고 합니다. 따라서 표시기는 가격이 차트의 +5 핍 또는 라인 -5 핍의 선에 닿을 때 경고를 표시해야 합니다.

내 아이디어는 다음 줄을 변경하는 것입니다.

if (High[0]>=line && line>=Low[0]) 다음과 같이 변경합니다.

if ((높음[0]>=줄+0.0005 && 줄+0.0005>=낮음[0]) || (if (높음[0]>=줄-0.0005 && 줄-0.0005>=낮음[0]))

분명히 작동하지 않습니다. 왜 그런지 모르겠습니다. :-/

그리고 또 다른 문제는 이것이 1.XXXX 가격에서만 작동한다는 것입니다. 엔 쌍 또는 인덱스 CFD에 0.0005를 사용할 수 없습니다.

누군가 고칠 수 있다면 기쁠 것입니다.

고맙습니다!!

코드는 다음과 같습니다.

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

//| LINE_ALERT.mq4 |

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

extern bool 알림=true;

extern 부울 displayAlert=true;

문자열 텍스트;

#속성 표시기_차트_창

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

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

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

정수 초기화()

{

//---- 표시기

//----

리턴(0);

}

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

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

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

정수 초기화()

{

//----

//----

리턴(0);

}

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

//| 사용자 지정 표시기 반복 기능 |

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

정수 시작()

{

//----

if (displayAlert==false) 반환;

정적 날짜 시간 Time0;

if (Time0 == Time[0]) return; // 막대당 하나의 경고.

for(int iObj = ObjectsTotal() - 1, iObj >= 0, iObj--)

{

문자열 이름 = ObjectName(iObj);

if (객체 유형(이름) == OBJ_HLINE)

{

이중 줄 = ObjectGet(이름, OBJPROP_PRICE1);

}

그렇지 않으면 계속하십시오. // HLINE 아님

if (높음[0]>=줄 && 줄>=낮음[0])

{

텍스트 = Symbol()+" M"+Period()+" 터치 S/R @ "+닫기[0];

경고(텍스트);

시간0 = 시간[0]; // 더 이상 경고가 없습니다.

if(알림) SendNotification (텍스트);

}

}

//----

반환(0);

}

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

 
Marbo:
안녕하세요 코더들입니다.

안녕하세요 mladen님

가격이 수평선에 닿았을 때 경고를 표시하는 표시기를 HDD에서 찾았습니다. 조금 수정했더니 잘 됩니다. 그러나 이제 나는 무언가를 추가하고 싶습니다. 정확한 라인이 터치되지 않고 가격이 일부 핍을 더 일찍 반전시키는 경우가 종종 있습니다. 이제 차트에 더 많은 선을 그릴 수 있습니다. 또는 이 표시기를 수정하여 차트의 선을 만질 때 경고를 표시할 뿐만 아니라 몇 핍 더 높거나 낮도록 하려고 합니다. 따라서 표시기는 가격이 차트의 +5 핍 또는 라인 -5 핍의 선에 닿을 때 경고를 표시해야 합니다.

내 아이디어는 다음 줄을 변경하는 것입니다.

if (High[0]>=line && line>=Low[0]) 다음과 같이 변경합니다.

if ((높음[0]>=줄+0.0005 && 줄+0.0005>=낮음[0]) || (if (높음[0]>=줄-0.0005 && 줄-0.0005>=낮음[0]))

분명히 작동하지 않습니다. 왜 그런지 모르겠습니다. :-/

그리고 또 다른 문제는 이것이 1.XXXX 가격에서만 작동한다는 것입니다. 엔 쌍 또는 인덱스 CFD에 0.0005를 사용할 수 없습니다.

누군가 고칠 수 있다면 기쁠 것입니다.

고맙습니다!!

코드는 다음과 같습니다.

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

//| LINE_ALERT.mq4 |

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

extern bool 알림=true;

extern 부울 displayAlert=true;

문자열 텍스트;

#속성 표시기_차트_창

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

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

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

정수 초기화()

{

//---- 표시기

//----

리턴(0);

}

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

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

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

정수 초기화()

{

//----

//----

리턴(0);

}

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

//| 사용자 지정 표시기 반복 기능 |

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

정수 시작()

{

//----

if (displayAlert==false) 반환;

정적 날짜 시간 Time0;

if (Time0 == Time[0]) return; // 막대당 하나의 경고.

for(int iObj = ObjectsTotal() - 1, iObj >= 0, iObj--)

{

문자열 이름 = ObjectName(iObj);

if (객체 유형(이름) == OBJ_HLINE)

{

이중 줄 = ObjectGet(이름, OBJPROP_PRICE1);

}

그렇지 않으면 계속하십시오. // HLINE 아님

if (높음[0]>=줄 && 줄>=낮음[0])

{

텍스트 = Symbol()+" M"+Period()+" 터치 S/R @ "+닫기[0];

경고(텍스트);

시간0 = 시간[0]; // 더 이상 경고가 없습니다.

if (알림) SendNotification(텍스트);

}

}

//----

반환(0);

}

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

마르보

첨부된 것과 같은 작업을 수행할 수 있습니다. 수정해야 할 유일한 것은 라인에서 핍 단위의 거리가 정확히 무엇을 의미해야 하는지입니다(높거나 낮은 경우 + 또는 -)

파일:
 

엄청난! 고맙습니다!!

 
zilliq:
안녕하세요 Mrtool과 Mladen입니다.

TSV Bullish & Bearish 지표를 구성하는 방법을 설명해 주시겠습니까? 그것에 대한 정보를 찾지 못했습니까?

감사해요

질리크

Zilliq에는 소스 코드가 포함된 버전이 있습니다.

 
cwu:
0을 입력하면 SL 또는 TP가 없음을 의미합니까? 다시 한번 감사합니다.

츄,

예, 그래야 합니다.

 

얘들아

TSV Bullish & Bearish와 내가 찾은 가장 오래된 것이 2007년인지 확인 했습니다. 그것이 공식이라면, 그것은 다름 아닌 Gann high low activator에 약간 다른 형태(본질 - 계산 - 동일합니다 )

 

고마워 얘들아

이번 주말에 TSV 약세/강세를 게시할 것입니다.

나는 프랑스에서 수의사이고 내일 일하므로 일요일에 확인할 것입니다.

나는 이미 Gann을 높고 낮음, 특히 부드러운 버전으로 코딩했으므로 간단해야 합니다.

주말 잘 보내시고 모두 감사합니다

질리크

 

믈라덴,

회선 경고 표시기에 대해 또 다른 질문이 있습니다. 현재 수평선 으로 작업하고 있습니다. 또한 OBJ_TREND를 사용하여 추세선을 구현하려고 시도했지만 이해할 수 없는 문제가 하나 있습니다. 나는 몇 달 전에 다른 포럼에서 추세선의 시작점과 끝점이 결정되어야 한다고 읽었습니다. 그 방법에 대한 정보를 알려주시겠습니까? 아니면 생각보다 훨씬 어렵습니까?

친애하는,

마르보

 
Marbo:
믈라덴,

회선 경고 표시기에 대해 또 다른 질문이 있습니다. 현재 수평선으로 작업하고 있습니다. 또한 OBJ_TREND를 사용하여 추세선을 구현하려고 시도했지만 이해할 수 없는 문제가 하나 있습니다. 나는 몇 달 전에 다른 포럼에서 추세선의 시작점과 끝점이 결정되어야 한다고 읽었습니다. 그 방법에 대한 정보를 알려주시겠습니까? 아니면 생각보다 훨씬 어렵습니까?

친애하는,

마르보

마르보

실제로 그 시작과 끝을 알 필요는 없습니다. 다른 방식으로 값을 검색할 수 있습니다(추세선 외부의 가격을 찾는 경우 가격 0을 반환하는 ObjectGetValueByShift() 함수 사용). 어떻게 할 수 있는지에 대한 한 가지 예는 이 게시물에서 찾을 수 있습니다. https://www.mql5.com/en/forum/177603/page3