elzinkhana #: MQL4.5를 사용하여 매년 1월의 첫 번째 거래일 수를 어떻게 알 수 있나요?
/********************Script program start function*******************/voidOnStart()
{
datetime newYear[];
int bars = Bars(_Symbol, PERIOD_D1, D'2020.01.01', TimeCurrent())-1;
CopyTime(_Symbol, PERIOD_D1, bars, 1, newYear);
printf("Первый торговый день %s %s", EnumToString(ENUM_DAY_OF_WEEK((newYear[0]/PeriodSeconds(PERIOD_D1)+4)%7)), TimeToString(newYear[0]));
}/******************************************************************/
결과
2023.05.1413:37:02.118 !!0 (EURUSD,D1) Первый торговый день MONDAY2022.01.0300:002023.05.1413:38:18.547 !!0 (EURUSD,D1) Первый торговый день MONDAY2021.01.0400:002023.05.1413:38:35.906 !!0 (EURUSD,D1) Первый торговый день THURSDAY2020.01.0200:00
거래일이 세 가지 변형 중 하나에서 1월에 시작된다는 것을 알았습니다: 1월 2일, 1월 3일, 1월 4일. 그리고 새해 첫 거래일의 날짜를 결정하는 서브루틴을 MQL4로 작성할 수 있었습니다.
int inp_Year=2016; // 관심 있는 연도의 숫자를 변수에 넣습니다 datetimefirst_day_New_Year=StringToTime(IntegerToString(inp_Year)+".01.02 00:00"); //특정 연도의 거래가 1월 2일에 시작된 경우 1월 2일이 평일인 경우 거래 연도 시작의 정확한 날짜를 기록할 변수 if (TimeDayOfWeek(first_day_New_Year)==0) first_day_New_Year=StringToTime(StringSubstr(TimeToString(first_day_New_Year),0,4)+".01.03 00:00"); //3 1월 2일이 일요일인 경우 특정 연도의 1월 3일 거래 시작 if (TimeDayOfWeek(first_day_New_Year)==6) first_day_New_Year=StringToTime(StringSubstr(TimeToString(first_day_New_Year),0,4)+"".01.04 00:00"); //4 1월 2일이 토요일인 경우 특정 연도의 1월 거래 시작 Comment("첫 번째 거래일 ", inp_Year, " year= ",first_day_New_Year);
이해를 도와주세요. 객체 이동(0, "LineAB", 사전 시간, 사전 가격, 새로운Ax, 새로운Ay); 줄에서 잘못된 매개 변수 수가 표시됩니다. 어디에 오류가 있나요?
https://www.mql5.com/ru/docs/objects/objectmove
MQL4.5를 사용하여 매년 1월의 첫 번째 거래일 수를 어떻게 알 수 있나요?
불가능합니다. 이러한 데이터는 직접 수집할 수만 있습니다.
MQL4.5를 사용하여 매년 1월의 첫 번째 거래일 수를 어떻게 알 수 있나요?
결과
결과
거래일이라고 판단한 이유는 무엇인가요? 호가가 있었기 때문인가요? 호가는 있었지만 거래할 수 없었다면 - 그게 문제라고 생각합니다.
거래일이라고 판단한 이유는 무엇인가요? 호가가 있었다는 것이 중요한가요? 호가는 있었지만 거래할 수 없었다면 그게 문제인 것 같습니다.
MT를 열고 살펴보세요. 왜 보지 않고 그런 질문을 할까요? 바에는 OHLC의 모든 속성이 있습니다. 다른 모든 것은 당신의 상상일 뿐입니다.....
거래일이 세 가지 변형 중 하나에서 1월에 시작된다는 것을 알았습니다: 1월 2일, 1월 3일, 1월 4일.
그리고 새해 첫 거래일의 날짜를 결정하는 서브루틴을 MQL4로 작성할 수 있었습니다.
int inp_Year=2016; // 관심 있는 연도의 숫자를 변수에 넣습니다
datetimefirst_day_New_Year=StringToTime(IntegerToString(inp_Year)+".01.02 00:00"); //특정 연도의 거래가 1월 2일에 시작된 경우 1월 2일이 평일인 경우 거래 연도 시작의 정확한 날짜를 기록할 변수
if (TimeDayOfWeek(first_day_New_Year)==0) first_day_New_Year=StringToTime(StringSubstr(TimeToString(first_day_New_Year),0,4)+".01.03 00:00"); //3 1월 2일이 일요일인 경우 특정 연도의 1월 3일 거래 시작
if (TimeDayOfWeek(first_day_New_Year)==6) first_day_New_Year=StringToTime(StringSubstr(TimeToString(first_day_New_Year),0,4)+"".01.04 00:00"); //4 1월 2일이 토요일인 경우 특정 연도의 1월 거래 시작
Comment("첫 번째 거래일 ", inp_Year, " year= ",first_day_New_Year);