초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 93

 
ryzhak.vladimir :

안녕하세요! 2012년 1월 1일부터 2012년 12월 31일까지 EURUSD 쌍의 30분 막대 종가가 있습니다. CopyClose 함수를 사용하여 얻습니다. 그러나 CopyClose[0]은 차트를 열면 터미널 자체의 2012년 12월 31일 마지막 막대의 종가와 같지 않습니다. 내가 뭘 잘못하고 있는지 말해봐. CopyClose의 가격과 실제로 차트의 가격이 일치하지 않는 이유

Close_buf[0] 을 호출하기 전에 ArraySetAsSeries 를 사용해야 합니다. 어드바이저/스크립트/지표 코드의 작업 기간 동안 한 번.

 ArraySetAsSeries (Close_buf, true );
 
fyords :

Close_buf[0] 을 호출하기 전에 ArraySetAsSeries 를 사용해야 합니다. 어드바이저/스크립트/지표 코드의 작업 기간 동안 한 번.

그래도 일치하지 않으면 1.31964 대신 1.32308을 출력합니다(2012년 마지막 막대의 종가).

 //+------------------------------------------------------------------+
//|                                                    simpleBet.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link       "http://www.mql5.com"
#property version   "1.00"
double Close_buf[]; //динамический массив для хранения значений закрытия баров
string my_symbol = "EURUSD" ; //валютная пара
ENUM_TIMEFRAMES my_timeframe = PERIOD_M30 ; //таймфрейм
datetime testTimeStart = D'2012.01.01' ;
datetime testTimeEnd = D'2012.12.31' ;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---    
     CopyClose (my_symbol,my_timeframe,testTimeStart,testTimeEnd,Close_buf); 
     ArraySetAsSeries (Close_buf, true );
     Print (Close_buf[ 0 ]);
  }
//+------------------------------------------------------------------+
 
ryzhak.vladimir :

여전히 일치하지 않으며 1.31964 대신 1.32308을 출력합니다(2012년 마지막 막대의 종가).

당신은 나타냅니다
 datetime testTimeEnd = D'2012.12.31' ;
그리고 지정하면
 datetime testTimeEnd = D'2012.12.31 23:59:59' ;
 
예, 효과가 있었습니다. 감사합니다! 정확한 날짜를 초까지 지정할 때만 가격이 일치하는 이유는 아직 명확하지 않지만
 
ryzhak.vladimir :
예, 효과가 있었습니다. 감사합니다! 정확한 날짜를 초까지 지정할 때만 가격이 일치하는 이유는 아직 명확하지 않지만

아마도 2012.12.31이 기본적으로 2012.12.31 24:00:00이 아니라 2012.12.31 00:00:00이기 때문일 것입니다.

 
CopyBuffer 함수에 대한 문서 인용: " 복사된 데이터의 요소(인덱스 buffer_num이 있는 표시기 버퍼 )는 시작 위치에서 현재부터 과거까지 계산됩니다. 즉, 시작 위치가 0이면 현재 막대( 현재 막대에 대한 표시기 값). " 실제로는 현재 막대가 0번째 요소에 있기 위해서는 ArraySetAsSeries(Close_buf,true)를 사용해야 합니다. 문서에 따르면 기본적으로 마지막 막대가 0번째 요소에 있도록 복사됩니다. 왜 그런 차이가 있습니까?
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 
ryzhak.vladimir : CopyBuffer 기능에 대한 문서 인용: " 복사된 데이터의 요소(인덱스 buffer_num이 있는 표시기 버퍼 )는 시작 위치에서 현재부터 과거까지 계산됩니다. 즉, 시작 위치가 0이면 다음을 의미합니다. 현재 막대(현재 막대의 표시 값) " 하지만 실제로는 현재 막대가 0번째 요소에 있기 위해서는 ArraySetAsSeries(Close_buf,true)를 사용해야 합니다. 문서에 따르면 기본적으로 마지막 막대가 0번째 요소에 있도록 복사됩니다. 왜 그런 차이가 있습니까?
그리고 사진을 자세히 보세요. 'start_pos' 요소는 어디에 복사됩니까?
 
심리적 방향의 문제에 직면했습니다.
트렌드 어드바이저를 썼는데 성공한 것 같습니다. 이제 저는 단순한 Expert Advisor를 작성하고 있습니다. 마치 제가 하나의 알고리즘에만 집착하는 것처럼 이 Expert Advisor가 5번째로 이전 것으로 축소되었습니다. 모든 것이 "새롭게" 시작되지만 알고리즘을 구조화한 후 가능한 모든 방법으로 첫 번째(성공적인) 것에 적응하기 시작하는 Expert Advisor를 작성하기 시작합니다.

누군가 그런 쓰레기를 발견했다면 - 아파트의 보증금을 낮추는 성가신 알고리즘을 "제거"하는 방법을 알려주십시오.
 
Lester : 누군가 그런 쓰레기를 발견했다면 - 아파트 보증금만 낮추는 성가신 알고리즘을 "제거"하는 방법을 알려주십시오.
나는 그런 쓰레기를 본 적이 없지만 일반적인 관심 전환을 위해 다른 사람들의 알고리즘을 연구하십시오.
 
Lester :

심리적 방향의 문제에 직면했습니다.
트렌드 어드바이저를 썼는데 성공한 것 같습니다. 이제 저는 단순한 Expert Advisor를 작성하고 있습니다. 마치 제가 하나의 알고리즘에만 집착하는 것처럼 이 Expert Advisor가 5번째로 이전 것으로 축소되었습니다. 모든 것이 "새롭게" 시작되지만 알고리즘을 구조화한 후 가능한 모든 방법으로 첫 번째(성공적인) 것에 적응하기 시작하는 Expert Advisor를 작성하기 시작합니다.

누군가 그런 쓰레기를 발견했다면 - 아파트의 보증금을 낮추는 성가신 알고리즘을 "제거"하는 방법을 알려주십시오.
당신은 심리적 문제가 없지만 체계적인 성격의 문제가 있습니다. 추세와 평면의 차이에 대한 정확한 징후가 없습니다. 이 순간을 결정하면 성공할 것입니다.
사유: