오류, 버그, 질문 - 페이지 811 1...804805806807808809810811812813814815816817818...3184 새 코멘트 Alexey Da 2012.08.16 14:08 #8101 abeiks : 안녕하세요. MQL5를 알아내려고 합니다. exp_tema.mq5 를 구문 분석하고 코드를 다시 수정했습니다. 이제 각 양초(마지막 20)의 로그 MA에 인쇄해야 합니다. 하지만 로그에 일부 항목이 누락된 이유를 이해할 수 없습니다. 주목 , 로그에 ma[3]이 없으면 ma[13]도 없습니다. 왜 이런 일이 발생합니까? 실수는 어디에 있습니까? 바로 여기에 if ( CopyBuffer (Handle[Number], 0 , 0 , 20 ,ma)< 0 ) 분명히 누락 된 수표 : BarsCalculated >= 20 카피버퍼==20 파일: exp_tema.mq5 27 kb Fia 2012.08.16 14:12 #8102 sergeev : 당신은 비전가가 필요하지 않습니다. 로그에서 중간 변수가 무엇과 같은지 볼 수 있도록 코드에서 자세한 인쇄를 만듭니다. #property copyright "Copyright 2011, " #property link " http://www.mql5.com " #property version "1.00"//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+int OnInit() {//--- double Vhod=0; Print("Начало_Vhod="+DoubleToString(Vhod,2)); Vhod=linfunc(15); Print("Конец_Vhod="+DoubleToString(Vhod,2));//--- return(0); }//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+void OnDeinit(const int reason) {//--- }//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+void OnTick() {//--- }//+------------------------------------------------------------------+double linfunc(double b) // имя функции и список параметров { double a=1; while((a/b)<1 && !IsStopped())//------------------- { Print("а="+DoubleToString(a,2)+", b="+DoubleToString(b,2)+", a/b="+DoubleToString(a/b,2)); a=a+1; } Print("а="+DoubleToString(a,2)+", b="+DoubleToString(b,2)+", a/b="+DoubleToString(a/b,2)); Print("a+b="+DoubleToString(a+b,2)); double f=a+b; // составной оператор return(f); // возвращаемое значение }//+------------------------------------------------------------------+ 여기 코드가 있습니다. 여기 그의 지문이 있습니다 GM 0 1 (EURUSD,M1) 18:11:11 Start_Vhod=0.00 FO 0 1 (EURUSD,M1) 18:11:13 a=1.00, b=15.00, a/b=0.07 JF 0 1 (EURUSD,M1) 18:11:13 a=2.00, b=15.00, a/b=0.13 CQ 0 1 (EURUSD,M1) 18:11:13 a=3.00, b=15.00, a/b=0.20 EH 0 1 (EURUSD,M1) 18:11:13 a=4.00, b=15.00, a/b=0.27 KS 0 1 (EURUSD,M1) 18:11:13 a=5.00, b=15.00, a/b=0.33 PJ 0 1 (EURUSD,M1) 18:11:13 a=6.00, b=15.00, a/b=0.40 PE 0 1 (EURUSD,M1) 18:11:13 a=7.00, b=15.00, a/b=0.47 HL 0 1 (EURUSD,M1) 18:11:13 a=8.00, b=15.00, a/b=0.53 MF 0 1 (EURUSD,M1) 18:11:13 a=9.00, b=15.00, a/b=0.60 JR 0 1 (EURUSD,M1) 18:11:13 a=10.00, b=15.00, a/b=0.67 FK 0 1 (EURUSD,M1) 18:11:13 a=11.00, b=15.00, a/b=0.73 영업 0 1 (EURUSD,M1) 18:11:13 a=12.00, b=15.00, a/b=0.80 MI 0 1 (EURUSD,M1) 18:11:13 a=13.00, b=15.00, a/b=0.87 KF 0 1 (EURUSD,M1) 18:11:13 a=14.00, b=15.00, a/b=0.93 EO 0 1 (EURUSD,M1) 18:11:13 a=15.00, b=15.00, a/b=1.00 DJ 0 1 (EURUSD,M1) 18:11:14 a+b=30.00 RL 0 1 (EURUSD,M1) 18:11:17 End_Vhod=0.00 NH 2 1 (EURUSD,M1) 18:11:24 디버깅 종료됨 Errors, bugs, questions [ARCHIVE]Any rookie question, so trade.PositionClose() is not working Alexey Da 2012.08.16 14:39 #8103 Fia : 디버그 EX5를 편집기에서 실행하지 않고 터미널에서 직접 실행하면 같은 결과가 나오나요? 디버그 EX5를 첨부할 수 있습니까? Vladimir Gomonov 2012.08.16 14:43 #8104 Fia : 여기 그의 지문이 있습니다 GM 0 1 (EURUSD,M1) 18:11:11 Start_Vhod=0.00 FO 0 1 (EURUSD,M1) 18:11:13 a=1.00, b=15.00, a/b=0.07 JF 0 1 (EURUSD,M1) 18:11:13 a=2.00, b=15.00, a/b=0.13 CQ 0 1 (EURUSD,M1) 18:11:13 a=3.00, b=15.00, a/b=0.20 EH 0 1 (EURUSD,M1) 18:11:13 a=4.00, b=15.00, a/b=0.27 KS 0 1 (EURUSD,M1) 18:11:13 a=5.00, b=15.00, a/b=0.33 PJ 0 1 (EURUSD,M1) 18:11:13 a=6.00, b=15.00, a/b=0.40 PE 0 1 (EURUSD,M1) 18:11:13 a=7.00, b=15.00, a/b=0.47 HL 0 1 (EURUSD,M1) 18:11:13 a=8.00, b=15.00, a/b=0.53 MF 0 1 (EURUSD,M1) 18:11:13 a=9.00, b=15.00, a/b=0.60 JR 0 1 (EURUSD,M1) 18:11:13 a=10.00, b=15.00, a/b=0.67 FK 0 1 (EURUSD,M1) 18:11:13 a=11.00, b=15.00, a/b=0.73 영업 0 1 (EURUSD,M1) 18:11:13 a=12.00, b=15.00, a/b=0.80 MI 0 1 (EURUSD,M1) 18:11:13 a=13.00, b=15.00, a/b=0.87 KF 0 1 (EURUSD,M1) 18:11:13 a=14.00, b=15.00, a/b=0.93 EO 0 1 (EURUSD,M1) 18:11:13 a=15.00, b=15.00, a/b=1.00 DJ 0 1 (EURUSD,M1) 18:11:14 a+b=30.00 RL 0 1 (EURUSD,M1) 18:11:17 End_Vhod=0.00 NH 2 1 (EURUSD,M1) 18:11:24 디버깅 종료됨 재생할 수 없습니다. 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) Конец_Vhod= 30.00 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) a+b= 30.00 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) а= 15.00 , b= 15.00 , a/b= 1.00 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) а= 14.00 , b= 15.00 , a/b= 0.93 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) а= 13.00 , b= 15.00 , a/b= 0.87 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) а= 12.00 , b= 15.00 , a/b= 0.80 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) а= 11.00 , b= 15.00 , a/b= 0.73 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) а= 10.00 , b= 15.00 , a/b= 0.67 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) а= 9.00 , b= 15.00 , a/b= 0.60 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) а= 8.00 , b= 15.00 , a/b= 0.53 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) а= 7.00 , b= 15.00 , a/b= 0.47 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) а= 6.00 , b= 15.00 , a/b= 0.40 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) а= 5.00 , b= 15.00 , a/b= 0.33 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) а= 4.00 , b= 15.00 , a/b= 0.27 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) а= 3.00 , b= 15.00 , a/b= 0.20 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) а= 2.00 , b= 15.00 , a/b= 0.13 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) а= 1.00 , b= 15.00 , a/b= 0.07 2012.08 . 16 18 : 42 : 34 Test_001 (GBPUSD,M15) Начало_Vhod= 0.00 Win7x64 MT5 x64 빌드 687 Fia 2012.08.16 14:50 #8105 alexvd : 디버그 EX5를 편집기에서 실행하지 않고 터미널에서 직접 실행하면 같은 결과가 나오나요? 디버그 EX5를 첨부할 수 있습니까? 예, 흥미로운 것으로 밝혀졌습니다. 테스터에서 실행하면 30을 제공하고 고문으로 인쇄하기 위해 30을 제공하면 30을 제공합니다. 디버깅으로 돌아가면 0이 있습니다. 메타드라이버 어떤 빌드와 형식으로 (표현에 대해 사과드립니다) 밝혀졌습니다. 마찬가지로 아무도이 기적을 재현 할 수 없다면 vidyushka를 배치해야 할 것입니다. 파일: 1.ex5 5 kb Nauris Zukas 2012.08.16 15:39 #8106 alexvd : 바로 여기에 분명히 누락 된 수표 : 막대계산 >= 20 카피버퍼==20 감사합니다. 추가해 보겠습니다. Fia 2012.08.16 16:36 #8107 여기에 비디오가 있습니다 (720보다 높은 해상도를 선택하십시오. 그렇지 않으면 모든 것이 비누로 깨어납니다) https://www.youtube.com/watch?v=Prpw6DUYvjY&feature=youtu.be Win7 64비트 MT5 687 빌드 내가 알아낸 것처럼 return이 0을 생성할 때의 효과는 디버거에서만 발생하는 것 같습니다. 동시에 '전화 걸기' 버튼만 사용하면 효과가 있는 것 같다. while 루프에 진입하여 "총으로 가기" 버튼으로 종료하면 출구 0에서 안정적으로 작동하지 않습니다. 일반적으로 비디오에는 모든 것이 표시되지만 어떻게 해야 하는지, 무엇을 해야 하는지 여전히 명확하지 않습니다(그리고 왜 저에게만 해당됩니까?) Errors, bugs, questions 랜덤 흐름 이론과 FOREX BrainSystem: 거래 시스템 개발 Vladimir Gomonov 2012.08.16 16:50 #8108 Fia : Win7 64비트 MT5 687 빌드 터미널의 비트는 무엇입니까? Konstantin Chernov 2012.08.16 17:12 #8109 최적화 과정에서 이해할 수 없는 문자가 나왔다. 수직 최적화 그래프 탭에서 모든 값은 -1입니다. Nauris Zukas 2012.08.17 09:50 #8110 alexvd : 바로 여기에 분명히 누락 된 수표 : 막대계산 >= 20 카피버퍼==20 그러나 여전히 버퍼에 문제가 있습니다. 모든 것이 명확하지만 코드에서 사용하는 방법이 명확하지 않습니다. 어렵지 않다면 이것을 코드에 붙여넣을 수 있습니까? 1...804805806807808809810811812813814815816817818...3184 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
안녕하세요.
MQL5를 알아내려고 합니다. exp_tema.mq5 를 구문 분석하고 코드를 다시 수정했습니다. 이제 각 양초(마지막 20)의 로그 MA에 인쇄해야 합니다. 하지만 로그에 일부 항목이 누락된 이유를 이해할 수 없습니다. 주목 , 로그에 ma[3]이 없으면 ma[13]도 없습니다. 왜 이런 일이 발생합니까? 실수는 어디에 있습니까?
바로 여기에
분명히 누락 된 수표 :
당신은 비전가가 필요하지 않습니다.
로그에서 중간 변수가 무엇과 같은지 볼 수 있도록 코드에서 자세한 인쇄를 만듭니다.
#property copyright "Copyright 2011, "
#property link " http://www.mql5.com "#property version "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
double Vhod=0;
Print("Начало_Vhod="+DoubleToString(Vhod,2));
Vhod=linfunc(15);
Print("Конец_Vhod="+DoubleToString(Vhod,2));
//---
return(0);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
}
//+------------------------------------------------------------------+
double linfunc(double b) // имя функции и список параметров
{
double a=1;
while((a/b)<1 && !IsStopped())//-------------------
{
Print("а="+DoubleToString(a,2)+", b="+DoubleToString(b,2)+", a/b="+DoubleToString(a/b,2));
a=a+1;
}
Print("а="+DoubleToString(a,2)+", b="+DoubleToString(b,2)+", a/b="+DoubleToString(a/b,2));
Print("a+b="+DoubleToString(a+b,2));
double f=a+b;
// составной оператор
return(f); // возвращаемое значение
}
//+------------------------------------------------------------------+
여기 코드가 있습니다.
여기 그의 지문이 있습니다
GM 0 1 (EURUSD,M1) 18:11:11 Start_Vhod=0.00
FO 0 1 (EURUSD,M1) 18:11:13 a=1.00, b=15.00, a/b=0.07
JF 0 1 (EURUSD,M1) 18:11:13 a=2.00, b=15.00, a/b=0.13
CQ 0 1 (EURUSD,M1) 18:11:13 a=3.00, b=15.00, a/b=0.20
EH 0 1 (EURUSD,M1) 18:11:13 a=4.00, b=15.00, a/b=0.27
KS 0 1 (EURUSD,M1) 18:11:13 a=5.00, b=15.00, a/b=0.33
PJ 0 1 (EURUSD,M1) 18:11:13 a=6.00, b=15.00, a/b=0.40
PE 0 1 (EURUSD,M1) 18:11:13 a=7.00, b=15.00, a/b=0.47
HL 0 1 (EURUSD,M1) 18:11:13 a=8.00, b=15.00, a/b=0.53
MF 0 1 (EURUSD,M1) 18:11:13 a=9.00, b=15.00, a/b=0.60
JR 0 1 (EURUSD,M1) 18:11:13 a=10.00, b=15.00, a/b=0.67
FK 0 1 (EURUSD,M1) 18:11:13 a=11.00, b=15.00, a/b=0.73
영업 0 1 (EURUSD,M1) 18:11:13 a=12.00, b=15.00, a/b=0.80
MI 0 1 (EURUSD,M1) 18:11:13 a=13.00, b=15.00, a/b=0.87
KF 0 1 (EURUSD,M1) 18:11:13 a=14.00, b=15.00, a/b=0.93
EO 0 1 (EURUSD,M1) 18:11:13 a=15.00, b=15.00, a/b=1.00
DJ 0 1 (EURUSD,M1) 18:11:14 a+b=30.00
RL 0 1 (EURUSD,M1) 18:11:17 End_Vhod=0.00
NH 2 1 (EURUSD,M1) 18:11:24 디버깅 종료됨
디버그 EX5를 편집기에서 실행하지 않고 터미널에서 직접 실행하면 같은 결과가 나오나요?
디버그 EX5를 첨부할 수 있습니까?
여기 그의 지문이 있습니다
GM 0 1 (EURUSD,M1) 18:11:11 Start_Vhod=0.00
FO 0 1 (EURUSD,M1) 18:11:13 a=1.00, b=15.00, a/b=0.07
JF 0 1 (EURUSD,M1) 18:11:13 a=2.00, b=15.00, a/b=0.13
CQ 0 1 (EURUSD,M1) 18:11:13 a=3.00, b=15.00, a/b=0.20
EH 0 1 (EURUSD,M1) 18:11:13 a=4.00, b=15.00, a/b=0.27
KS 0 1 (EURUSD,M1) 18:11:13 a=5.00, b=15.00, a/b=0.33
PJ 0 1 (EURUSD,M1) 18:11:13 a=6.00, b=15.00, a/b=0.40
PE 0 1 (EURUSD,M1) 18:11:13 a=7.00, b=15.00, a/b=0.47
HL 0 1 (EURUSD,M1) 18:11:13 a=8.00, b=15.00, a/b=0.53
MF 0 1 (EURUSD,M1) 18:11:13 a=9.00, b=15.00, a/b=0.60
JR 0 1 (EURUSD,M1) 18:11:13 a=10.00, b=15.00, a/b=0.67
FK 0 1 (EURUSD,M1) 18:11:13 a=11.00, b=15.00, a/b=0.73
영업 0 1 (EURUSD,M1) 18:11:13 a=12.00, b=15.00, a/b=0.80
MI 0 1 (EURUSD,M1) 18:11:13 a=13.00, b=15.00, a/b=0.87
KF 0 1 (EURUSD,M1) 18:11:13 a=14.00, b=15.00, a/b=0.93
EO 0 1 (EURUSD,M1) 18:11:13 a=15.00, b=15.00, a/b=1.00
DJ 0 1 (EURUSD,M1) 18:11:14 a+b=30.00
RL 0 1 (EURUSD,M1) 18:11:17 End_Vhod=0.00
NH 2 1 (EURUSD,M1) 18:11:24 디버깅 종료됨
재생할 수 없습니다.
Win7x64
MT5 x64 빌드 687
디버그 EX5를 편집기에서 실행하지 않고 터미널에서 직접 실행하면 같은 결과가 나오나요?
디버그 EX5를 첨부할 수 있습니까?
예, 흥미로운 것으로 밝혀졌습니다. 테스터에서 실행하면 30을 제공하고 고문으로 인쇄하기 위해 30을 제공하면 30을 제공합니다.
디버깅으로 돌아가면 0이 있습니다.
메타드라이버
어떤 빌드와 형식으로 (표현에 대해 사과드립니다) 밝혀졌습니다.
마찬가지로 아무도이 기적을 재현 할 수 없다면 vidyushka를 배치해야 할 것입니다.
바로 여기에
분명히 누락 된 수표 :
감사합니다. 추가해 보겠습니다.
여기에 비디오가 있습니다 (720보다 높은 해상도를 선택하십시오. 그렇지 않으면 모든 것이 비누로 깨어납니다)
https://www.youtube.com/watch?v=Prpw6DUYvjY&feature=youtu.be
Win7 64비트 MT5 687 빌드
내가 알아낸 것처럼 return이 0을 생성할 때의 효과는 디버거에서만 발생하는 것 같습니다.
동시에 '전화 걸기' 버튼만 사용하면 효과가 있는 것 같다.
while 루프에 진입하여 "총으로 가기" 버튼으로 종료하면 출구 0에서 안정적으로 작동하지 않습니다.
일반적으로 비디오에는 모든 것이 표시되지만 어떻게 해야 하는지, 무엇을 해야 하는지 여전히 명확하지 않습니다(그리고 왜 저에게만 해당됩니까?)
Win7 64비트 MT5 687 빌드
최적화 과정에서 이해할 수 없는 문자가 나왔다.
수직 최적화 그래프 탭에서 모든 값은 -1입니다.
바로 여기에
분명히 누락 된 수표 :
그러나 여전히 버퍼에 문제가 있습니다. 모든 것이 명확하지만 코드에서 사용하는 방법이 명확하지 않습니다. 어렵지 않다면 이것을 코드에 붙여넣을 수 있습니까?