찻주전자의 질문 - 페이지 66

 
Yedelkin :

그것은 모두 사용자 지정 표시기 에 포함된 논리에 따라 다릅니다. 원칙적으로 다른 모든 틱은 건너뛰고 하루에 한 번 값을 다시 계산할 수 있습니다. 말하자면 작가의 의지로 말이다.

원칙적으로 일부 사람들은 iCustom을 통해 표시기의 사본을 만들고 필요한 데이터를 복사하고 표시기의 사본을 파괴하는 것과 같은 괴물 같은 접근 방식을 사용하려고 시도합니다. 절차는 필요에 따라 반복됩니다.

..OnTimer() 함수도 있습니다. 나는 그것을 직접 사용하지 않았지만 아마도 당신이 당신의 작업을 위해 그것을 구성 할 수있을 것입니다.

고맙습니다. 그래서 나는 생각했다. OnTimer가 적합하지 않습니다.

표시기가 M5에 있지만 예를 들어 한 시간에 한 번 액세스되는 상황이 있습니다. 표시기는 한 시간에 한 번 호출하기 위해 5분마다 유휴 상태에서 EA에서 계산됩니다. 그래서 지표의 재계산을 유예할 수 있는지 궁금합니다.

 
masharov :

표시기가 M5에 있지만 예를 들어 한 시간에 한 번 액세스되는 상황이 있습니다. 표시기는 한 시간에 한 번 호출하기 위해 5분마다 유휴 상태에서 EA에서 계산됩니다.

지표를 매시간 계산하도록 다시 작성할 수 없습니까?
 
Yedelkin :
지표를 매시간 계산하도록 다시 작성할 수 없습니까?
거래는 M5로 이동합니다. 표시기가 언제 호출될지는 알 수 없습니다. 두 시간에 한 번, 한 시간에 세 번일 수도 있습니다. 지표는 거래 결정을 확인하는 데 사용됩니다.
Способы вызова индикаторов в MQL5
Способы вызова индикаторов в MQL5
  • 2010.03.09
  • KlimMalgin
  • www.mql5.com
C появлением новой версии языка MQL, не только изменился подход к работе с индикаторами, но и появились новые способы создания индикаторов. Кроме того, появилась дополнительная гибкость при работе с индикаторными буферами - теперь вы можете самостоятельно указать нужное направление индексации и получать ровно столько значений индикатора, сколько вам требуется. В этой статье рассмотрены базовые методы вызова индикаторов и получения данных из индикаторных буферов.
 
masharov :
거래는 M5로 이동합니다. 표시기가 언제 호출될지는 알 수 없습니다. 두 시간에 한 번, 한 시간에 세 번일 수도 있습니다. 지표는 거래 결정을 확인하는 데 사용됩니다.
논리는 분명합니다. 그런 경우에 나는 어리석고 화를 내며 그것을 했습니다. 나는 지표에서 직접 Expert Advisor로 계산 블록을 옮겼습니다. 저것들. 외부 데이터 소스(지표) 대신 Expert Advisor는 지표의 계산 알고리즘을 재현하는 자체 기능 중 하나를 사용했습니다. 이 경우 이 함수는 필요한 값을 완전히 다시 계산하여 필요에 따라 호출되었습니다.
 

안녕하세요! 말해주세요,

1) TRADE_RETCODE_LOCKED, TRADE_RETCODE_FROZEN 과 같은 오류는 어떻게 해야 하며 어떤 경우에 요청이 차단되거나 포지션/주문이 동결됩니까?

2) TRADE_RETCODE_INVALID_FILL 로 무엇을 할 것인지도 흥미롭고 어떤 경우에 발생합니까?

 
PunkBASSter :

안녕하세요! 말해주세요,

1) TRADE_RETCODE_LOCKED, TRADE_RETCODE_FROZEN 과 같은 오류는 어떻게 해야 하며 어떤 경우에 요청이 차단되거나 포지션/주문이 동결됩니까?

2) TRADE_RETCODE_INVALID_FILL 로 무엇을 할 것인지도 흥미롭고 어떤 경우에 발생합니까?

1) 포럼을 검색하여 찾아보세요. 1년 전에 논의했습니다.

2) ENUM_ORDER_TYPE_FILLING 참조를 참조하십시오. 지정된 "실행을 위한 주문 유형"의 거래 요청과 실행 모드의 불일치로 인해 지정된 반환 코드가 발생할 수 있습니다.

예: ORDER_FILLING_FOK 및 SYMBOL_TRADE_EXECUTION_MARKET.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
Yedelkin, 대단히 감사합니다)
 
masharov :

표시기가 iCustom을 통해 활성화되면 각 틱에서 계산된다는 의혹이 있었습니다. 그리고 CopyBuffer를 통한 호출에 의존하지 않습니다. 맞아요?

true인 경우 표시기 재계산을 끄고 CopyBuffer를 호출하기 전에만 켤 수 있습니까?

내가 당신을 올바르게 이해했다면 iFractals 도움말의 예에 따라 후속 틱에 대한 계산을 제한할 수 있습니다( OnCalculate 의 여러 조건 참조).

필요한 모든 막대에 대한 표시기 계산의 초기 실행을 true로 설정하고 터미널의 서버 시간을 확인하고 필요한 단계 t에서 발생하면 플래그를 false로 재설정하여 재계산을 허용하고 설정을 통해 OnCalculate 에서 플래그를 지정할 수도 있습니다. 다시 사실로 ... 등.

음, 또는 다음과 같이: 계산이 포함 된 외부 함수 를 작성하고 OnInit에서 호출합니다. 여기서 지표가 처음 시작될 때 한 번 작동합니다(또한 사용자의 주도로 발생하는 시간 프레임 등을 변경할 때). 그런 다음 두 번째 방법으로 OnCalculate 에서 동일한 함수를 호출합니다(서버 및 플래그 지정 시간 이후).

그러나 첫 번째 방법은 각 틱에서 전체 재계산(종종 새로운 결과가 전혀 나오지 않음)으로 프로세서를 로드하지 않을 뿐만 아니라 주어진 시간 간격 후에 전체 재계산을 수행하지도 않는다는 점에서 여전히 우수합니다. 최신 막대를 계산합니다(각 틱에서 하나의 새 막대를 계산하고 t마다 한 번이면 이 시간 동안 여러 막대가 누적됨). ...개인적으로 이 옵션을 명확히 하는 것이 좋겠지만, 제가 틀릴 수 있습니다... 게다가, 그것은 모두 지표의 특정 목적에 달려 있습니다. 시장의 대규모 또는 전체 역사에 의존하는 경우 전체 역사를 다시 계산하는 것에서 벗어날 수 없습니다.

 

농담의 유머를 이해하지 못했습니다(중요하지 않지만 지표를 쓰고 있습니다).

 struct TBuffer
{
   double buffer[];
};

TBuffer BuffArray[ 4 ];

오류나 경고 없이 컴파일됩니다.

 int elements= 4 ;

struct TBuffer
{
   double buffer[];
};

TBuffer BuffArray[elements];

1개의 오류, 0개의 경고 로 컴파일: '요소' - 유효하지 않은 인덱스 값.

뻔한 상식을 넘어선 무엇이 있을까요??

 
x100intraday :


뻔한 상식을 넘어선 무엇이 있을까요??

배열 요소 의 수는 상수로 지정됩니다.

요소의 개수를 미리 알 수 없는 경우 ArrayResize를 사용하여 변수를 사용하여 크기를 설정합니다.

이것이 C++의 기본입니다.

그래서 또는

 #define elements 4