커뮤니티

수식 확인 부탁드립니다.

프로필 이미지
탄젠트80
2016-03-07 13:00:57
61
글번호 96044
답변완료
안녕하세요. 한결같은 답변 늘 감사드립니다. 전에 문의했던 질문(게시번호 - 46597)을 응용해서 수식을 만들었는데 맞게 되었는지 확인 부탁드립니다. 구현하고자 하는 사항은 콜, 풋 양합이 일정값 이상으로 증가한 이후 하락할때 매수진입하고 조건에 따라 매수청산하는 시스템입니다. 내용과 수식은 아래와 같습니다. 1)09:01 분에 콜풋의 양합을 구함(S1) 2)12시 이전에 9시 1분의 양합보다 현재의 양합이 5% 초과 상승한 상태에서 양합의 최고값에서 1% 하락하였을때 매수진입하고 매수시점의 양합을 구함(S2) 3)매수시점의 양합보다 현재 양합이 4% 이상 상승시 매수청산(bx1) 매수시점의 양합에서 현재 양합이 7% 이상 하락시 매수청산(bx2) 매수 진입후 양합이 4% 이상 하락후 양합의 최저값에서 1.5% 상승시 매수청산(bx3) 매수포지션인 경우 14:46분에 매수청산(bx4) 답변 미리 감사드립니다. ##수식==================================================== var : sum(0,data1), S1(0,data1), S2(0,data1), HH(0), LL(0); sum = (data2(c)+data3(c)); if MarketPosition == 0 Then { if stime == 090100 and (dayhigh < (dayopen + 3)) and (daylow > (dayopen - 3)) Then { S1 = sum; } if stime <= 120000 and sum > S1*1.05 Then { if sum > HH Then HH = sum; if sum <= HH*0.99 Then buy("b1"); S2 = sum; LL = sum; } } if MarketPosition == 1 Then { if sum < LL Then LL = sum; if MaxEntries == 1 then { if sum >= S2*1.04 Then ExitLong("bx1"); if sum <= S2*0.93 Then ExitLong("bx2"); if sum <= S2*0.96 Then { if sum >= LL*1.015 Then Exitlong("bx3"); } } if stime == 144600 Then Exitlong("bx4"); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-03-07 14:50:28

안녕하세요 예스스탁입니다. 식을 조금 수정했습니다. var : sum(0,data1), S1(0,data1), S2(0,data1), HH(0), LL(0); sum = (data2(c)+data3(c)); if date != date[1] Then{ S1 = sum; HH = sum; } #양합 당일 최고값 if sum > HH Then HH = sum; #무포지션이고 #주종목의 당일최고가는 시초가대비 3포인트 이하이고 최저가는 -3포인트 이상 #12시 이전 #양합당일최고값이 첫봉값대비 5%이상 #현재 양합이 최고값대비 1% 이하이면 매수 if MarketPosition == 0 and and (dayhigh < (dayopen + 3)) and (daylow > (dayopen - 3)) stime <= 120000 and HH > S1*1.05 and sum <= HH*0.99 Then{ buy("b1"); S2 = sum; LL = sum; } if MarketPosition == 1 Then{ #매수진입 이후 양합 최저값 if sum < LL Then LL = sum; #양합이 매수시점양합보다 4% 상승하면 청산 if sum >= S2*1.04 Then ExitLong("bx1"); #양합이 매수시점양합보다 7% 하락하면 청산 if sum <= S2*0.93 Then ExitLong("bx2"); #매수이후 최저양합이 매수시점 양합보다 4%이상 하락후 #현재 양합이 매수이후 최저양합보다 1.5% 상승하면 청산 if LL <= S2*0.96 and sum >= LL*1.015 Then Exitlong("bx3"); } #14시 40분 당일청산 SetStopEndofday(144000); 즐거운 하루되세요 > 탄젠트80 님이 쓴 글입니다. > 제목 : 수식 확인 부탁드립니다. > 안녕하세요. 한결같은 답변 늘 감사드립니다. 전에 문의했던 질문(게시번호 - 46597)을 응용해서 수식을 만들었는데 맞게 되었는지 확인 부탁드립니다. 구현하고자 하는 사항은 콜, 풋 양합이 일정값 이상으로 증가한 이후 하락할때 매수진입하고 조건에 따라 매수청산하는 시스템입니다. 내용과 수식은 아래와 같습니다. 1)09:01 분에 콜풋의 양합을 구함(S1) 2)12시 이전에 9시 1분의 양합보다 현재의 양합이 5% 초과 상승한 상태에서 양합의 최고값에서 1% 하락하였을때 매수진입하고 매수시점의 양합을 구함(S2) 3)매수시점의 양합보다 현재 양합이 4% 이상 상승시 매수청산(bx1) 매수시점의 양합에서 현재 양합이 7% 이상 하락시 매수청산(bx2) 매수 진입후 양합이 4% 이상 하락후 양합의 최저값에서 1.5% 상승시 매수청산(bx3) 매수포지션인 경우 14:46분에 매수청산(bx4) 답변 미리 감사드립니다. ##수식==================================================== var : sum(0,data1), S1(0,data1), S2(0,data1), HH(0), LL(0); sum = (data2(c)+data3(c)); if MarketPosition == 0 Then { if stime == 090100 and (dayhigh < (dayopen + 3)) and (daylow > (dayopen - 3)) Then { S1 = sum; } if stime <= 120000 and sum > S1*1.05 Then { if sum > HH Then HH = sum; if sum <= HH*0.99 Then buy("b1"); S2 = sum; LL = sum; } } if MarketPosition == 1 Then { if sum < LL Then LL = sum; if MaxEntries == 1 then { if sum >= S2*1.04 Then ExitLong("bx1"); if sum <= S2*0.93 Then ExitLong("bx2"); if sum <= S2*0.96 Then { if sum >= LL*1.015 Then Exitlong("bx3"); } } if stime == 144600 Then Exitlong("bx4"); }