농담에 대해 - 농담이 아닙니다. 제시된 코드에서 0은 2로 변경됩니다. 실제 서버 시간과 예상 서버 시간의 불일치만큼 정확히. 따라서 나는 이 접근 방식에 놀랐습니다. 어떤 종류의 불일치가 필요한지 살펴보고 0 대신 원하는 오프셋을 넣습니다. 여기서 웃을 일이 없습니다.
농담에 대해 - 농담이 아닙니다. 제시된 코드에서 0은 2로 변경됩니다. 실제 서버 시간과 예상 서버 시간의 불일치만큼 정확히. 따라서 나는 이 접근 방식에 놀랐습니다. 어떤 종류의 불일치가 필요한지 살펴보고 0 대신 원하는 오프셋을 넣습니다. 여기서 웃을 일이 없습니다.
확인 코드
#property strict#define HOUR 3600#define DAY ( 24 * HOUR)
#define WEEK 7datetime GetBarTime( constdatetime time, constbool NextBar = false , string Symb = NULL , constENUM_TIMEFRAMES TimeFrame = PERIOD_M1 )
{
if (Symb == NULL )
Symb = _Symbol ;
return ( iTime (Symb, TimeFrame, iBarShift (Symb, TimeFrame, time) - (NextBar ? 1 : 0 )));
}
datetime GetTimeDayOfWeek( constint Shift = 0 , constENUM_DAY_OF_WEEK Day = SUNDAY )
{
constdatetime Res = TimeCurrent () / DAY * DAY;
return (Res - (((WEEK + (TimeDayOfWeek(Res) - Day)) % WEEK) + Shift * WEEK) * DAY);
}
// https://www.mql5.com/ru/forum/327616/page4#comment_14098877// Аналог по серверному времени - https://www.mql5.com/ru/docs/dateandtime/timegmtoffset// Работает для FOREX-символов, когда M1-история доступна за ближайшую неделюint TimeServerGMTOffset( constbool SummerTime = false )
{
constdatetime Sunday = GetTimeDayOfWeek();
return ((( int ) MathRound (( double ) MathMin (Sunday - DAY - GetBarTime(Sunday), Sunday + DAY - GetBarTime(Sunday, true )) / HOUR) - SummerTime - 2 ) * HOUR);
}
// Аналог по серверному времени - https://www.mql5.com/ru/docs/dateandtime/timegmt// Работает для FOREX-символов, когда M1-история доступна за ближайшую неделюdatetime TimeServerGMT( void )
{
return ( TimeCurrent () + TimeServerGMTOffset());
}
#define PRINT(A) Print ( #A + " = " + ( string )(A))
// https://www.mql5.com/ru/forum/170953/page8#comment_6940794voidOnStart ()
{
PRINT( TimeGMT ());
PRINT(TimeServerGMT());
}
그림을 재현하는 방법?
제 생각에 그림은 모든 것을 매우 웅변적으로 보여줍니다.
그러한 변경을 하면 쟁기질할 것입니다. 나는 여름과 겨울을 정의하지 않았지만 누군가는 그것을 다룰 수 있습니다.
첫째, "빼기 2"가 아니라 "더하기 2"입니다. 그런 다음 내 경우에는 수렴됩니다.
둘째, GMT에서 오프셋이 4시간인 서버의 경우 2 대신 4를 넣는 것이 좋습니다. 그런 다음 기능이 필요하지 않으며 처음에 알려진 번호를 입력하면 정답을 얻습니다. )))
또 무엇이 필요합니까? 말해봐, 내가 할게.
터미널을 통해 데모를 열어 연결할 수 있는 거래 서버의 코드와 이름.
첫째, "빼기 2"가 아니라 "더하기 2"입니다. 그런 다음 내 경우에는 수렴됩니다.
둘째, GMT에서 오프셋이 4시간인 서버의 경우 2 대신 4를 넣는 것이 좋습니다. 그런 다음 기능이 필요하지 않으며 처음에 알려진 번호를 입력하면 정답을 얻습니다. )))
당신은 내가하지 않은 진술을 나에게 돌린 다음 그것이 틀렸다고 말했습니다. 동시에 그들은 그것에 대해 농담을 시도했습니다.
OrderSend() 함수가 "시장이 닫혔습니다" 오류(일부 그러한 오류가 있음)를 발견했을 때 우리는 모든 거래 작업을 중지하고 가격이 변경될 때까지 기다리며, 이는 시장이 열렸음을 의미합니다.
물론 아이디어가 도움이 될 수 있습니다. 불필요한 오류없이 시장을 폐쇄하는 방법에 대해 배우고 싶습니다. 생각해야 합니다.
EURUSD의 마지막(23:59) 분이 아니라 금의 밤을 봐야 합니다. 금은 서버 시간의 통화인 암스테르담에서 엄격하게 거래됩니다. 여기에서 서버의 GMT 오프셋을 찾으십시오.
매일 23시 59분에 끝날 수는 없는 끔찍한 비밀을 공개합니다 :-) 하지만 언제 끝날지 미리 알 수 없을 수도 있습니다. 예를 들어 공휴일과 금요일.
그러한 변경을 하면 쟁기질할 것입니다. 나는 여름과 겨울을 정의하지 않았지만 누군가는 그것을 다룰 수 있습니다.
이 솔루션은 팬케이크가 설치된 시스템을 업데이트하지 않는 시스템에서는 작동하지 않습니다 :-) 예를 들어 러시아 연방에서는 겨울에서 여름으로 전환할 시간이 아직 있습니다. 이런 시스템을 접했는데...
터미널을 통해 데모를 열어 연결할 수 있는 거래 서버의 코드와 이름.
코드: https://www.mql5.com/ru/forum/327616/page3#comment_14093858
로그인: 12752745
투자자: yk2mkat
서버: Alpari 데모
당신은 내가하지 않은 진술을 나에게 돌린 다음 그것이 틀렸다고 말했습니다. 동시에 그들은 그것에 대해 농담을 시도했습니다.
쓰지 않았어?
농담에 대해 - 농담이 아닙니다. 제시된 코드에서 0은 2로 변경됩니다. 실제 서버 시간과 예상 서버 시간의 불일치만큼 정확히. 따라서 나는 이 접근 방식에 놀랐습니다. 어떤 종류의 불일치가 필요한지 살펴보고 0 대신 원하는 오프셋을 넣습니다. 여기서 웃을 일이 없습니다.
코드: https://www.mql5.com/ru/forum/327616/page3#comment_14093858
로그인: 12752745
투자자: yk2mkat
서버: Alpari 데모
쓰지 않았어?
농담에 대해 - 농담이 아닙니다. 제시된 코드에서 0은 2로 변경됩니다. 실제 서버 시간과 예상 서버 시간의 불일치만큼 정확히. 따라서 나는 이 접근 방식에 놀랐습니다. 어떤 종류의 불일치가 필요한지 살펴보고 0 대신 원하는 오프셋을 넣습니다. 여기서 웃을 일이 없습니다.
확인 코드
Alpari와 동일한 GMT를 가진 시스템의 결과입니다.
체크
모든 것이 올바르게 표시됩니다.