MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1381

 
Alexey Viktorov :

초자연적인 것은 없습니다. 일반적인 OBJ_BITMAP_LABEL 및 영혼이 자원의 형태로 원하는 모든 것. Canvas는 OBJ_BITMAP_LABEL에서도 작동합니다.

그러나 초보자에게는 옵션이 훨씬 쉽습니다.

이해합니다. 감사합니다.
 
Alexey Viktorov :

메시지 에 코드를 삽입하는 방법을 배우십시오.

그리고 질문: CopyTicksRange에 대한 문서 읽기

 #property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"

MqlTick Tick_Mql[];

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---

//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {

//---

ulong from_msc = TimeCurrent () - 10000 ;
ulong to_msc = TimeCurrent ();
int Ticks = CopyTicksRange ( _Symbol ,Tick_Mql, COPY_TICKS_ALL ,from_msc,to_msc);
  }
//+------------------------------------------------------------------+
작동하지 않습니다. OnTick이 호출될 때마다 Ticks 변수의 결과는 0입니다.
 
Boris :
작동하지 않습니다. OnTick이 호출될 때마다 Ticks 변수의 결과는 0입니다.

그리고 입력할 때 과거 틱이 반드시 필요합니다. 10초는 그리 많은 시간이 아닙니다. 기다리며 실제로 온 진드기의 수를 셀 수 있습니다.

일반적으로 첫 번째 초에는 2개의 변수가 필요하고 9초 동안 몇 틱이 있었는지 기억하고 합산한 다음 다음 초에 대한 틱 수를 세고 첫 번째를 빼고 마지막을 더합니다. 결과는 배열이나 변수에 저장됩니다.

 
Valeriy Yastremskiy :

그리고 입력할 때 과거 틱이 필요합니다. 10초는 그리 많은 시간이 아닙니다. 기다리며 실제로 온 진드기의 수를 셀 수 있습니다.

일반적으로 첫 번째 초에는 2개의 변수가 필요하고 9초 동안 몇 틱이 있었는지 기억하고 합산한 다음 다음 초에 대한 틱 수를 세고 첫 번째를 빼고 마지막을 더합니다. 결과는 배열이나 변수에 저장됩니다.

이것은 CopyTicks 및 CopyTicksRange 기능을 통해 수행할 수 없다는 것이 밝혀졌습니다.

고맙습니다.

 
Boris :
작동하지 않습니다. OnTick이 호출될 때마다 Ticks 변수의 결과는 0입니다.

문서를 읽으십시오!!!

아니면 여기에서 모든 문서를 부분적으로 복사하시겠습니까 ???

from_msc

【인】 틱이 요청된 날짜입니다. 1970년 1월 1일부터 밀리초 단위로 지정됩니다 . from_msc 매개변수를 지정하지 않으면 기록의 맨 처음부터 틱이 제공됩니다. 틱은 시간 >= from_msc와 함께 반환됩니다.

to_msc

【인】 틱이 요청되는 날짜입니다. 1970년 1월 1일부터 밀리초 단위로 지정됩니다 . 틱은 시간 <= to_msc와 함께 반환됩니다. to_msc 매개변수를 지정하지 않으면 기록이 끝날 때까지의 모든 틱이 반환됩니다.

 
Valeriy Yastremskiy :

그리고 입력할 때 과거 틱이 반드시 필요합니다. 10초는 그리 많은 시간이 아닙니다. 기다리며 실제로 온 진드기의 수를 셀 수 있습니다.

일반적으로 첫 번째 초에는 2개의 변수가 필요하고 9초 동안 몇 틱이 있었는지 기억하고 합산한 다음 다음 초에 대한 틱 수를 세고 첫 번째를 빼고 마지막을 더합니다. 결과는 배열이나 변수에 저장됩니다.

왜 그런 조언을 합니까?

 
Boris :

이것은 CopyTicks 및 CopyTicksRange 기능을 통해 수행할 수 없다는 것이 밝혀졌습니다.

고맙습니다.

할 수 있다. 문서를 읽은 다음 문서에서 이해하지 못하는 부분을 질문하십시오. 그래서 진실로 가는 길이 더 빠르다)

 
Alexey Viktorov :

왜 그런 조언을 합니까?

내가 직접 한다. 짧은 행동을 스스로 고칠 수 있다면 왜 구조물에 올라타세요.

 
Valeriy Yastremskiy :

내가 직접 한다. 짧은 행동을 스스로 고칠 수 있다면 왜 구조물에 올라타세요.

그리고 나는 오른발 새끼 손가락으로 왼쪽 귀를 긁습니다 ... 당신을 가르 칠 수 있습니다 ... 당신이 필요합니까? 그래서 당신이 하는 일을 다른 사람에게 가르칠 필요가 없습니다.

 
Valeriy Yastremskiy :

할 수 있다. 문서를 읽은 다음 문서에서 이해하지 못하는 부분을 질문하십시오. 그래서 진실로 가는 길이 더 빠르다)

그래서... 문서를 (다시) 읽었습니다.

 #property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"

MqlTick Tick_Mql[];
ulong ten_msc =(ulong) TimeCurrent ()- 10000 ; // 1 секунда = 1000 милисекунд
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---

//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {

//---

ulong from_msc = ( ulong ) TimeCurrent () - 10000 ;
ulong to_msc = ( ulong ) TimeCurrent ();
int Ticks = CopyTicksRange ( _Symbol ,Tick_Mql, COPY_TICKS_ALL ,from_msc,to_msc); //(с текущего времени - 10 сек назад)
// либо CopyTicks(_Sybol,Tick_Mql,COPY_TICKS_ALL,from_msc,0); //(все тики от 10 сек назад до настоящего времени)
  }

문제. 뭐가 문제 야? CopyTicksRange 또는 CopyTicks를 통해 계산되지 않습니다.