사용자 정의 기호. 오류, 버그, 질문, 제안. - 페이지 13 1...67891011121314151617181920...34 새 코멘트 Slava 2019.06.07 05:54 #121 fxsaber : 게다가 지금이 00:00:01이면 불과 2초 전인 CustomTicksAdd를 통해 막대를 완성할 수 없습니다. 물론 작동하지 않습니다. 00:00:01에 온 눈금이 이미 다음 막대를 형성해야 하기 때문입니다. 정상적인 상황에서. fxsaber 2019.06.07 06:04 #122 Slava : 테스터의 경우, 어제의 시간 전날에 대한 어제의 틱이 신선한 것, 오늘의 것입니다. 무슨 말을 하고 싶은지 이해했습니다. 6개월 전의 맞춤 눈금이 있는 운동은 테스트 특성이 뚜렷합니다. 귀하의 상황이 정상이 아닙니다(일반적인 관행의 의미에서) 관례의 비표준 사용에 관하여. 다양한 상황에서 기능을 식별하고 해결하기 위해 토론하는 것입니다. fxsaber 2019.06.07 06:07 #123 Slava : 물론 작동하지 않습니다. 00:00:01에 온 눈금이 이미 다음 막대를 형성해야 하기 때문입니다. 정상적인 상황에서. 초당 타이머를 사용하여 틱을 전달하는 서비스를 상상해 보십시오(일반적으로 수식에서 하는 것처럼 더 적을 수도 있음 - 100ms). 그런 다음 자정에 막대는 종종 하루의 마지막 눈금을 잃습니다. fxsaber 2019.06.07 06:19 #124 버그 16. M1 막대가 있지만 다른 시간대는 표시되지 않습니다. 철을 재현하는 방법 - 모르겠습니다. Slava 2019.06.07 13:03 #125 fxsaber : 버그 16. M1 막대가 있지만 다른 시간대는 표시되지 않습니다. 철을 재현하는 방법 - 모르겠습니다. 그리고 이것들은 0이 아닌 초로 시간이 있는 막대가 아닙니까? fxsaber 2019.06.07 13:15 #126 Slava : 그리고 이것들은 0이 아닌 초가 있는 시간이 있는 막대가 아닙니까? EURUSD 및 일반 막대(분의 배수)가 있는 실제 눈금이 있습니다. 문제는 M1 이외의 모든 기간에서 안정적이었습니다. 따라서 영상은 문제 없이 녹화되었습니다. 그러나 잠시 후 문제가 재현되지 않았습니다. 기호는 이 스레드 의 고문이 만들었습니다 . fxsaber 2019.06.11 18:48 #127 버그 17. 틱 기록이 완전히 사라집니다. #define PRINT(A) Print ( #A + " = " + ( string )(A)) #define SIZE 100 void OnStart () { MathSrand (( uint ) TimeLocal ()); const string Name = _Symbol + ( string ) MathRand (); MqlTick Ticks[]; PRINT( CustomSymbolCreate (Name, NULL , _Symbol )); // Создали символ. PRINT( SymbolSelect (Name, true )); // Поместили в Обзор рынка PRINT( CopyTicksRange ( _Symbol , Ticks, COPY_TICKS_INFO , D'2019.06.01' * 1000 )); // Взяли тики PRINT( ArrayResize (Ticks, SIZE)); // Оставили только SIZE-тиков PRINT( CustomTicksAdd (Name, Ticks)); // Пробросили их все MqlTick NewTicks[]; PRINT( CopyTicksRange (Name, NewTicks)); // Взяли тики, что в истории // PRINT(CustomTicksReplace(Name, 0, LONG_MAX, NewTicks)); // И перезаписали их . PRINT( CopyTicksRange (Name, Ticks)); // Убедились, что тиков в истории ровно SIZE PRINT( CustomTicksDelete (Name, Ticks[SIZE - 1 ].time_msc - 60 * 1000 , LONG_MAX )); // Удалили последнюю минуту PRINT( CopyTicksRange (Name, Ticks)); // Убедились, что тиков стало меньше на удаленное количество } 결과 CustomSymbolCreate (Name, NULL , _Symbol ) = true SymbolSelect (Name, true ) = true CopyTicksRange ( _Symbol ,Ticks, COPY_TICKS_INFO , D'2019.06.01' * 1000 ) = 533797 ArrayResize (Ticks, 100 ) = 100 CustomTicksAdd (Name,Ticks) = 100 CopyTicksRange (Name,Ticks) = 100 CustomTicksDelete (Name,Ticks[ 100 - 1 ].time_msc- 60 * 1000 , LONG_MAX ) = 1 CopyTicksRange (Name,Ticks) = 0 밑줄 친 줄에서 주석을 제거하면 스크립트가 올바르게 작동합니다. 분명히 오래된 Add 틱은 Replace 틱이 가는 곳으로 가지 않습니다. fxsaber 2019.06.11 19:42 #128 버그 18. 눈금을 삭제하면 마지막 막대가 손실됩니다. #define PRINT(A) Print ( #A + " = " + ( string )(A)) void OnStart () { MathSrand (( uint ) TimeLocal ()); const string Name = _Symbol + ( string ) MathRand (); MqlTick Ticks[]; PRINT( CustomSymbolCreate (Name, NULL , _Symbol )); // Создали символ. PRINT( SymbolSelect (Name, true )); // Поместили в Обзор рынка PRINT( CopyTicks ( _Symbol , Ticks)); // Взяли тики PRINT( CustomTicksReplace (Name, 0 , LONG_MAX , Ticks)); // Записали их. PRINT( CustomTicksDelete (Name, Ticks[ ArraySize (Ticks) - 1 ].time_msc - 60 * 1000 , LONG_MAX )); // Удалили последнюю минуту MqlTick LastTick[ 1 ]; PRINT( CopyTicks (Name, LastTick, COPY_TICKS_ALL , 0 , 1 )); // Распечатали последний тик ArrayPrint (LastTick); MqlRates LastBar[ 1 ]; PRINT( CopyRates (Name, PERIOD_M1 , 0 , 1 , LastBar)); // Распечатали последний бар ArrayPrint (LastBar); } 결과 CustomSymbolCreate (Name, NULL , _Symbol ) = true SymbolSelect (Name, true ) = true CopyTicks ( _Symbol ,Ticks) = 2000 CustomTicksReplace (Name, 0 , LONG_MAX ,Ticks) = 2000 CustomTicksDelete (Name,Ticks[ ArraySize (Ticks)- 1 ].time_msc- 60 * 1000 , LONG_MAX ) = 25 CopyTicks (Name,LastTick, COPY_TICKS_ALL , 0 , 1 ) = 1 [time] [bid] [ask] [last] [volume] [time_msc] [flags] [volume_real] [ 0 ] 2019.06 . 11 22 : 37 : 42 1.13284 1.13288 0.0000 0 1560292662809 6 0.00000 CopyRates (Name, PERIOD_M1 , 0 , 1 ,LastBar) = 1 [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume] [ 0 ] 2019.06 . 11 22 : 36 : 00 1.13278 1.13284 1.13278 1.13279 13 3 0 fxsaber 2019.06.12 00:24 #129 버그 19. 스프레드 계산이 잘못되었습니다. #define PRINT(A) Print ( #A + " = " + ( string )(A)) void OnStart () { MathSrand (( uint ) TimeLocal ()); const string Name = _Symbol + ( string ) MathRand (); PRINT( CustomSymbolCreate (Name, NULL , _Symbol )); // Создали символ. PRINT( SymbolSelect (Name, true )); // Поместили в Обзор рынка MqlTick Tick[ 1 ]; if ( SymbolInfoTick ( _Symbol , Tick[ 0 ])) { // Специально задаем отрицательный спред. Tick[ 0 ].bid = 1.11643 ; Tick[ 0 ].ask = 1.11632 ; PRINT( CustomTicksAdd (Name, Tick)); // Пробросили тик. PRINT( SymbolInfoInteger (Name, SYMBOL_SPREAD )); // Смотрим его спред. ArrayPrint (Tick); // Смотрим сам тик. } } 결과 CustomSymbolCreate (Name, NULL , _Symbol ) = true SymbolSelect (Name, true ) = true CustomTicksAdd (Name,Tick) = 1 SymbolInfoInteger (Name, SYMBOL_SPREAD ) = - 10 [time] [bid] [ask] [last] [volume] [time_msc] [flags] [volume_real] [ 0 ] 2019.06 . 03 00 : 32 : 11 1.11643 1.11632 0.0000 0 1559521931040 6 0.00000 Roman 2019.06.15 21:35 #130 버그 20. 버그에서 제외됩니다. 솔루션은 아래 분기에서 찾을 수 있습니다. 2085 사용자 정의 기호 속성이 잘못 설정되었습니다. 결과에 변화가 있습니다. 옵션 중 하나에 따라 속성이 설정되었습니다. CustomSymbolSetInteger (SName, SYMBOL_FILLING_MODE , ORDER_FILLING_FOK ); Результат: Filling == None или CustomSymbolSetInteger (SName, SYMBOL_FILLING_MODE , ORDER_FILLING_IOC ); Результат: Filling == Fill or Kill или CustomSymbolSetInteger (SName, SYMBOL_FILLING_MODE , ORDER_FILLING_RETURN ); Результат: Filling == Immediate or Cancel 1...67891011121314151617181920...34 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
게다가 지금이 00:00:01이면 불과 2초 전인 CustomTicksAdd를 통해 막대를 완성할 수 없습니다.
물론 작동하지 않습니다. 00:00:01에 온 눈금이 이미 다음 막대를 형성해야 하기 때문입니다. 정상적인 상황에서.
테스터의 경우, 어제의 시간 전날에 대한 어제의 틱이 신선한 것, 오늘의 것입니다.
무슨 말을 하고 싶은지 이해했습니다. 6개월 전의 맞춤 눈금이 있는 운동은 테스트 특성이 뚜렷합니다. 귀하의 상황이 정상이 아닙니다(일반적인 관행의 의미에서)
관례의 비표준 사용에 관하여. 다양한 상황에서 기능을 식별하고 해결하기 위해 토론하는 것입니다.
물론 작동하지 않습니다. 00:00:01에 온 눈금이 이미 다음 막대를 형성해야 하기 때문입니다. 정상적인 상황에서.
초당 타이머를 사용하여 틱을 전달하는 서비스를 상상해 보십시오(일반적으로 수식에서 하는 것처럼 더 적을 수도 있음 - 100ms). 그런 다음 자정에 막대는 종종 하루의 마지막 눈금을 잃습니다.
버그 16.
M1 막대가 있지만 다른 시간대는 표시되지 않습니다.
![](https://c.mql5.com/3/281/clip0143.gif)
철을 재현하는 방법 - 모르겠습니다.버그 16.
M1 막대가 있지만 다른 시간대는 표시되지 않습니다.
철을 재현하는 방법 - 모르겠습니다.그리고 이것들은 0이 아닌 초가 있는 시간이 있는 막대가 아닙니까?
EURUSD 및 일반 막대(분의 배수)가 있는 실제 눈금이 있습니다.
문제는 M1 이외의 모든 기간에서 안정적이었습니다. 따라서 영상은 문제 없이 녹화되었습니다.
그러나 잠시 후 문제가 재현되지 않았습니다. 기호는 이 스레드 의 고문이 만들었습니다 .
버그 17.
틱 기록이 완전히 사라집니다.
결과
밑줄 친 줄에서 주석을 제거하면 스크립트가 올바르게 작동합니다. 분명히 오래된 Add 틱은 Replace 틱이 가는 곳으로 가지 않습니다.
버그 18.
눈금을 삭제하면 마지막 막대가 손실됩니다.
결과
버그 19.
스프레드 계산이 잘못되었습니다.
결과
버그 20. 버그에서 제외됩니다. 솔루션은 아래 분기에서 찾을 수 있습니다.
2085
사용자 정의 기호 속성이 잘못 설정되었습니다.
결과에 변화가 있습니다.
옵션 중 하나에 따라 속성이 설정되었습니다.