커뮤니티

알파계수 돌파 종목검색식 만들기

프로필 이미지
돈크돈어
2013-04-26 13:31:06
352
글번호 62529
답변완료
Input:Length(100); Var:j(0),x1(0),x2(0); Array:∑x1[2](0),∑xx1[2](0),∑x2[2](0),∑xx2[2](0); If LastBarOnChart == 1 Then { Print("알파돌파검색.txt","# 검색기준일 : %.0f-%.0f-%.0f",Int(Date/10000),int(Date/100)-int(Date/10000)*100,Date - int(Date/100)*100); Print("알파돌파검색.txt","Input:inAlpha(0.5),inVol(10000),inPrc(1000);"); Print("알파돌파검색.txt","Var:j(0),value(0),n(%.0f);",Length); Print("알파돌파검색.txt","Array:x1[%.0f](0),x2[%.0f](0),y[2](0),Alpha[2](0),∑x1[2](0),∑xx1[2](0),∑x2[2](0),∑xx2[2](0),∑y[2](0),∑xy[2](0);",Length+1,Length+1); For j = 0 To Length { x1 = (C[j] - C[j+1])*100/C[j+1]; Print("알파돌파검색.txt","x1[%.0f] = %.6f;",j,X1); } Print("알파돌파검색.txt","//====================================="); For j = 0 To Length { x2 = (data2(C[j]) - data2(C[j+1]))*100/data2(C[j+1]); Print("알파돌파검색.txt","x2[%.0f] = %.6f;",j,X2); } Print("알파돌파검색.txt","//====================================="); ∑x1[0] = accumN((C[0] - C[1])*100/C[1],Length); ∑xx1[0] = accumN(((C[0] - C[1])*100/C[1])^2,Length); ∑x1[1] = accumN((C[1] - C[2])*100/C[2],Length); ∑xx1[1] = accumN(((C[1] - C[2])*100/C[2])^2,Length); ∑x2[0] = accumN((data2(C[0]) - data2(C[1]))*100/data2(C[1]),Length); ∑xx2[0] = accumN(((data2(C[0]) - data2(C[1]))*100/data2(C[1]))^2,Length); ∑x2[1] = accumN((data2(C[1]) - data2(C[2]))*100/data2(C[2]),Length); ∑xx2[1] = accumN(((data2(C[1]) - data2(C[2]))*100/data2(C[2]))^2,Length); Print("알파돌파검색.txt","∑x1[0] = %.6f;",∑x1[0]); Print("알파돌파검색.txt","∑x1[1] = %.6f;",∑x1[1]); Print("알파돌파검색.txt","∑xx1[0] = %.6f;",∑xx1[0]); Print("알파돌파검색.txt","∑xx1[1] = %.6f;",∑xx1[1]); Print("알파돌파검색.txt","∑x2[0] = %.6f;",∑x2[0]); Print("알파돌파검색.txt","∑x2[1] = %.6f;",∑x2[1]); Print("알파돌파검색.txt","∑xx2[0] = %.6f;",∑xx2[0]); Print("알파돌파검색.txt","∑xx2[1] = %.6f;",∑xx2[1]); Print("알파돌파검색.txt","∑y[0] = 0;"); Print("알파돌파검색.txt","∑y[1] = 0;"); Print("알파돌파검색.txt","∑xy[0] = 0;"); Print("알파돌파검색.txt","∑xy[1] = 0;"); Print("알파돌파검색.txt","value = 0;"); Print("알파돌파검색.txt","If CodeCategoryEx()==11 || CodeCategoryEx()==12 then {"); Print("알파돌파검색.txt"," ∑y[0] = accumN((C[0] - C[1])*100/C[1],n);"); Print("알파돌파검색.txt"," ∑y[1] = accumN((C[1] - C[2])*100/C[2],n);"); Print("알파돌파검색.txt"," For j = 0 To n - 1 {"); Print("알파돌파검색.txt"," y[0] = (C[j] - C[j+1])*100/C[j+1];"); Print("알파돌파검색.txt"," y[1] = (C[j+1] - C[j+2])*100/C[j+2];"); Print("알파돌파검색.txt"," ∑xy[0] = ∑xy[0] + y[0]*iff(CodeCategoryEx()==12,X2[j],X1[j]);"); Print("알파돌파검색.txt"," ∑xy[1] = ∑xy[1] + y[1]*iff(CodeCategoryEx()==12,X2[j+1],X1[j+1]); }"); Print("알파돌파검색.txt"," If CodeCategoryEx()==11 Then {"); Print("알파돌파검색.txt"," Alpha[0] = ∑y[0]/n - (∑xy[0]/n - ((∑x1[0]/n) * (∑y[0]/n))) / ((∑xx1[0]/n) - ((∑x1[0]/n)^2)) * (∑x1[0]/n);"); Print("알파돌파검색.txt"," Alpha[1] = ∑y[1]/n - (∑xy[1]/n - ((∑x1[1]/n) * (∑y[1]/n))) / ((∑xx1[1]/n) - ((∑x1[1]/n)^2)) * (∑x1[1]/n); }"); Print("알파돌파검색.txt"," Else {"); Print("알파돌파검색.txt"," Alpha[0] = ∑y[0]/n - (∑xy[0]/n - ((∑x2[0]/n) * (∑y[0]/n))) / ((∑xx2[0]/n) - ((∑x2[0]/n)^2)) * (∑x2[0]/n);"); Print("알파돌파검색.txt"," Alpha[1] = ∑y[1]/n - (∑xy[1]/n - ((∑x2[1]/n) * (∑y[1]/n))) / ((∑xx2[1]/n) - ((∑x2[1]/n)^2)) * (∑x2[1]/n); }"); Print("알파돌파검색.txt"," If Alpha[0] >= inAlpha && Alpha[1] < inAlpha && ma(V,60) > inVol &&"); Print("알파돌파검색.txt"," ma(C,60) > inPrc && C < 20 * inPrc Then"); Print("알파돌파검색.txt"," value = AlPha[0];"); Print("알파돌파검색.txt","}"); Print("알파돌파검색.txt","Find(value); 위의 첫번째 수식을 yeslanguage에서 붙여넣기후 검증완료후에 지표식이 나왔는데 지표를 차트에 적용하니 "수식에서 참조할 첫번째 종목데이터가 없습니다" 나오고 차트에 지표가 안 나오네요 어떻게 해야 하나요? 알려주시면 감사하겠습니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-04-29 13:12:32

안녕하세요 예스스탁입니다. 해당식 참조데이터가 필요로 합니다. 내용상으로 주종목이 kospi종목이면 KP종합지수를 코스탁 KQ종합지수를 차트에 추가하신 후에 해당 지표식을 적용하셔야 합니다. 참조데이터는 차트왼쪽 상단의 종목선택 버튼 중 오른쪽으로 누르시면 선택해서 추가하실 수 있습니다. 즐거운 하루되세요 > 돈크돈어 님이 쓴 글입니다. > 제목 : 알파계수 돌파 종목검색식 만들기 > Input:Length(100); Var:j(0),x1(0),x2(0); Array:∑x1[2](0),∑xx1[2](0),∑x2[2](0),∑xx2[2](0); If LastBarOnChart == 1 Then { Print("알파돌파검색.txt","# 검색기준일 : %.0f-%.0f-%.0f",Int(Date/10000),int(Date/100)-int(Date/10000)*100,Date - int(Date/100)*100); Print("알파돌파검색.txt","Input:inAlpha(0.5),inVol(10000),inPrc(1000);"); Print("알파돌파검색.txt","Var:j(0),value(0),n(%.0f);",Length); Print("알파돌파검색.txt","Array:x1[%.0f](0),x2[%.0f](0),y[2](0),Alpha[2](0),∑x1[2](0),∑xx1[2](0),∑x2[2](0),∑xx2[2](0),∑y[2](0),∑xy[2](0);",Length+1,Length+1); For j = 0 To Length { x1 = (C[j] - C[j+1])*100/C[j+1]; Print("알파돌파검색.txt","x1[%.0f] = %.6f;",j,X1); } Print("알파돌파검색.txt","//====================================="); For j = 0 To Length { x2 = (data2(C[j]) - data2(C[j+1]))*100/data2(C[j+1]); Print("알파돌파검색.txt","x2[%.0f] = %.6f;",j,X2); } Print("알파돌파검색.txt","//====================================="); ∑x1[0] = accumN((C[0] - C[1])*100/C[1],Length); ∑xx1[0] = accumN(((C[0] - C[1])*100/C[1])^2,Length); ∑x1[1] = accumN((C[1] - C[2])*100/C[2],Length); ∑xx1[1] = accumN(((C[1] - C[2])*100/C[2])^2,Length); ∑x2[0] = accumN((data2(C[0]) - data2(C[1]))*100/data2(C[1]),Length); ∑xx2[0] = accumN(((data2(C[0]) - data2(C[1]))*100/data2(C[1]))^2,Length); ∑x2[1] = accumN((data2(C[1]) - data2(C[2]))*100/data2(C[2]),Length); ∑xx2[1] = accumN(((data2(C[1]) - data2(C[2]))*100/data2(C[2]))^2,Length); Print("알파돌파검색.txt","∑x1[0] = %.6f;",∑x1[0]); Print("알파돌파검색.txt","∑x1[1] = %.6f;",∑x1[1]); Print("알파돌파검색.txt","∑xx1[0] = %.6f;",∑xx1[0]); Print("알파돌파검색.txt","∑xx1[1] = %.6f;",∑xx1[1]); Print("알파돌파검색.txt","∑x2[0] = %.6f;",∑x2[0]); Print("알파돌파검색.txt","∑x2[1] = %.6f;",∑x2[1]); Print("알파돌파검색.txt","∑xx2[0] = %.6f;",∑xx2[0]); Print("알파돌파검색.txt","∑xx2[1] = %.6f;",∑xx2[1]); Print("알파돌파검색.txt","∑y[0] = 0;"); Print("알파돌파검색.txt","∑y[1] = 0;"); Print("알파돌파검색.txt","∑xy[0] = 0;"); Print("알파돌파검색.txt","∑xy[1] = 0;"); Print("알파돌파검색.txt","value = 0;"); Print("알파돌파검색.txt","If CodeCategoryEx()==11 || CodeCategoryEx()==12 then {"); Print("알파돌파검색.txt"," ∑y[0] = accumN((C[0] - C[1])*100/C[1],n);"); Print("알파돌파검색.txt"," ∑y[1] = accumN((C[1] - C[2])*100/C[2],n);"); Print("알파돌파검색.txt"," For j = 0 To n - 1 {"); Print("알파돌파검색.txt"," y[0] = (C[j] - C[j+1])*100/C[j+1];"); Print("알파돌파검색.txt"," y[1] = (C[j+1] - C[j+2])*100/C[j+2];"); Print("알파돌파검색.txt"," ∑xy[0] = ∑xy[0] + y[0]*iff(CodeCategoryEx()==12,X2[j],X1[j]);"); Print("알파돌파검색.txt"," ∑xy[1] = ∑xy[1] + y[1]*iff(CodeCategoryEx()==12,X2[j+1],X1[j+1]); }"); Print("알파돌파검색.txt"," If CodeCategoryEx()==11 Then {"); Print("알파돌파검색.txt"," Alpha[0] = ∑y[0]/n - (∑xy[0]/n - ((∑x1[0]/n) * (∑y[0]/n))) / ((∑xx1[0]/n) - ((∑x1[0]/n)^2)) * (∑x1[0]/n);"); Print("알파돌파검색.txt"," Alpha[1] = ∑y[1]/n - (∑xy[1]/n - ((∑x1[1]/n) * (∑y[1]/n))) / ((∑xx1[1]/n) - ((∑x1[1]/n)^2)) * (∑x1[1]/n); }"); Print("알파돌파검색.txt"," Else {"); Print("알파돌파검색.txt"," Alpha[0] = ∑y[0]/n - (∑xy[0]/n - ((∑x2[0]/n) * (∑y[0]/n))) / ((∑xx2[0]/n) - ((∑x2[0]/n)^2)) * (∑x2[0]/n);"); Print("알파돌파검색.txt"," Alpha[1] = ∑y[1]/n - (∑xy[1]/n - ((∑x2[1]/n) * (∑y[1]/n))) / ((∑xx2[1]/n) - ((∑x2[1]/n)^2)) * (∑x2[1]/n); }"); Print("알파돌파검색.txt"," If Alpha[0] >= inAlpha && Alpha[1] < inAlpha && ma(V,60) > inVol &&"); Print("알파돌파검색.txt"," ma(C,60) > inPrc && C < 20 * inPrc Then"); Print("알파돌파검색.txt"," value = AlPha[0];"); Print("알파돌파검색.txt","}"); Print("알파돌파검색.txt","Find(value); 위의 첫번째 수식을 yeslanguage에서 붙여넣기후 검증완료후에 지표식이 나왔는데 지표를 차트에 적용하니 "수식에서 참조할 첫번째 종목데이터가 없습니다" 나오고 차트에 지표가 안 나오네요 어떻게 해야 하나요? 알려주시면 감사하겠습니다