두 개의 다른 터미널을 사용하는 테스트 EA에서는 확실히 작동하지 않습니다. 하나는 메타콰이어에서 직접, 다른 하나는 브로커를 통해. 아래를 참조하면 둘 다 코드 1 오류가 표시됩니다:
앱데이터\로밍\메타퀘스트\단말기\커뮤니티\캘린더, 이벤트, 국가 및 설명에 3개의 파일이 표시됩니다.
테스트 EA의 줄에 따르면 calendar.bin 파일은 "Roaming\MetaQuotes\Terminal\<식별자>\MQL5\Files" 폴더에 "Calendar.bin"으로 저장되어야 하지만 거기에 없습니다. 5200 빌드 이전에는 올바르게 배치되었을 것입니다. 무엇이 잘못되었을까요?
#define FAKE // 이 버튼을 클릭하면 비밀번호를 입력합니다. КБ에 대한 자세한 내용을 보려면 여기를 클릭하세요.#ifndef FAKE
// MT4/5-트레이딩 시스템에서 트레이더로 전환하기.#define CALENDAR_FILENAME "Calendar.bin"// Название файла для чтения/записи Календаря.#property tester_file CALENDAR_FILENAME // 이제 MT5-트레이더가 이 모든 것을 지원합니다.#include <fxsaber\Calendar\Calendar.mqh> // Календарь - 웹사이트 및 모바일 앱에 대한 정보입니다.input group "Calendar"inputstring inCurrency = "USD"; // 통화inputstring inFilterName = "payrolls"; // 필터 이름input group "EA"inputint inTP = 1000; // TakeProfitinputint inSL = 1000; // StopLossinputbool inReverse = true; // 거래 방향
CALENDAR Calendar; // 댓글을 작성할 수 있습니다.intOnInit()
{
bool Res = false;
if (MQLInfoInteger(MQL_TESTER)) // Если работаем в Тестере
{
Res = Calendar.Load(CALENDAR_FILENAME) && // Загрузили события из файла.
Calendar.FilterByCurrency(inCurrency) && // 댓글을 작성합니다.
Calendar.FilterByName(inFilterName); // 사용자 정의에 대한 도움말을 제공합니다.if (!Res) // 이 게시물에 댓글을 남깁니다,Print("Run the EA in the MT5-Terminal!"); // 이 페이지에서 MT5-테더링에 대한 자세한 내용을 확인할 수 있습니다.
}
#ifdef __MQL5__// Работаем в Терминале.elseif (Calendar.Set(NULL, CALENDAR_IMPORTANCE_NONE, 0, 0) && // Загрузили абсолютно все события (история + будущее) из MT5-Терминала.
Calendar.AutoDST() && // 카메라로 촬영한 사진.Calendar.Save(CALENDAR_FILENAME))// Сохранили их в файл.MessageBox("You can run the EA in the MT4/5-Tester."); // MT4/5-트레이딩 시스템으로 이동합니다.#endif // #ifdef __MQL5__return(!Res);
}
voidOnTick()
{
staticint Pos = Calendar.GetPosAfter(TimeCurrent()); // 댓글에 댓글을 남기려면 댓글을 작성할 수 있는 권한을 부여합니다.if ((Pos < Calendar.GetAmount()) && // Если вышли за границы Календаря не вышли за границы Календаря
(Calendar[Pos].time < TimeCurrent())) // 를 클릭합니다.
{
const EVENT Event = Calendar[Pos]; // 비밀번호를 입력하세요.if ((Event.Actual != LONG_MIN) && (Event.Forecast != LONG_MIN)) // 이 텍스트 및 사진에 대한 자세한 내용은 다음을 참조하세요.
{
Print(Event.ToString()); // Распечатываем полностьюэто событие.if (Event.Actual > Event.Forecast) // 이 텍스트는 이 페이지에 표시됩니다,
PositionOpen(inReverse, "Act.(" + Event.ActualToString() + ")>(" + Event.ForecastToString() + ")For."); // открываем позицию одного направления.else
PositionOpen(!inReverse, "Act.(" + Event.ActualToString() + ")<=(" + Event.ForecastToString() + ")For."); // Иначе - другого направления.
}
Pos = Calendar.GetPosAfter(TimeCurrent(), Pos); // 댓글에 댓글을 남기려면 댓글을 작성할 수 있는 권한을 부여합니다.
}
}
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006#define Bid SymbolInfoDouble(_Symbol, SYMBOL_BID)
#define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)
// 댓글을 작성할 수 있습니다.
TICKET_TYPE PositionOpen( constint Type, conststring comment )
{
return(Type ? OrderSend(_Symbol, OP_SELL, 1, Bid, 0, Bid + inSL * _Point, Bid - inTP * _Point, comment)
: OrderSend(_Symbol, OP_BUY, 1, Ask, 0, Ask - inSL * _Point, Ask + inTP * _Point, comment));
}
#else // #ifndef FAKEintOnInit() { return(INIT_FAILED); }
#endif // #ifndef FAKE #else
두 개의 다른 터미널을 사용하는 테스트 EA에서는 확실히 작동하지 않습니다. 하나는 메타 시세에서 직접, 다른 하나는 브로커를 통해. 아래를 참조하면 둘 다 코드 1 오류가 표시됩니다:
앱데이터\로밍\메타시세\터미널\커뮤니티\캘린더, 이벤트, 국가 및 설명에 3개의 파일이 표시됩니다.
테스트 EA의 줄에 따르면 calendar.bin 파일은 "Roaming\MetaQuotes\Terminal\<식별자>\MQL5\Files" 폴더에 "Calendar.bin"으로 저장되어야 하지만 거기에 없습니다. 5200 빌드 이전에는 올바르게 배치되었을 것입니다. 무엇이 잘못되었을까요?
내 설정이 아닌지 확인하기 위해 내 네트워크 외부에 Windows 가상 머신을 설치했는데 모든 것이 깨끗했습니다. 터미널을 다운로드하고 파일 포함과 캘린더_예제 EA를 설치했습니다. 여전히 같은 문제, 오류 코드 1, calendar.bin이 다운로드되지 않습니다:
----------------- Открываю Метатрейдер, который давно вообще не открывал. Иду в MetaEditor - там не подключено к Git - ----------------- Проверил логин во вкладке Сообщество. То есть - пока я глядел на вкладку Сообщество в MetaEditor е - этот MetaEditor сам все сделал
Denis Kislicyn CalendarValueHistory의 시간 초과가 줄어든 것 같습니다.
다른 터미널과 다른 서버에서 확인했지만 터미널은 모든 곳에서 b5327입니다. 기간을 줄여보기도 했습니다. 그래서 1 년 동안 시간 초과도 있습니다. 그러나 며칠 동안은 정상적으로 다운로드됩니다.
통화가 짧은 기간으로 분할되는 것을 방지할 수 있는 해결 방법이 있나요?
제가 조사를 좀 해봤습니다. 한 달보다 긴 기간을 CalendarValueHistory에 전달하면 함수가 약 50초 동안 중단되기 시작한 후 시간 초과로 인해 충돌이 발생합니다. 그러나 동일한 호출을 하루만 짧게 하면 70밀리초 이내에 실행되고 약 5,000개의 캘린더 이벤트를 완벽하게 저장합니다. 뭔가 확실히 달라졌습니다.
중재자가 자동 번역을 적용했습니다. 러시아어로 글을 작성하시려면 영어 포럼이 아닌 러시아어 포럼에서 작성해 주세요. 이 주제는 다국어 주제이므로 올바른 포럼에 게시하세요. 그렇지 않으면 자동 번역이 제대로 작동하지 않습니다.
안녕하세요. 캘린더를 특정 시간으로 옮길 수 있나요?
트레이딩, 자동매매 시스템, 트레이딩 전략 테스트에 관한 포럼입니다.
라이브러리: 캘린더
2023.04.13 11:46 오전.
이것은 한 줄로 해결됩니다.
Calendar += 3600.모든 기능이 기억나지 않습니다. ALT+M이 도움이 됩니다.
모든 기능이 기억나지 않습니다. ALT+M이 도움이 됩니다.
이것은 합리적입니다. 안타깝게도 아직 그렇게 할 준비가 되지 않았습니다.
안녕하세요 - 방금 캘린더 EA 예제를 사용했는데 캘린더 데이터가 로드되지 않는 것 같습니다. 버전 5.0 5200 빌드 이전에는 정상적으로 작동했습니다. 무엇이 잘못되었는지 또는 수정 사항이 있나요? 고마워요
확인 - 작동 중입니다.
이 파일은 모든 단말기에 대해 단일 캘린더를 저장합니다.
확인 - 작동 중입니다.
이 파일은 모든 단말기에 대해 단일 캘린더를 저장합니다.
두 개의 다른 터미널을 사용하는 테스트 EA에서는 확실히 작동하지 않습니다. 하나는 메타콰이어에서 직접, 다른 하나는 브로커를 통해. 아래를 참조하면 둘 다 코드 1 오류가 표시됩니다:

앱데이터\로밍\메타퀘스트\단말기\커뮤니티\캘린더, 이벤트, 국가 및 설명에 3개의 파일이 표시됩니다.
테스트 EA의 줄에 따르면 calendar.bin 파일은 "Roaming\MetaQuotes\Terminal\<식별자>\MQL5\Files" 폴더에 "Calendar.bin"으로 저장되어야 하지만 거기에 없습니다. 5200 빌드 이전에는 올바르게 배치되었을 것입니다. 무엇이 잘못되었을까요?
두 개의 다른 터미널을 사용하는 테스트 EA에서는 확실히 작동하지 않습니다. 하나는 메타 시세에서 직접, 다른 하나는 브로커를 통해. 아래를 참조하면 둘 다 코드 1 오류가 표시됩니다:
앱데이터\로밍\메타시세\터미널\커뮤니티\캘린더, 이벤트, 국가 및 설명에 3개의 파일이 표시됩니다.
테스트 EA의 줄에 따르면 calendar.bin 파일은 "Roaming\MetaQuotes\Terminal\<식별자>\MQL5\Files" 폴더에 "Calendar.bin"으로 저장되어야 하지만 거기에 없습니다. 5200 빌드 이전에는 올바르게 배치되었을 것입니다. 무엇이 잘못되었을까요?
내 설정이 아닌지 확인하기 위해 내 네트워크 외부에 Windows 가상 머신을 설치했는데 모든 것이 깨끗했습니다. 터미널을 다운로드하고 파일 포함과 캘린더_예제 EA를 설치했습니다. 여전히 같은 문제, 오류 코드 1, calendar.bin이 다운로드되지 않습니다:

무엇이 문제일까요?
MQL5의 변경 사항이 수정되기 전까지는 살펴볼 필요가 없을 것 같습니다. 아래 빌드를 사용해 보세요.
최근에 테스터에서 작업하기 위해 전체 캘린더를 파일로 저장하면 약 50초 후에 시간이 초과되기 시작하는 것을 발견했습니다.
이전에는 모든 것이 정상적으로 작동했고 전체 캘린더가 아무런 문제 없이 파일로 다운로드되었습니다. 터미널 릴리스 중 하나에서 CalendarValueHistory의 시간 초과가 줄어든 것 같습니다.
다른 터미널과 다른 서버에서 확인했지만 터미널은 모든 곳에서 b5327입니다. 기간을 줄여보기도 했습니다. 그래서 1 년 동안 시간 초과도 있습니다. 하지만 며칠 동안은 정상적으로 다운로드됩니다.
통화가 짧은 기간으로 분할되는 것을 방지할 수 있는 해결 방법이 있나요?
다른 터미널과 다른 서버에서 확인했지만 터미널은 모든 곳에서 b5327입니다. 기간을 줄여보기도 했습니다. 그래서 1 년 동안 시간 초과도 있습니다. 그러나 며칠 동안은 정상적으로 다운로드됩니다.
통화가 짧은 기간으로 분할되는 것을 방지할 수 있는 해결 방법이 있나요?
제가 조사를 좀 해봤습니다. 한 달보다 긴 기간을 CalendarValueHistory에 전달하면 함수가 약 50초 동안 중단되기 시작한 후 시간 초과로 인해 충돌이 발생합니다. 그러나 동일한 호출을 하루만 짧게 하면 70밀리초 이내에 실행되고 약 5,000개의 캘린더 이벤트를 완벽하게 저장합니다. 뭔가 확실히 달라졌습니다.