하지만 대답도 없고 안녕도 없습니다. 새 빌드가 릴리스되었으며 버그가 여전히 있습니다. 솔직히 말하면 역겹다. 당신은 실수를 지적하고 그들을 돕는 것처럼 보이지만 아무도 대답하려고하지 않습니다. 당신은 당신 자신의 라이브러리의 비뚤어진 부분에 대해 그렇게 많이 신경을 쓰고 있습니까?
GetData() 메서드는 기본 부모 클래스에 정의되어 있으며 이 경우 재정의할 필요가 없습니다.
GetData()를 호출하기 전에 Refresh() 메서드를 사용하여 클래스의 표시기 버퍼에 있는 값을 업데이트해야 합니다.
//+------------------------------------------------------------------+//| CheckCiATR.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"#include<Indicators\Oscilators.mqh>
#property script_show_inputs
inputint sleep_debug= 10 ; // пауза в секундах при отладке//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart ()
{
//---
CiATR iatr;
bool res=iatr.Create(_Symbol, 0 , 15 );
if (res)
{
Sleep ( 3000 ); // дадим время на расчет индикатораlong handle=iatr.Handle(); // хендл индикатор а
//--- набросим индикатор на график
iatr.AddToChart( 0 , 1 );
//--- количество баров, на которых индикатор рассчитанint bars=iatr. BarsCalculated ();
//--- количество буферов в индикаторе int buffers=iatr.BuffersTotal();
Print ( "Buffers=" ,buffers);
//--- размер индикаторного буфера int size=iatr.BufferSize(); // для экономии по умолчанию установлено 100Print ( "BufferSize=" ,size);
//--- покажем как увеличить размер индикаторного буфера bool resized=iatr.BufferResize(bars- 1 );
//--- если изменить размер индикаторного буфера не удалось вдругif (!resized)
{
PrintFormat ( "Ошибка при попытке увеличить размер индикаторного буфера!, GetLastError = "
, GetLastError ());
}
//--- ! обязательно обновляем данные в буфере перед обращением к данным индикатора iatr.Refresh();//--- выведем 10 последних значений индикатора и сравних их с DataWindow for ( int i= 10 ;i>= 0 ;i--)
{
// буфер индикаторя является таймсерией - индекс увеличивается вглубь историиPrintFormat ( " ATR(%d) = %f" ,i,iatr.GetData( 0 ,i));
}
}
//--- пауза на тот случай, если скрипт запустили в отладкеif (MQLInfoInteger(MQL_DEBUG))
{
Sleep (sleep_debug* 1000 );
}
}
//+------------------------------------------------------------------+
MT4. 데모 서버 MetaQuotes-Demo. 2012년 8월 30일부터 2012년 9월 10일까지의 홀. 확인합니다.
난 믿지 않아.
특히 디스크에서 전체 기록을 세 번 지우고 세 번 다시 시작하고 세 개의 액세스 포인트를 모두 확인했습니다. 모든 역사가 제자리에 있습니다.
시세 아카이브를 가지고 놀 필요는 없지만 깨끗한 직원 기록을 확인하십시오.
표준 기록을 가지고 놀기 위해 MQ에서 MT4를 특별히 설치했습니다.
홈 버튼을 클릭하면 디스크에서 삭제 후 히스토리가 다운로드되며, 이는 연결 상태에서 볼 수 있습니다. 화면에서와 같이.
이것은 다른 브로커와 스위치 및 재개를 비교하기 위한 것입니다.
ps 홈 이력서 "끝까지"가 자동으로 작동하지 않습니다.
MT4. 데모 서버 MetaQuotes-Demo. 2012년 8월 30일부터 2012년 9월 10일까지 의 홀 확인합니다.
우리는 2014년이 아니라 2012년에 대해 이야기하고 있습니다.
예, 거기에 구멍이 있습니다. 히스토리 센터에서 1분 히스토리를 다운로드하고 기간 재계산에 동의합니다. 구멍이 채워집니다.
브로커 서버를 사용하거나 MT5로 전환하십시오. 모든 시간 프레임에 대한 1분 기록으로 인해 모든 것이 기록과 함께 훨씬 더 좋습니다.
MQL4에 관한 2014.09.30 일자 서비스 데스크 #1073960의 요청에 응답하는 사람이 없는 이유는 무엇입니까?
CiForce 및 CiOBV 클래스의 GetData 메서드를 사용하려고 할 때 표준 라이브러리 파일에 오류가 발생했습니다.
'm_applied' - improper enumerator cannot be used Oscilators.mqh 494 60
'm_applied' - improper enumerator cannot be used Volumes.mqh 241 34
그리고 CiATR 클래스의 또 다른 오류:
'GetData' - function must have a body Oscilators.mqh 25 22
나는 3개월 전에 여기에 같은 오류에 대해 썼습니다: https://www.mql5.com/ru/forum/1111/page1190#comment_993762
하지만 대답도 없고 안녕도 없습니다. 새 빌드가 릴리스되었으며 버그가 여전히 있습니다. 솔직히 말하면 역겹다. 당신은 실수를 지적하고 그들을 돕는 것처럼 보이지만 아무도 대답하려고하지 않습니다. 당신은 당신 자신의 라이브러리의 비뚤어진 부분에 대해 그렇게 많이 신경을 쓰고 있습니까?
게시물이 없습니다. 문제가 없습니까?
어린이 정원.
게시물이 없습니다. 문제가 없습니까?
어린이 정원.
MQL4용 표준 라이브러리 , 특히 표시기 클래스에 오류가 있습니다.
CiATR 클래스에는 GetData 메서드 본문이 없습니다.
GetData() 메서드는 기본 부모 클래스에 정의되어 있으며 이 경우 재정의할 필요가 없습니다.
GetData()를 호출하기 전에 Refresh() 메서드를 사용하여 클래스의 표시기 버퍼에 있는 값을 업데이트해야 합니다.
MQL4 의 표준 라이브러리 , 특히 표시기 클래스에 오류가 있습니다.
ENUM_APPLIED_VOLUME 유형 매개변수( CiForce , CiOBV )를 사용하는 표시기의 경우 오류가 생성됩니다. 부적절한 열거자를 사용할 수 없습니다.
다음은 컴파일하고 작동하는 예입니다.
그리고
아주 드물게 나타나지만 여전히 알아내고 싶습니다. 프로그램의 안정성이 필요합니다.
로그에 메시지가 있습니다. 그 이유는 무엇입니까?
아주 드물게 나타나지만 여전히 알아내고 싶습니다. 프로그램의 안정성이 필요합니다.