새로운 MQL4에 의해 망가진 Small Moneymanagement-Indicator - 페이지 3

 
mar :

gevoyageur, 나는 당신이 나에게서 이 게시물을 보지 못했다고 생각합니다:

3 2014.04.02 08:16 #

당신 말이 맞아.. 난 피할 수 없어. :-)

"내 말은 SL 계산을 계속하기 전에 업데이트가 완료될 때까지 기다릴 수 있다는 것입니까? 문제는 SL에 임의의 값을 줄 수 없다는 것입니다. 그러면 전체 표시기가 쓸모가 없기 때문입니다. 그래서 확인하고 싶습니다. 오류 4066이 발생하면 어떻게든 기다렸다가 다시 확인하고 계속 진행하고 싶습니다."

거기에서 내가 조언을 따를 수 없다는 설명을 볼 수 있으며 해당 솔루션에 왔기 때문에 qjol이 나에게 조언한 것을 확실히 확인했음을 알 수 있습니다.

아니요, qjol은 다음과 같이 썼습니다.

따라서 변수 중 하나가 0과 같은지 확인해야 합니다.... 0 나누기를 피하는 경우를 대비하여

그리고 그 후에 0분할 오류를 보고합니다 . 그러나 그것은 당신이 원하는 대로입니다.

 
mar :

다른 예시:

MetaTrader를 열면 결과는 0이 됩니다! 그리고 당신이 기간 또는 쌍을 변경할 때까지 0으로 유지됩니다. 이것이 바로 0으로 나누기 오류의 문제라고 생각합니다. 당신도 생각하지 않습니까?

들어오는 진드기가없는 주말에 이것을 시도 했습니까? 그것이 내가 그 댓글이 업데이트되지 않을 것이라고 생각할 수 있는 유일한 이유입니다.
 
GumRai :

들어오는 진드기가없는 주말에 이것을 시도 했습니까? 그것이 내가 그 댓글이 업데이트되지 않을 것이라고 생각할 수 있는 유일한 이유입니다.

여기도 마찬가지입니다. 틱 없음 업데이트 없음.
 

아니요, 오늘 시도했습니다. 많은 틱이 들어오고 AccountBalance의 업데이트가 없습니다. 거의 1분을 기다렸지만 AccountBalance는 여전히 0이었습니다.


문제는 이 문제가 지난 몇 년 동안 발생하지 않았다는 것입니다. 새로운 MetaTrader가 출시되었기 때문에 이 문제가 존재합니다. 그래서 나는 그것이 코드와 관련이 없다고 생각합니다. 이 코드를 실패하게 만드는 플랫폼 자체 내부 변경 사항이 있어야 합니다. 그리고 이 표시기는 하나의 주석 행일 뿐이며 실패합니다. 따라서 플랫폼/데이터 문제여야 합니다.

 
mar :

아니요, 오늘 시도했습니다. 많은 틱이 들어오고 AccountBalance가 업데이트되지 않습니다. 거의 1분을 기다렸지만 AccountBalance는 여전히 0이었습니다.


문제는 이 문제가 지난 몇 년 동안 발생하지 않았다는 것입니다. 새로운 MetaTrader가 출시되었기 때문에 이 문제가 존재합니다. 그래서 나는 그것이 코드와 관련이 없다고 생각합니다. 이 코드를 실패하게 만드는 플랫폼 자체 내부 변경 사항이 있어야 합니다. 그리고 이 표시기는 하나의 주석 행일 뿐이며 실패합니다. 따라서 플랫폼/데이터 문제여야 합니다.


표시기가 게시한 코드와 정확히 동일한지 확인합니까?

init에 한 줄 코드가 있고 시작에 있지 않은 표시기를 확인 하는 것 같습니다.

 

나는 이미 귀하의 모든 질문에 답변했지만(이 문제에 대한 향후 질문 포함) 아마도 귀하가 해당 질문을 주의 깊게 읽지 않은 경우 다시 하도록 하겠습니다.


qjol :

분명히 업데이트를 피할 수는 없지만 ;-) "제로 나누기" 상황은 피해야 합니다.

따라서 변수 중 하나가 0과 같은지 확인해야 합니다.... 0 나누기를 피하는 경우를 대비하여

그리고 지표를 멈출 수 없기 때문에 무언가를 알아내야 합니다.


3월 :


SL 계산을 계속하기 전에 업데이트가 완료될 때까지 기다릴 수 있습니까?

당신은 할 수 없습니다 (이미 위에 작성)

크졸 :
그리고 지표를 멈출 수 없기 때문에 무언가를 알아내야 합니다.


3월 :


문제는 전체 지표가 쓸모가 없기 때문에 SL에 임의의 값을 줄 수 없다는 것입니다.


나는 이미 당신에게 해결책을 주었다

SL = MathFloor (( iATR ( NULL , PERIOD_D1 , 7 , 0 )* MathPow ( 10 , Digits - exp )+ 1 )* 0.1 );
if (SL == 0 ) // because error 4066 (for example)
   {
   SL = Someting;
   }
lots=MoneyRisk/SL/( MarketInfo ( Symbol (), MODE_TICKVALUE )*multi);


업데이트가 완료될 때까지만 무작위입니다(2-3초 이내로 주기 또는 받기)(IMHO는 오류 메시지를 받는 것보다 낫고 표시기가 전혀 작동하지 않음)

다른 솔루션이 있으면 자유롭게 사용하십시오. 내 허가가 필요하지 않습니다 ;-)


3월 :


D1을 제외하고 원하는 기간으로 전환하십시오. 그런 다음 지표를 차트로 끕니다. 결과는 위와 같은 오류가 됩니다. 일일 차트의 ATR(5)가 DAILY DATA가 누락되어 정확하지 않은 것 같습니다. D1 기간에 "신선한" 차트를 열어도 전혀 문제가 발생하지 않습니다. 그리고 다른 시간 프레임으로 전환할 때도 ATR(5)가 정확하기 때문에 괜찮습니다. 나는 내가 D1 차트에 머무르는 한 어떤 쌍으로든 전환할 수 있다는 것을 알아차렸습니다. 그러나 D1이 아닌 다른 시간대에 다른 쌍으로 전환하면 MetaTrader가 일일 데이터를 수신하지 않는 한 문제가 발생합니다. 그래서, 제 질문은 이제 D1이 아닌 시간대에 새 차트를 열 때 내 ATR 계산이 정확한 일일 데이터를 얻을 수 있습니까?


iATR .. PERIOD_D1을 사용하고 있기 때문에 다시 ... 매일 쌍이 업데이트를 마칠 때까지 기다려야 합니다(전화 접속 연결을 사용하지 않는 한 2-3초).

 

qjol, 오해가 너무 많아 죄송합니다! 이제 0으로 나누기가 사라지기 때문에 지표에 임의의 데이터를 제공하라고 말씀하셨다는 것을 이해합니다. 또한 데이터 업데이트 후 표시기가 올바른 값을 사용한다는 사실에 대해서도 생각하지 않았습니다. 멍청해서 죄송합니다... :D

그러나 그럼에도 불구하고 질문은 여전히 열려 있습니다. 왜 이전에는 효과가 있었습니까? 새로운 MetaTrader의 문제점은 무엇입니까?

 
mar :


그러나 그럼에도 불구하고 질문은 여전히 열려 있습니다. 왜 이전에는 효과가 있었습니까? 새로운 MetaTrader의 문제점은 무엇입니까?


이전 또는 새 MT4와 관련이 없으며 표시기의 작동 및 실행 방식과 관련이 있습니다.
표시기가 "대기 할 수 없음 "이고 즉시 실행되었기 때문에
그러나 현재로서는 iATR ... PERIOD_D1에 대한 데이터가 없습니다. 0과 같다
그것이 당신이 0 분할 을 얻는 이유입니다
 
그것은 나에게 절대적으로 분명합니다. 그러나 나는 이 지표를 꽤 오랫동안 사용했고 데이터가 누락되거나 이와 유사한 데이터 문제가 발생한 적이 없습니다. 그래서 MT4의 build-625 버전을 처음 사용할 때 왜 이런 일이 발생했는지 궁금합니다.
 
mar :

아니요, 오늘 시도했습니다. 많은 틱이 들어오고 AccountBalance가 업데이트되지 않습니다. 거의 1분을 기다렸지만 AccountBalance는 여전히 0이었습니다.


문제는 이 문제가 지난 몇 년 동안 발생하지 않았다는 것입니다. 새로운 MetaTrader가 출시되었기 때문에 이 문제가 존재합니다. 그래서 나는 그것이 코드와 관련이 없다고 생각합니다. 이 코드를 실패하게 만드는 플랫폼 자체 내부 변경 사항이 있어야 합니다. 그리고 이 표시기는 하나의 주석 행일 뿐이며 실패합니다. 따라서 플랫폼/데이터 문제여야 합니다.

표시기가 게시한 코드와 정확히 동일한지 확인합니까?

init에 한 줄 코드가 있고 시작에 있지 않은 표시기를 확인 하는 것 같습니다.

사유: