mql5 언어의 특징, 미묘함 및 작업 방법 - 페이지 29 1...222324252627282930313233343536...247 새 코멘트 kaus_bonus 2017.04.08 08:06 #281 안드레이 딕 : 테스트할 때 미세한 데이터가 더 신뢰할 수 있는 것으로 간주됩니다. 분 막대가 더 안정적입니까? 틱 데이터는 최후의 수단이 아닌가요? 고려되지 않은 경우 실제 틱 데이터가 왜 필요합니까? 나는 순진하게 이것을 하곤 했습니다. 몇 분 동안 테스트한 다음 틱에 대해 테스트한 다음 최종 정밀 검사로 실제 틱에 대해 테스트했습니다. 이제 세 번째 검사에 특별한 의미가 없다는 것을 이해합니다. 여기에서 다리가 자랍니다. https://www.mql5.com/ru/forum/188047 Не совпадают цены тестера и CopyTicks, или неверная синхронизация? www.mql5.com Пытаюсь сделать мультивалютный советник,но с фьючами. Запускаем в тестере простой советник на ближнем фьюче,т.к. он более живой... Andrey Dik 2017.04.08 08:07 #282 블라디미르 카르푸토프 : 문맥에서 문장을 가져갈 필요가 없습니다. 문구는 다음과 같습니다. 보시다시피 조작을 시도하지 않으면 인증서를 잘못 해석한 것으로 판명됩니다. 나는 아무것도 조작하지 않았습니다. 매뉴얼은 회의록이 가장 중요하다고 분명히 명시하고 있습니다. 눈금 데이터가 없기 때문에 분 막대에 따라 눈금 이 생성 됩니다. 제 생각에는 "실제 틱" 모드에서 실제 틱으로 분 타임프레임을 구성해야 합니다. 그렇지 않으면 이 모드에서 의미가 없습니다. kaus_bonus 2017.04.08 14:20 #283 안드레이 딕 : 제 생각에는 "실제 틱" 모드에서 실제 틱으로 분 타임프레임을 구성해야 합니다. 그렇지 않으면 이 모드에서 의미가 없습니다. 04/02/17에서 04/08/17까지 실제 틱이 발생하는 상황으로 이어집니다. 2017.04 . 08 18 : 06 : 17.780 сколько тиков (GOLD- 9.17 ,H1) Колво тиков за 2017.04 . 02 00 : 00 : 00 = 116844 테스터는 88개의 기존 분 막대에 대해서만 눈금을 사용합니다. 다른 모든 진드기는 어딘가에 존재합니다 ... 2017.04 . 08 18 : 05 : 17.263 Core 1 GOLD- 9.17 ,M1: 5918 ticks, 88 bars generated. Environment synchronized in 0 : 00 : 00.070 . Test passed in 0 : 00 : 03.125 (including ticks preprocessing 0 : 00 : 00.070 ). 2017.04 . 08 18 : 05 : 17.263 Core 1 GOLD- 9.17 ,M1: total time from login to stop testing 0 : 00 : 03.195 (including 0 : 00 : 02.944 for history data synchronization) 2017.04 . 08 18 : 05 : 17.263 Core 1 166135 total ticks for all symbols 2017.04 . 08 18 : 05 : 17.263 Core 1 GOLD- 9.17 : generate 5918 ticks in 0 : 00 : 00.020 , passed to tester 5918 ticks fxsaber 2017.04.08 15:04 #284 테스터 로그 GOLD- 6.17 ,H1: testing of Experts\fxsaber\Test2.ex5 from 2017.04 . 03 00 : 00 to 2017.04 . 08 00 : 00 started GOLD- 6.17 : real ticks begin from 2017.04 . 03 00 : 00 : 00 final balance 100000.00 EUR GOLD- 6.17 ,H1: 145777 ticks , 70 bars generated. Environment synchronized in 0 : 00 : 01.388 . Test passed in 0 : 00 : 00.062 (including ticks preprocessing 0 : 00 : 00.031 ). 하지만 실제 틱의 수 이것은 Metaquotes 데모입니다. 매주 147,700개의 실제 틱이 있으며 가장 정확한 모드의 테스터는 145,777개의 틱을 제공합니다. kaus_bonus 2017.04.08 15:19 #285 fxsaber : 테스터 로그 하지만 실제 틱의 수 이것은 Metaquotes 데모입니다. 매주 147,700개의 실제 틱이 있으며 가장 정확한 모드의 테스터는 145,777개의 틱을 제공합니다. 여러 M1 막대가 누락되었으며 벤치마크가 이를 기반으로 하기 때문에 테스터는 실제보다 적은 틱을 사용합니다. 먼 미래를 더 잘 볼수록 그림이 더 명확해집니다. fxsaber 2017.04.08 15:30 #286 kaus_bonus : 여러 M1 막대가 누락되었으며 벤치마크가 이를 기반으로 하기 때문에 테스터는 실제보다 적은 틱을 사용합니다. 마지막 가격이 있을 때 M1 막대가 형성됩니다. 그것이 없으면 바가 없습니다. 그리고 그 당시에 입찰/매도 틱이 있었다는 사실은 무시됩니다! 저것들. 문제는 테스터뿐만 아니라 막대 형성 알고리즘에도 있습니다. 먼 미래를 더 잘 볼수록 그림이 더 명확해집니다. 위에서 쓴 것처럼 그러한 상황이 가장 자주 발생하는 것은 먼 미래에 있습니다. 당신은 이것을 올바르게 알아차렸고, 나는 이 상황에 대한 더 명확한 증거만을 제시할 것입니다. GOLD- 9.17 ,H1: testing of Experts\fxsaber\Test2.ex5 from 2017.04 . 03 00 : 00 to 2017.04 . 08 00 : 00 started GOLD- 9.17 : real ticks begin from 2017.04 . 03 00 : 00 : 00 final balance 100000.00 EUR GOLD- 9.17 ,H1: 5918 ticks , 39 bars generated. Environment synchronized in 0 : 00 : 00.032 . Test passed in 0 : 00 : 00.046 . 가장 정확한 모드에는 116844개의 실제 틱, 5918개의 테스터 틱이 있으며 20배 미만입니다. PS 이 상황이 테스터가 동일한 틱을 누락했기 때문이라는 가설에 대한 반박 #include <TypeToBytes.mqh> #define TOSTRING(A) #A + " = " + ( string )(A) + " " void OnStart () { MqlTick Ticks[]; const int Amount = CopyTicksRange( _Symbol , Ticks, COPY_TICKS_ALL , D'2017.04.03' * 1000 , D'2017.04.08' * 1000 ); int Count = 1 ; for ( int i = 1 ; i < Amount; i++) if (_R(Ticks[i]) != Ticks[i - 1 ]) Count++; Print (TOSTRING(Amount) + TOSTRING(Count)); } 결과 Test2 (GOLD- 9.17 ,H1) Amount = 116844 Count = 116840 4개의 동일한 틱만 놓칠 수 있습니다. fxsaber 2017.04.09 12:37 #287 MqlTick을 문자열로 변환 거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼 라이브러리: Price_Compare fxsaber , 2016.10.19 17:18 string GetTickFlag( uint tickflag ){ string flag = "" ; #define TICKFLAG_MACRO(A) flag += (( bool )(tickflag & TICK_FLAG_ ##A)) ? " TICK_FLAG_" + #A : "" ; TICKFLAG_MACRO(BID) TICKFLAG_MACRO(ASK) TICKFLAG_MACRO(LAST) TICKFLAG_MACRO(VOLUME) TICKFLAG_MACRO(BUY) TICKFLAG_MACRO(SELL) #undef TICKFLAG_MACRO if (flag == "" ) flag = " FLAG_UNKNOWN (" + ( string )tickflag + ")" ; return (flag);} #define TOSTRING(A) " " + #A + " = " + ( string )Tick.A string TickToString( const MqlTick &Tick ){ return (TOSTRING(time) + "." + ( string ) IntegerToString (Tick.time_msc % 1000 , 3 , '0' ) + TOSTRING(bid) + TOSTRING(ask) + TOSTRING(last)+ TOSTRING(volume) + GetTickFlag(Tick.flags));} void OnStart (){ MqlTick Tick; if ( SymbolInfoTick ( _Symbol , Tick)) Print (TickToString(Tick));} 결과 time = 2017.04 . 07 23 : 58 : 18.000 bid = 110620.0 ask = 110640.0 last = 110630.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK TICK_FLAG_LAST TICK_FLAG_VOLUME Features of the mql5 초보자의 질문 MQL5 MT5 CopyTicks question Denis Kirichenko 2017.04.09 14:24 #288 fxsaber : MqlTick을 문자열로 변환 결과 읽을 수 없음 : time = 2017.04 . 07 23 : 58 : 18.000 bid = 110620.0 ask = 110640.0 last = 110630.0 volume = 1 TICK_FLAG_BID TICK_FLAG_ASK TICK_FLAG_LAST TICK_FLAG_VOLUME fxsaber 2017.04.09 14:29 #289 데니스 키리첸코 : 읽을 수 없음 : 이해하지 못했습니다. 나는 간단한 구조, 유형 및 배열을 인쇄하는 데 이 옵션을 사용합니다. 거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼 메타에디터 빌드 1463 fxsaber , 2016.11.10 10:42 class PRINTCLASS { public : template < typename T> static void MyPrint( const T &Value ) { T Array[ 1 ]; Array[ 0 ] = Value; ::ArrayPrint(Array, _Digits , NULL , 0 , WHOLE_ARRAY , ARRAYPRINT_HEADER|ARRAYPRINT_LIMIT|ARRAYPRINT_ALIGN); } template < typename T> static void MyPrint( const T Value ) { :: Print (Value); } template < typename T> static void MyPrint( const T &Value[] ) { ::ArrayPrint(Value); } }; #define Print (A) PRINTCLASS::MyPrint(A) void OnStart () { MqlTick Tick; if ( SymbolInfoTick ( _Symbol , Tick)) Print (Tick); } 결과 [time] [bid] [ask] [last] [volume] [time_msc] [flags] 2017.04 . 07 23 : 58 : 18 110620 110640 110630 1 1491609498000 30 모든 것은 목표에 달려 있습니다. Artyom Trishkin 2017.04.09 18:49 #290 이 주제와 관련이 없는 댓글은 " MQL4에 대한 모든 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 "으로 이동되었습니다. 1...222324252627282930313233343536...247 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
테스트할 때 미세한 데이터가 더 신뢰할 수 있는 것으로 간주됩니다.
분 막대가 더 안정적입니까? 틱 데이터는 최후의 수단이 아닌가요? 고려되지 않은 경우 실제 틱 데이터가 왜 필요합니까?
나는 순진하게 이것을 하곤 했습니다. 몇 분 동안 테스트한 다음 틱에 대해 테스트한 다음 최종 정밀 검사로 실제 틱에 대해 테스트했습니다. 이제 세 번째 검사에 특별한 의미가 없다는 것을 이해합니다.
여기에서 다리가 자랍니다.
https://www.mql5.com/ru/forum/188047
보시다시피 조작을 시도하지 않으면 인증서를 잘못 해석한 것으로 판명됩니다.문맥에서 문장을 가져갈 필요가 없습니다. 문구는 다음과 같습니다.
나는 아무것도 조작하지 않았습니다. 매뉴얼은 회의록이 가장 중요하다고 분명히 명시하고 있습니다. 눈금 데이터가 없기 때문에 분 막대에 따라 눈금 이 생성 됩니다.
제 생각에는 "실제 틱" 모드에서 실제 틱으로 분 타임프레임을 구성해야 합니다. 그렇지 않으면 이 모드에서 의미가 없습니다.
제 생각에는 "실제 틱" 모드에서 실제 틱으로 분 타임프레임을 구성해야 합니다. 그렇지 않으면 이 모드에서 의미가 없습니다.
04/02/17에서 04/08/17까지 실제 틱이 발생하는 상황으로 이어집니다.
테스터는 88개의 기존 분 막대에 대해서만 눈금을 사용합니다. 다른 모든 진드기는 어딘가에 존재합니다 ...
하지만 실제 틱의 수
이것은 Metaquotes 데모입니다.
매주 147,700개의 실제 틱이 있으며 가장 정확한 모드의 테스터는 145,777개의 틱을 제공합니다.
테스터 로그
하지만 실제 틱의 수
이것은 Metaquotes 데모입니다.
매주 147,700개의 실제 틱이 있으며 가장 정확한 모드의 테스터는 145,777개의 틱을 제공합니다.
여러 M1 막대가 누락되었으며 벤치마크가 이를 기반으로 하기 때문에 테스터는 실제보다 적은 틱을 사용합니다.
먼 미래를 더 잘 볼수록 그림이 더 명확해집니다.
여러 M1 막대가 누락되었으며 벤치마크가 이를 기반으로 하기 때문에 테스터는 실제보다 적은 틱을 사용합니다.
마지막 가격이 있을 때 M1 막대가 형성됩니다. 그것이 없으면 바가 없습니다. 그리고 그 당시에 입찰/매도 틱이 있었다는 사실은 무시됩니다!
저것들. 문제는 테스터뿐만 아니라 막대 형성 알고리즘에도 있습니다.
먼 미래를 더 잘 볼수록 그림이 더 명확해집니다.
위에서 쓴 것처럼 그러한 상황이 가장 자주 발생하는 것은 먼 미래에 있습니다.
당신은 이것을 올바르게 알아차렸고, 나는 이 상황에 대한 더 명확한 증거만을 제시할 것입니다.
가장 정확한 모드에는 116844개의 실제 틱, 5918개의 테스터 틱이 있으며 20배 미만입니다.
PS 이 상황이 테스터가 동일한 틱을 누락했기 때문이라는 가설에 대한 반박
결과4개의 동일한 틱만 놓칠 수 있습니다.
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
라이브러리: Price_Compare
fxsaber , 2016.10.19 17:18
{
string flag = "" ;
#define TICKFLAG_MACRO(A) flag += (( bool )(tickflag & TICK_FLAG_ ##A)) ? " TICK_FLAG_" + #A : "" ;
TICKFLAG_MACRO(BID)
TICKFLAG_MACRO(ASK)
TICKFLAG_MACRO(LAST)
TICKFLAG_MACRO(VOLUME)
TICKFLAG_MACRO(BUY)
TICKFLAG_MACRO(SELL)
#undef TICKFLAG_MACRO
if (flag == "" )
flag = " FLAG_UNKNOWN (" + ( string )tickflag + ")" ;
return (flag);
}
#define TOSTRING(A) " " + #A + " = " + ( string )Tick.A
string TickToString( const MqlTick &Tick )
{
return (TOSTRING(time) + "." + ( string ) IntegerToString (Tick.time_msc % 1000 , 3 , '0' ) +
TOSTRING(bid) + TOSTRING(ask) + TOSTRING(last)+ TOSTRING(volume) + GetTickFlag(Tick.flags));
}
void OnStart ()
{
MqlTick Tick;
if ( SymbolInfoTick ( _Symbol , Tick))
Print (TickToString(Tick));
}
MqlTick을 문자열로 변환
읽을 수 없음 :
읽을 수 없음 :
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
메타에디터 빌드 1463
fxsaber , 2016.11.10 10:42
모든 것은 목표에 달려 있습니다.