커뮤니티

문의드립니다.

프로필 이미지
라떼처럼
2018-11-09 06:37:14
160
글번호 123475
답변완료
1,2,3 문의드립니다. 부탁드립니다. 1. 특정기간을(써머타임기간) (예,8월1일~10월30일) 일력하면 입력 기간동안은 Tcond 조건이 자동으로 시작 시간이 1시간 앞당겨 져서 시작, 종료하고 싶습니다. (시물레이션 할때 써머타임을 고려하여 해당기간 날짜를 입력하여 시작 종료 시간을 조정하고자 합니다.) 2. 특정일을 여러일(30개 이상)로 지정하여 해당 일,시간에 청산하고 싶습니다. 효율적인 방법 제안 부탁드립니다. 3. 수식 부탁드립니다. T = 1 조건 만족, var1이 상승하고 있으면 대기, 하락 후 다시 상승시작하면 매수. var1이 하락 중.., 상승시작하면 매수. T = -1 조건 만족,var1이 하락하고 있으면 대기, 상승 후 다시 하락시작하면 매도. var1이 상승 중.., 하락시작하면 매도. var1 = ma(C,p21) ************ input : 시작시간(080300), 진입종료(065700); //input : 시작시간(070300), 진입종료(055700); #써머타임 input : 한국주말청산1(043000), 한국주말청산2(055700); input : 특정일종료날짜(20181018), 특정일종료시간(055700); input : P1(10), P2(120); var : Tcond(False); var1 = ma(C,P1); var2 = ma(C,P2); ######## if stime == 시작시간 or (stime >시작시간 and stime[1] < 시작시간) Then{ Tcond = true; } if stime == 진입종료 or (stime > 진입종료 and stime[1] < 진입종료) Then{ Tcond = false; } ######## if Tcond == true Then{ crossUp(var1,var2) Then buy("매수"); if crossDown(var1,var2) Then sell("매도"); } #####한국주말청산 if DayOfWeek(bdate) == 5 and ((sdate != sdate[1] and stime >= 한국주말청산1) or (sdate == sdate[1] and stime >= 한국주말청산1 and stime[1] < 한국주말청산1)) Then { if MarketPosition == 1 Then ExitLong("B주말청산1"); if MarketPosition == -1 Then ExitShort("S주말청산1"); } if DayOfWeek(bdate) == 5 and ((sdate != sdate[1] and stime >= 한국주말청산2) or (sdate == sdate[1] and stime >= 043000 and stime[1] < 한국주말청산2)) Then { if MarketPosition == 1 Then ExitLong("B주말청산2"); if MarketPosition == -1 Then ExitShort("S주말청산2"); } #####한국특정일청산 if sdate == 특정일종료날짜 and ((sdate != sdate[1] and stime >= 특정일종료시간) or (sdate == sdate[1] and stime >= 특정일종료시간 and stime[1] < 특정일종료시간)) Then { if MarketPosition == 1 Then exitlong("B특정일종료"); if MarketPosition == -1 Then ExitShort("S특정일종료"); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-11-09 11:42:44

안녕하세요 예스스탁입니다. 1 var : MMDD(0),StartTime(0),EndTime(0),Tcond(false); MMDD = sdate%10000; if MMDD >= 0801 and MMDD <= 1030 then { StartTime = 070000; endtime = 060000; } Else#아닐때 { StartTime = 080000; endtime = 070000; } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime)Then Tcond = true; if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime)Then { Tcond = false; } 2 Array : DD[30](0); #배열변수에 30개 날짜 지정 DD[0] = 20181001; DD[0] = 20181010; DD[0] = 20181019; ~~~ DD[29] = 20181101; #지정한 청산시간이 되면 if (sdate != sdate[1] and stime >= 청산시간) or (sdate != sdate[1] and stime >= 청산시간 and stime[1] < 청산시간) Then { #오늘 날짜가 지정한 30개 날짜에 있으면 true 아니면 false Condition1 = false; for cnt = 0 to 29 { if sdate == dd[cnt] Then Condition1 = true; } if Condition1 == true Then { ExitLong(); ExitShort(); } } 3 var : T(0),S(0); if var1 > var1[1] Then S = 1; if var1 < var1[1] Then S = -1; if T == 1 and S == 1 and S != S[1] Then buy(); if T == -1 and S == -1 and S != S[1] Then sell(); 즐거운 하루되세요 > 라떼처럼 님이 쓴 글입니다. > 제목 : 문의드립니다. > 1,2,3 문의드립니다. 부탁드립니다. 1. 특정기간을(써머타임기간) (예,8월1일~10월30일) 일력하면 입력 기간동안은 Tcond 조건이 자동으로 시작 시간이 1시간 앞당겨 져서 시작, 종료하고 싶습니다. (시물레이션 할때 써머타임을 고려하여 해당기간 날짜를 입력하여 시작 종료 시간을 조정하고자 합니다.) 2. 특정일을 여러일(30개 이상)로 지정하여 해당 일,시간에 청산하고 싶습니다. 효율적인 방법 제안 부탁드립니다. 3. 수식 부탁드립니다. T = 1 조건 만족, var1이 상승하고 있으면 대기, 하락 후 다시 상승시작하면 매수. var1이 하락 중.., 상승시작하면 매수. T = -1 조건 만족,var1이 하락하고 있으면 대기, 상승 후 다시 하락시작하면 매도. var1이 상승 중.., 하락시작하면 매도. var1 = ma(C,p21) ************ input : 시작시간(080300), 진입종료(065700); //input : 시작시간(070300), 진입종료(055700); #써머타임 input : 한국주말청산1(043000), 한국주말청산2(055700); input : 특정일종료날짜(20181018), 특정일종료시간(055700); input : P1(10), P2(120); var : Tcond(False); var1 = ma(C,P1); var2 = ma(C,P2); ######## if stime == 시작시간 or (stime >시작시간 and stime[1] < 시작시간) Then{ Tcond = true; } if stime == 진입종료 or (stime > 진입종료 and stime[1] < 진입종료) Then{ Tcond = false; } ######## if Tcond == true Then{ crossUp(var1,var2) Then buy("매수"); if crossDown(var1,var2) Then sell("매도"); } #####한국주말청산 if DayOfWeek(bdate) == 5 and ((sdate != sdate[1] and stime >= 한국주말청산1) or (sdate == sdate[1] and stime >= 한국주말청산1 and stime[1] < 한국주말청산1)) Then { if MarketPosition == 1 Then ExitLong("B주말청산1"); if MarketPosition == -1 Then ExitShort("S주말청산1"); } if DayOfWeek(bdate) == 5 and ((sdate != sdate[1] and stime >= 한국주말청산2) or (sdate == sdate[1] and stime >= 043000 and stime[1] < 한국주말청산2)) Then { if MarketPosition == 1 Then ExitLong("B주말청산2"); if MarketPosition == -1 Then ExitShort("S주말청산2"); } #####한국특정일청산 if sdate == 특정일종료날짜 and ((sdate != sdate[1] and stime >= 특정일종료시간) or (sdate == sdate[1] and stime >= 특정일종료시간 and stime[1] < 특정일종료시간)) Then { if MarketPosition == 1 Then exitlong("B특정일종료"); if MarketPosition == -1 Then ExitShort("S특정일종료"); }