커뮤니티

수식 요청 제질문

프로필 이미지
회원
2007-05-17 05:24:11
1051
글번호 12601
답변완료
안녕하세요 질문하신것 맞습니다 추세매매수식 참고하시고 수식 수정부탁 합니다 cj증권 지식이 부족해서 타사꺼로 예)를 드립니다 이해바랍니다 내용은 배열을 사용해서 10개의 스윙고저(swing high/low)를 검색하여 낮아지는 고가를 이용해서 하락 추세선을 ,높아지는 저가를 이용해서 상승추세선을 작성하여, 고가가 하락 추세선을 상향 돌파하면 매수,저가가 상승추세선을 하향 돌파하면 매도 하는전략입니다. 여기에 Rangebreak 돌파 전략을 동시에 진입 전략으로 된겁니다 [내용] Len1=10 s1=0.36 s2=2.7 'array 이용 추세선 구하기 Set hvalue=Arrays(10,2) Set lvalue=Arrays(10,2) If shba(1,high,len1,len1)=len1 Then '스윙고가형성 봉이 이전 len1봉째라면 Var1=999999 'var1 초기화 For i = 9 To 1 Step - 1 hvalue(i,0)=hvalue(i-1,0) 'hvalue(n,0) 값 설정 hvalue(i,1)=hvalue(i-1,1) 'hvalue(n,1) 값 설정 Next hvalue(0,0)=shva(1,high,len1,len1) '스윙고가값 할당 hvalue(0,1)=barnum 'barnum할당 For j = 1 To 9 If hvalue(j,0)>hvalue(0,0) Then 'j값을 증가시키며 hvalue(0,0)과 비교해서 Var1=j 'var1 결정 j=11 End If Next End If If Var1<=10 Then If (hvalue(0,1)-hvalue(Var1,1))* shba(1,high,len1,len1)<>0 Then Var10=(hvalue(0,0)-hvalue(Var1,0))/(hvalue(0,1)-hvalue(Var1,1)) _ * shba(1,high,len1,len1)+hvalue(0,0) '추세선 End If Else Var10=999999 End If If slba(1,low,len1,len1)=len1 Then '스윙저가형성 봉이 이전 len1봉째라면 Var2=999999 For i = 9 To 1 Step - 1 lvalue(i,0)=lvalue(i-1,0) 'lvalue(n,0) 값 설정 lvalue(i,1)=lvalue(i-1,1) 'lvalue(n,1) 값 설정 Next lvalue(0,0)=slva(1,low,len1,len1) '스윙저가값 할당 lvalue(0,1)=barnum 'barnum할당 For j = 1 To 9 If lvalue(j,0)<lvalue(0,0) Then 'j값을 증가시키며 lvalue(0,0)과 비교해서 Var2=j 'var2값 결정 j=11 End If Next End If If Var2<=10 Then 'var2 값이 10이하이면 If (lvalue(0,1)-lvalue(Var2,1))* slba(1,low,len1,len1)<>0 Then Var11=(lvalue(0,0)-lvalue(Var2,0))/(lvalue(0,1)-lvalue(Var2,1)) _ * slba(1,low,len1,len1)+lvalue(0,0) '추세선 End If Else Var11=99999 End If If tdate<>tdate(1) Then Var50=currententrynum End If '하루에 한번 진입 If currententrynum-var50 = 0 Then If ttime<1500 Then If high<var10 And Var1<=10 Then Call buy("매수",Atstop,Def,Var10) '지정가 상향돌파시 매수 End If If low>var11 And Var2<=10 Then Call sell("매도",Atstop,Def,Var11) '지정가 하향돌파시 매도 End If Call sell("매도1",Atstop,Def,opend-(highd(1)-lowd(1))*S1)'지정가 상향돌파시 매수 Call buy("매수1",Atstop,Def,opend+(highd(1)-lowd(1))*S1)'지정가 하향돌파시 매도 End If End If '청산 If position<>0 Then Call exitlong("매수추적",Atstop,hhv(1,high,barnumsinceentry+1)-atr(10)*s2) Call exitshort("매도추적",Atstop,llv(1,low,barnumsinceentry+1)+atr(10)*s2) End If 답변은 yang 12133 @ empal.com 으로 감사합니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2007-05-17 11:29:20

> CJ_yang1130 님이 쓴 글입니다. > 제목 : 수식 요청 제질문 > 안녕하세요 질문하신것 맞습니다 추세매매수식 참고하시고 수식 수정부탁 합니다 cj증권 지식이 부족해서 타사꺼로 예)를 드립니다 이해바랍니다 내용은 배열을 사용해서 10개의 스윙고저(swing high/low)를 검색하여 낮아지는 고가를 이용해서 하락 추세선을 ,높아지는 저가를 이용해서 상승추세선을 작성하여, 고가가 하락 추세선을 상향 돌파하면 매수,저가가 상승추세선을 하향 돌파하면 매도 하는전략입니다. 여기에 Rangebreak 돌파 전략을 동시에 진입 전략으로 된겁니다 [내용] Len1=10 s1=0.36 s2=2.7 'array 이용 추세선 구하기 Set hvalue=Arrays(10,2) Set lvalue=Arrays(10,2) If shba(1,high,len1,len1)=len1 Then '스윙고가형성 봉이 이전 len1봉째라면 Var1=999999 'var1 초기화 For i = 9 To 1 Step - 1 hvalue(i,0)=hvalue(i-1,0) 'hvalue(n,0) 값 설정 hvalue(i,1)=hvalue(i-1,1) 'hvalue(n,1) 값 설정 Next hvalue(0,0)=shva(1,high,len1,len1) '스윙고가값 할당 hvalue(0,1)=barnum 'barnum할당 For j = 1 To 9 If hvalue(j,0)>hvalue(0,0) Then 'j값을 증가시키며 hvalue(0,0)과 비교해서 Var1=j 'var1 결정 j=11 End If Next End If If Var1<=10 Then If (hvalue(0,1)-hvalue(Var1,1))* shba(1,high,len1,len1)<>0 Then Var10=(hvalue(0,0)-hvalue(Var1,0))/(hvalue(0,1)-hvalue(Var1,1)) _ * shba(1,high,len1,len1)+hvalue(0,0) '추세선 End If Else Var10=999999 End If If slba(1,low,len1,len1)=len1 Then '스윙저가형성 봉이 이전 len1봉째라면 Var2=999999 For i = 9 To 1 Step - 1 lvalue(i,0)=lvalue(i-1,0) 'lvalue(n,0) 값 설정 lvalue(i,1)=lvalue(i-1,1) 'lvalue(n,1) 값 설정 Next lvalue(0,0)=slva(1,low,len1,len1) '스윙저가값 할당 lvalue(0,1)=barnum 'barnum할당 For j = 1 To 9 If lvalue(j,0)<lvalue(0,0) Then 'j값을 증가시키며 lvalue(0,0)과 비교해서 Var2=j 'var2값 결정 j=11 End If Next End If If Var2<=10 Then 'var2 값이 10이하이면 If (lvalue(0,1)-lvalue(Var2,1))* slba(1,low,len1,len1)<>0 Then Var11=(lvalue(0,0)-lvalue(Var2,0))/(lvalue(0,1)-lvalue(Var2,1)) _ * slba(1,low,len1,len1)+lvalue(0,0) '추세선 End If Else Var11=99999 End If If tdate<>tdate(1) Then Var50=currententrynum End If '하루에 한번 진입 If currententrynum-var50 = 0 Then If ttime<1500 Then If high<var10 And Var1<=10 Then Call buy("매수",Atstop,Def,Var10) '지정가 상향돌파시 매수 End If If low>var11 And Var2<=10 Then Call sell("매도",Atstop,Def,Var11) '지정가 하향돌파시 매도 End If Call sell("매도1",Atstop,Def,opend-(highd(1)-lowd(1))*S1)'지정가 상향돌파시 매수 Call buy("매수1",Atstop,Def,opend+(highd(1)-lowd(1))*S1)'지정가 하향돌파시 매도 End If End If '청산 If position<>0 Then Call exitlong("매수추적",Atstop,hhv(1,high,barnumsinceentry+1)-atr(10)*s2) Call exitshort("매도추적",Atstop,llv(1,low,barnumsinceentry+1)+atr(10)*s2) End If 답변은 yang 12133 @ empal.com 으로 감사합니다