오류, 버그, 질문 - 페이지 136

 
Renat :
Expert Advisor에서 생성된 표시기는 명시적으로 삭제되거나 Expert Advisor가 종료될 때까지 언로드되지 않습니다.

시간을 내어 답변해 주셔서 감사합니다.

이것은 많이 변경되므로 문제를 테스터용 코드와 실제용 코드로 나누지 않고 수행할 수 있습니다.

 
Renat :

표시기가 한 시간에 한 번 필요한 경우 리소스를 절약하기 위해 가장 좋은 방법을 조언합니다.

모든 눈금 에 매달릴 12개의 표준 표시기를 남겨두거나

사용할 때마다 IndicatorRelease(indicator_handle)를 통해 언로드하고 한 시간 후에 다시 로드합니다.

사실, 두 번째 옵션은 테스트 시간이 증가합니다.

또한 한 대의 기계를 로드하는 데 평균적으로 얼마나 걸립니까?

 
Urain :

표시기가 한 시간에 한 번 필요한 경우 리소스를 절약하기 위해 가장 좋은 방법을 조언합니다.

모든 눈금에 매달릴 12개의 표준 표시기를 남겨두거나

그것들을 언로드하지 않는 것이 가장 좋지만(지표는 실제로 "한 시간에" 거의 필요하지 않음):

  1. 64비트로 전환하여 메모리 양을 늘리거나
  2. 차트 기록 깊이 줄이기
로드하는 데 걸리는 시간을 정확히 말할 수는 없습니다. 여러 요인에 따라 다릅니다. 지표를 언로드 하여 스스로 문제를 일으키지 않는 것이 가장 좋습니다. 이는 생성 프로세스의 비동기성과 지표 재계산 자체로 인해 문제가 발생할 수 있습니다.
 
Urain :

표시기가 한 시간에 한 번 필요한 경우 리소스를 절약하기 위해 가장 좋은 방법을 조언합니다.

모든 눈금에 매달릴 12개의 표준 표시기를 남겨두거나

사용할 때마다 IndicatorRelease(indicator_handle)를 통해 언로드하고 한 시간 후에 다시 로드합니다.

사실, 두 번째 옵션은 테스트 시간이 증가합니다.

또한 한 대의 기계를 로드하는 데 평균적으로 얼마나 걸립니까?

필요한 간격으로 타이머의 데이터를 요청하십시오. 물론 타이머가 다른 목적으로 사용되지 않는 한.
 

문제

오프셋 설정은 안쓰는데 우연히 악어에 대한 설명을 보고 문득 생각이 났습니다... :)

악어 설정 중 하나에 대한 설명:

치아 이동

【인】 가격 차트를 기준으로 한 빨간색 선의 오프셋입니다. 라인 오프셋은 순전히 시각적으로 표시되며 표시기 버퍼 의 값은 오프셋 없이 저장된다는 점을 기억해야 합니다. CopyBuffer() 함수로 버퍼 값을 받을 때 오프셋 값은 영향을 미치지 않습니다.

이것은 MA에 대한 설명에는 없지만 이것은 실수라고 생각하고 모든 것이 동일합니다.

ma_shift

【인】 가격 차트를 기준으로 한 표시기 이동입니다.

노란새가 있는 그림에서 가격은 이동 없이 MA를 교차합니다. 예를 들어 마지막 막대의 종가가 MA 위에 있고 이전 막대가 MA 아래에 있으며 현재 막대가 시작될 때 엽니다.

그리고 녹색 새는 어디에 있습니까? 같은 것을 찾는 방법은 무엇입니까? 저것들. 가격으로 시각적 교차의 순간, 시프트와 MA

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов - Документация по MQL5
 
안녕하세요, 스크립트를 작성했습니다 - EURUSD 쌍 에 대한 가격 매도 가져오기
 #include <Trade\SymbolInfo.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
  CSymbolInfo SymInfo;
   Alert (SymInfo.Ask());
  }
값 0 제공 - 바인딩해야 한다고 생각합니다.
CSymbolInfo SymInfo;
차트 기호에 표시하지만 클래스에 기호를 지정하는 방법을 모르겠습니다.
 
kirill190982 :
안녕하세요, 저는 스크립트를 작성했습니다 - EURUSD 쌍에 대한 Ask 가격을 얻는 것은 값 0을 제공합니다 - 나는 그것이 묶여 있어야한다고 생각합니다
차트 기호에 표시하지만 클래스에 기호를 지정하는 방법을 모르겠습니다.
먼저 이 클래스가 무엇인지 알아야 합니다. 그리고 문제를 해결하려면 다음 방법을 사용해야 합니다. 이 클래스의 이름RefreshRates .
 
Interesting :
먼저 이 클래스가 무엇인지 알아야 합니다. 그리고 심볼에 바인딩할 때 먼저 " 이 클래스의 이름 ".
 //+------------------------------------------------------------------+
//|                                                   SymbolInfo.mqh |
//|                      Copyright © 2010, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//|                                              Revision 2010.02.22 |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Class CSymbolInfo.                                               |
//| Appointment: Class for access to symbol info.                    |
//+------------------------------------------------------------------+
class CSymbolInfo
  {
protected :
   string                       m_name;               // symbol name
   MqlTick                      m_tick;               // structure of tick;
.....
//--- ask parameters
   double             Ask() const                       { return (m_tick.ask); 
클래스의 Ask가 MqlTick 구조에 의해 결정된다는 것을 이해하므로 다음과 같이 시도했습니다.
 #include <Trade\SymbolInfo.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   string Megasymbol= Symbol ();
  CSymbolInfo SymInfo;
  SymInfo.Name(Megasymbol);
   Alert (SymInfo.Ask());
  }
여전히 null을 반환
 
kirill190982 :
내가 이해하는 것처럼 클래스의 Ask 는 MqlTick 구조 에 의해 결정되며 시도했지만 여전히 0을 제공합니다.

이렇게 해야 한다

SymInfo.Name( "EURUSD" );
SymInfo.RefreshRates();
Print (SymInfo.Ask());
 
Interesting :

그래서 제대로 시도?

고맙습니다