커뮤니티

행복; 시스템식 작성 바랍니다

프로필 이미지
행복한가방
2020-12-23 00:29:02
662
글번호 144875
답변완료
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다 시스템식 관련입니다 << 질문 >> - 종목; 해외파생(E-mini S&P500) - 주기; 10분봉 - 시점(bdate); 2020년 7월 1일 - bdate 기준 2020년 7월 1일 첫번째 봉(dayindex == 0)에서 3,500원에 10주 매수 - 국내 주식에만 적용되는 아래의 수식을 어떻게 수정해야 하는지요? -------------------< 아래 시작 >------------------------ if NextBarSdate != sdate Then { if NextBarSdate == 20200701 Then Condition1 = true; Else Condition1 = false; } if Condition1 == true then { If NextBarOpen >= 3500 Then buy("b1_atlimt",AtLimit,3500,10); Else buy("b1_atstop",AtStop,3500,10); } -------------------< 아래 끝 >------------------------ 수식 작성 바랍니다 수고하십시요^^
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-12-23 13:40:32

안녕하세요 예스스탁입니다. 국내는 야간장이 없어 NextBarSdate != sdate라는 조건으로 당일시가수신시에 지정한 날짜인지 알 수 있지만 해외선물은 해당 조건으로는 0시 첫봉으로만 파악됩니다. atstop이 if 조건이 만족되면 다음봉에 가격조건만족하면 신호가 나오므로 해외선물은 bdate로 작성되면 아래와 같이 작성되고 첫봉에서 신호를 발생할 수 없습니다. 영업일로 2020년 7월 1일의 두번쨰 봉부터 신호가 발생할 수 있습니다. if Bdate != Bdate[1] Then { if Bdate == 20200701 Then Condition1 = true; Else Condition1 = False; } if Condition1 == true then { If NextBarOpen >= 3500 Then buy("b1_atlimt",AtLimit,3500,10); Else buy("b1_atstop",AtStop,3500,10); } bdate를 사용하지 않으면 아래와 같이 작성하면 직전거래일의 마지막봉완성시(다음영업일시가수신)할떄 부터 셋팅되게 해서 첫봉에서도 가격조건만족하면 신호가 발생하게 할 수 있습니다. var : T(0); if NextBarSdate != sdate Then { if NextBarSdate == 20200701 Then T = 1; Else T = 0; } if T == 1 and TimeToMinutes(NextBarStime) >= TimeToMinutes(time)+60 Then T = 2; if T == 2 Then { If NextBarOpen >= 3500 Then buy("b1_atlimt",AtLimit,3500,10); Else buy("b1_atstop",AtStop,3500,10); } 즐거운 하루되세요 > 행복한가방 님이 쓴 글입니다. > 제목 : 행복; 시스템식 작성 바랍니다 > 한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다 시스템식 관련입니다 << 질문 >> - 종목; 해외파생(E-mini S&P500) - 주기; 10분봉 - 시점(bdate); 2020년 7월 1일 - bdate 기준 2020년 7월 1일 첫번째 봉(dayindex == 0)에서 3,500원에 10주 매수 - 국내 주식에만 적용되는 아래의 수식을 어떻게 수정해야 하는지요? -------------------< 아래 시작 >------------------------ if NextBarSdate != sdate Then { if NextBarSdate == 20200701 Then Condition1 = true; Else Condition1 = false; } if Condition1 == true then { If NextBarOpen >= 3500 Then buy("b1_atlimt",AtLimit,3500,10); Else buy("b1_atstop",AtStop,3500,10); } -------------------< 아래 끝 >------------------------ 수식 작성 바랍니다 수고하십시요^^