커뮤니티

아래의 수식을 예스로 변환 부탁합니다.

프로필 이미지
경복궁
2007-07-17 02:26:20
1123
글번호 13081
답변완료
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
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2007-07-18 09:40:12

안녕하세요 예스스탁입니다. input : Len1(10),s1(0.36),s2(2.7); var : ii(0),j(0),var11(0),var50(0); array : Hvalue1[10](0),Hvalue2[10](0),Lvalue1[10](0),Lvalue2[10](0); //array 이용 추세선 구하기 If Swinghighbar(1,high,len1,len1,200) == len1 Then{ //스윙고가형성 봉이 이전 len1봉째라면 Var1=999999; //var1 초기화 For ii = 9 downto 1 { hvalue1[ii] = hvalue1[ii][1]; //hvalue(n,0) 값 설정 hvalue2[ii] = hvalue2[ii][1]; //hvalue(n,1) 값 설정 } hvalue1[0] = Swinghighbar(1,high,len1,len1,200); //스윙고가값 할당 hvalue2[0] = index; // barnum할당 For j = 1 To 9 { If hvalue1[j] > hvalue1[0] Then{ //j값을 증가시키며 hvalue(0,0)과 비교해서 Var1 = j; //var1 결정 j = 11; } } } If Var1 <= 10 Then{ If (hvalue2[0] - hvalue2[Var1])*Swinghighbar(1,high,len1,len1,200) <> 0 Then{ Var10 = (hvalue2[0] - hvalue2[Var1])/(hvalue2[0]-hvalue2[Var1]) *Swinghighbar(1,high,len1,len1,200)+hvalue1[0];//추세선 } Else Var10=999999; } If Swinglowbar(1,low,len1,len1,200) == len1 Then{ //스윙저가형성 봉이 이전 len1봉째라면 Var2=999999; For ii = 9 downTo 1 { lvalue1[ii] = lvalue1[ii][1]; // lvalue(n,0) 값 설정 lvalue2[ii] = lvalue2[ii][1]; // lvalue(n,1) 값 설정 } lvalue1[0] = Swinglowbar(1,low,len1,len1,200); //스윙저가값 할당 lvalue2[0] = index; //barnum할당 For j = 1 To 9 { If lvalue1[j] < lvalue1[0] Then{ //j값을 증가시키며 lvalue(0,0)과 비교해서 Var2 = j; //var2값 결정 j = 11; } } } If Var2 <= 10 Then{ //var2 값이 10이하이면 If (lvalue2[0]-lvalue2[Var2])* Swinglowbar(1,low,len1,len1,200) <> 0 Then Var11 = (lvalue1[0]-lvalue1[Var2])/(lvalue2[0]-lvalue2[Var2]) * Swinglowbar(1,low,len1,len1,200) +lvalue1[0]; //추세선 Else Var11 = 99999; } If date <> date[1] Then{ Var50 = Barssinceentry(); } //하루에 한번 진입 If Barssinceentry()-var50 == 0 Then{ If stime<150000 Then{ If high<var10 And Var1<=10 Then{ buy("매수",Atstop,Def,Var10); //지정가 상향돌파시 매수 } If low>var11 And Var2<=10 Then { sell("매도",Atstop,Def,Var11); //지정가 하향돌파시 매도 } sell("매도1",Atstop,dayopen()-(dayhigh(1)-daylow(1))*S1);//지정가 상향돌파시 매수 buy("매수1",Atstop,dayopen()+(dayhigh(1)-daylow(1))*S1);//지정가 하향돌파시 매도 } } //청산 If marketposition() <> 0 Then{ exitlong("매수추적",Atstop,nthhighest(1,high,Barssinceentry()+1)-atr(10)*s2); exitshort("매도추적",Atstop,nthlowest(1,low,Barssinceentry()+1)+atr(10)*s2); } 즐거운 하루되세요 > 경복궁 님이 쓴 글입니다. > 제목 : 아래의 수식을 예스로 변환 부탁합니다. > 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