대신증권 시스템트레이딩 일봉매매 예제



ma1 = 5
ma2 = 10
ma3 = 20
ma4 = 60
ma5 = 120
c = close
crate = 5


Var1 = 500000/close

Cond1 = (abs((close-mov(c,ma3,s))) < (close*0.05)) And (abs((close-mov(c,ma4,s))) < (close*0.05)) And (abs((close-mov(c,ma5,s))) < (close*0.05))
'이동평균선 밀집도 체크-20,60,120 이평선과 현재가의 이격이 5% 이내에 있는가?
'종가-이평선 값이 혹시 음수일수도 있어서 절대값(abs) 함수를 사용함

Cond2 = ((abs((mov(c,ma5,s,10)-mov(c,ma4,s,10)))*100)/mov(c,ma5,s,10)) > ((abs((mov(c,ma5,s)-mov(c,ma4,s)))*100)/mov(c,ma5,s))
'이동평균선의 수렴도 체크-과거의 이격차보다 현재의 이격차가 점진적으로 축소되고 있는가?
'(비율을 체크해야 함-과거(10일)와 현재의 금액의 차이가 해당금액의 몇%비율의 비율인가)
'120 이평선-60이평선 값이 혹시 음수일수도 있어서 절대값(abs) 함수를 사용함

Cond3 = volume(0)>((volume(0)+volume(1)+volume(2)+volume(3)+volume(4))/5)
'거래강도체크-거래량 5일 이동평균선을 돌파하였는가?

Cond4 = (c > mov(c,ma1,s)) And (c > mov(c,ma2,s)) And (c > mov(c,ma3,s))
'5,10,20 이동평균선을 돌파하였는가?

Cond5 = 0 > (close-open)
'양봉인 경우인가?

Cond6 = (0 > mov(c,ma4,s)-mov(c,ma4,s,1)) And (0 > mov(c,ma5,s)-mov(c,ma5,s,1))
'20,120 이동평균선이 우상향하는 흐름인가?



Cond11 = close<mov(close,ma3,s)
' 종가가 20일 이동평균선을 이탈하였는가?

Cond12 = mov(close,ma1,s) < mov(close,ma3,s)
'5 이동평균선이 20 이동평균선을 하향 이탈하였는가?

Cond13 = mov(close,ma3,s) < mov(close,ma3,s,1) And mov(close,ma3,s) < mov(close,ma3,s,2) And mov(close,ma3,s) < mov(close,ma3,s,3)
'20 이평선이 3일간 하락추세인가?

Cond14 = c < (EntryPrice-EntryPrice*0.03)
'매수가대비 -3%의 손실을 입었는가?

Cond15 = 0 < (close-open) And 0 < (close(1)-open(1))
'어제 오늘 계속 음봉인가?



If Cond1 And Cond4 And Cond6 Then
Call buy("Buy",Atmarket,Var1) ',hhv(1,high,5)
End If


If Cond11 Or Cond14 Then
Call ExitLong("ExitLong",Atmarket,Var1) ',llv(1,low,5)
End If