오류, 버그, 질문 - 페이지 2010 1...200320042005200620072008200920102011201220132014201520162017...3184 새 코멘트 [삭제] 2017.09.21 17:46 #20091 Andrey Dik : 테스터에서 CopyTicks는 0을 반환합니다. 정상입니까? 혹시 OHLC M1 모드나 시가가 아닌 상태에서 테스트 중이신 가요? Andrey Dik 2017.09.21 17:58 #20092 Alexey Kozitsyn : 혹시 OHLC M1 모드나 시가가 아닌 상태에서 테스트 중이신 가요? 아니요, "tick"과 "real ticks"를 모두 시도했습니다. 때로는 구조 배열이 완전히 0으로 채워지고 때로는 부분적으로 채워집니다. Andrey Dik 2017.09.21 19:02 #20093 다른 테스트 모드의 테스터에서 이 EA를 사용해 보세요. //—————————————————————————————————————————————————————————————————————————————— input int AveTicksPeriod_P = 20 ; MqlTick G_Ticks []; //—————————————————————————————————————————————————————————————————————————————— int OnInit () { // сделаем начальную синхронизацию GetLastRequredTicks ( Symbol (), AveTicksPeriod_P, G_Ticks, true , COPY_TICKS_INFO , 0 ); return ( INIT_SUCCEEDED ); } //—————————————————————————————————————————————————————————————————————————————— //—————————————————————————————————————————————————————————————————————————————— void OnTick () { Print ( "---------------------" ); if (!GetLastRequredTicks ( Symbol (), AveTicksPeriod_P, G_Ticks, true , COPY_TICKS_INFO , 0 )) { Print ( "Ошибка получения тиков " + ( string ) ArraySize (G_Ticks)); return ; } int errors = 0 ; for ( int i = 0 ; i < AveTicksPeriod_P; i++) if (G_Ticks [i].bid <= 0.0 ) { Print (G_Ticks [i].bid); errors++; } if (errors > 0 ) Print ( "errors: " + ( string )errors); } //—————————————————————————————————————————————————————————————————————————————— //—————————————————————————————————————————————————————————————————————————————— // Получение последних тиков c в указанном количестве, // попытки в течении указанного времени в мс bool GetLastRequredTicks ( string symbol, //символ int count, //количество MqlTick &ticks [], //массив для приёма тиков bool timeseries = true , //0-й элемент самый свежий или нет uint flag = COPY_TICKS_INFO , //COPY_TICKS_INFO или COPY_TICKS_TRADE или COPY_TICKS_ALL ulong waitMs = 0 ) //отведённое время на получение в мкс (10(-6)с) { //--- bool success = false ; // флаг успешного выполнения копирования тиков MqlTick tick_array []; // массив для приема тиков if (timeseries) ArraySetAsSeries (ticks, timeseries); ZeroMemory (tick_array); ulong startTime = GetMicrosecondCount (); ulong timeElapsed = 0 ; // мкс int received = 0 ; ResetLastError (); bool wait = true ; while (wait) { //--- запросим тиковую историю последних тиков в указанном количестве received = CopyTicks (symbol, ticks, flag, 0 , count); timeElapsed = GetMicrosecondCount () - startTime; // если указано допустимое время на синхронизацию if (waitMs > 0 ) { // если время превысило допустимое, то попыток больше не будет if (timeElapsed >= waitMs) wait = false ; } if (received == count) { //--- выведем информацию о количестве тиков и затраченном времени времени //PrintFormat ("%s: received %d ticks in %d mcs", _Symbol, received, timeElapsed); return ( true ); } //--- пауза в 0.1 секунду в ожидании завершения синхронизации тиковой базы Sleep ( 100 ); } return ( false ); } //—————————————————————————————————————————————————————————————————————————————— 핵심은 각 틱에서 가장 최근 틱의 지정된 수를 얻는 것입니다. 0, 심지어 균열이 얻어집니다. Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5 www.metatrader5.com Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии ( советники ) перед началом использования их в реальной торговле. При... [삭제] 2017.09.21 19:33 #20094 Andrey Dik : 다른 테스트 모드의 테스터에서 이 EA를 사용해 보세요. 핵심은 각 틱에서 가장 최근 틱의 지정된 수를 얻는 것입니다. 0, 심지어 균열이 얻어집니다. Ticks EURUSD: ticks synchronization started OE 0 00 : 31 : 42.376 Ticks EURUSD: load 34 bytes of tick data to synchronize in 0 : 00 : 00.000 KP 0 00 : 31 : 42.376 Ticks EURUSD: history ticks synchronized from 2017.07 . 16 to 2017.09 . 20 DK 0 00 : 31 : 42.442 History EURUSD,M15: history cached from 2016.01 . 03 23 : 00 CK 0 00 : 31 : 42.442 Tester EURUSD,M15 (): generating based on real ticks MS 0 00 : 31 : 42.442 Tester EURUSD,M15: testing of Experts\test_getTicks.ex5 from 2017.09 . 20 00 : 00 to 2017.09 . 21 00 : 00 started with inputs: CO 0 00 : 31 : 42.442 Tester AveTicksPeriod_P= 20 HH 0 00 : 31 : 42.681 Ticks EURUSD : real ticks begin from 2017.07 . 16 00 : 00 : 00 EL 3 00 : 31 : 42.681 Ticks EURUSD : 2017.09 . 20 00 : 00 - 2017.09 . 21 00 : 00 last prices translation turned on for 1333 minute bars PN 0 00 : 31 : 42.682 test_getTicks (EURUSD,M15) 2017.09 . 20 00 : 00 : 19 --------------------- IE 0 00 : 31 : 42.763 test_getTicks (EURUSD,M15) 2017.09 . 20 00 : 00 : 23 --------------------- LE 0 00 : 31 : 42.877 test_getTicks (EURUSD,M15) 2017.09 . 20 00 : 00 : 23 0.0 RP 0 00 : 31 : 42.877 test_getTicks (EURUSD,M15) 2017.09 . 20 00 : 00 : 23 errors: 1 FG 0 00 : 31 : 42.878 test_getTicks (EURUSD,M15) 2017.09 . 20 00 : 00 : 23 --------------------- HG 0 00 : 31 : 42.949 test_getTicks (EURUSD,M15) 2017.09 . 20 00 : 00 : 23 0.0 FR 0 00 : 31 : 42.949 test_getTicks (EURUSD,M15) 2017.09 . 20 00 : 00 : 23 errors: 1 RI 0 00 : 31 : 42.950 test_getTicks (EURUSD,M15) 2017.09 . 20 00 : 00 : 24 --------------------- [삭제] 2017.09.21 19:38 #20095 Andrey Dik : 다른 테스트 모드의 테스터에서 이 EA를 사용해 보세요. 핵심은 각 틱에서 가장 최근 틱의 지정된 수를 얻는 것입니다. 0, 심지어 균열이 얻어집니다. FORTS에서는 얻을 수 있었지만 TRADE 만 - 흐름 (표시기의 도움으로). 귀하의 EA는 실제 틱에서 실행하고 싶지도 않습니다... Andrey Dik 2017.09.21 19:51 #20096 Alexey Kozitsyn : FORTS에서는 얻을 수 있었지만 TRADE 만 - 흐름 (표시기의 도움으로). 귀하의 EA는 실제 틱에서 실행하고 싶지도 않습니다... 네, 어떤 문제가 있습니다. 하지만 어디? 문제가 정확히 무엇인지, 그것이 질문입니다. 차트에서 fx-symbols는 문제 없이 쟁기질합니다. 사실, 한 번 모든 동일한 오류가 미끄러졌습니다. Alexey Viktorov 2017.09.21 20:32 #20097 Andrey Dik : 다른 테스트 모드의 테스터에서 이 EA를 사용해 보세요. 핵심은 각 틱에서 가장 최근 틱의 지정된 수를 얻는 것입니다. 0, 심지어 균열이 얻어집니다. 글쎄, 새로운 진드기가 필요한 경우 0이 아니라 현재 시간(밀리초)에서 가져와야 합니다. received = CopyTicks (symbol, ticks, flag, TimeCurrent ()* 1000 , count); Andrey Dik 2017.09.22 02:38 #20098 Alexey Viktorov : 글쎄, 새로운 틱이 필요한 경우 0이 아니라 현재 시간(밀리초)에서 가져와야 합니다. 도움말은 다음과 같이 말합니다. ~에서 【인】 틱이 요청된 날짜입니다. 1970년 1월 1일부터 밀리초 단위로 지정됩니다. 매개변수 가 =0이면 마지막 카운트 틱 이 반환됩니다. fxsaber 2017.09.22 09:07 #20099 메타에디터에 mq5 파일을 저장했는데 그 이전 버전이 저장됩니다(시간 변경). 동시에 컴파일 중 ex5는 ME에서 보는 것과 일치합니다. 그러나 ME를 닫으면 파일의 모든 데이터가 손실됩니다. 다른 이름으로 저장하려고 합니다. 파일이 생성되었지만 ME에서 볼 수 없는 이전 소스가 있습니다. 디스크에 공간이 확실히 있습니다. Vladimir Karputov 2017.09.22 12:45 #20100 이 주제와 관련이 없는 댓글은 " EA가 작동하지 않는 이유 "로 이동되었습니다. 1...200320042005200620072008200920102011201220132014201520162017...3184 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
테스터에서 CopyTicks는 0을 반환합니다. 정상입니까?
혹시 OHLC M1 모드나 시가가 아닌 상태에서 테스트 중이신 가요?
다른 테스트 모드의 테스터에서 이 EA를 사용해 보세요.
핵심은 각 틱에서 가장 최근 틱의 지정된 수를 얻는 것입니다. 0, 심지어 균열이 얻어집니다.
다른 테스트 모드의 테스터에서 이 EA를 사용해 보세요.
핵심은 각 틱에서 가장 최근 틱의 지정된 수를 얻는 것입니다. 0, 심지어 균열이 얻어집니다.
다른 테스트 모드의 테스터에서 이 EA를 사용해 보세요.
핵심은 각 틱에서 가장 최근 틱의 지정된 수를 얻는 것입니다. 0, 심지어 균열이 얻어집니다.
FORTS에서는 얻을 수 있었지만 TRADE 만 - 흐름 (표시기의 도움으로). 귀하의 EA는 실제 틱에서 실행하고 싶지도 않습니다...
네, 어떤 문제가 있습니다. 하지만 어디? 문제가 정확히 무엇인지, 그것이 질문입니다.
차트에서 fx-symbols는 문제 없이 쟁기질합니다. 사실, 한 번 모든 동일한 오류가 미끄러졌습니다.
다른 테스트 모드의 테스터에서 이 EA를 사용해 보세요.
핵심은 각 틱에서 가장 최근 틱의 지정된 수를 얻는 것입니다. 0, 심지어 균열이 얻어집니다.
글쎄, 새로운 진드기가 필요한 경우 0이 아니라 현재 시간(밀리초)에서 가져와야 합니다.
글쎄, 새로운 틱이 필요한 경우 0이 아니라 현재 시간(밀리초)에서 가져와야 합니다.
도움말은 다음과 같이 말합니다.
~에서
【인】 틱이 요청된 날짜입니다. 1970년 1월 1일부터 밀리초 단위로 지정됩니다. 매개변수 가 =0이면 마지막 카운트 틱 이 반환됩니다.
메타에디터에 mq5 파일을 저장했는데 그 이전 버전이 저장됩니다(시간 변경). 동시에 컴파일 중 ex5는 ME에서 보는 것과 일치합니다. 그러나 ME를 닫으면 파일의 모든 데이터가 손실됩니다.
다른 이름으로 저장하려고 합니다. 파일이 생성되었지만 ME에서 볼 수 없는 이전 소스가 있습니다. 디스크에 공간이 확실히 있습니다.