커뮤니티

수식 문의

프로필 이미지
흑수돌
2013-06-05 13:50:17
289
글번호 63990
답변완료
please check attaschment. always thank you.
지표
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2013-06-05 13:49:05

안녕하세요 예스스탁입니다. input : N(3); Var:chng_rt(0),j(0),ma_val(0),std_val(0),dn_rng(0),up_rng(0),rawVBE_up(0),rawVBE_dn(0); Array:len[6](0),VBE_up[6](0),VBE_dn[6](0),up_chg[6](0),dn_chg[6](0),up_cor[6](0),dn_cor[6](0), fcstVBE_up[6](0),fcstVBE_dn[6](0); len[0] = 21; len[1] = 17; len[2] = 13; len[3] = 9; len[4] = 5; len[5] = 2; chng_rt = (C/C[1]-1); //가격 변동률 ma_val = ma(chng_rt,len[0]); //가격변동률의 평균 std_val = Std(chng_rt,len[0]); //가격변동률의 표준편차 dn_rng = ma_val - (std_val * 2); up_rng = ma_val + (std_val * 2); rawVBE_up = C * (1 + up_rng); //원시VBE rawVBE_dn = C * (1 + dn_rng); for j = 0 to 5 { VBE_up[j] = wma(rawVBE_up,len[j]); //원시VBE를 가중이평으로 평활화 VBE_dn[j] = wma(rawVBE_dn,len[j]); if VBE_up[j][1] > 0 then up_chg[j] = (VBE_up[j]-VBE_up[j][1])/VBE_up[j][1]; //VBE의 변동률 if VBE_dn[j][1] > 0 then dn_chg[j] = (VBE_dn[j]-VBE_dn[j][1])/VBE_dn[j][1]; } fcstVBE_up[0] = VBE_up[0]; fcstVBE_dn[0] = VBE_dn[0]; for j = 1 to 5 { up_cor[j] = Correlation(up_chg[0], up_chg[j],63); //21일 VBE변동률과 17,13,9,5,2 변동률간의 상관도 dn_cor[j] = Correlation(dn_chg[0], dn_chg[j],63); fcstVBE_up[j] = fcstVBE_up[j-1] * (1+(up_chg[j]*up_cor[j])); //이전값에 상관도와 변동률을 곱해서 계산 fcstVBE_dn[j] = fcstVBE_dn[j-1] * (1+(dn_chg[j]*dn_cor[j])); } var1 = fcstVBE_up[5];#상0 var2 = fcstVBE_dn[5];#하0 #1 if var1 < var1[1] and H > var1 Then sell(); #2 if var1 < var1[1] and var1[1] > var1[2] and countif(var1 > var1[1] and H > var1,N) >= 1 Then sell(); #3 if var2 > var2[1] and var2 > L Then buy(); #4 if var2 > var2[1] and var2[1] < var2[2] and countif(var2 < var2[1] and var2 > L,N) >= 1 Then buy(); 즐거운 하루되세요 > 흑수돌 님이 쓴 글입니다. > 제목 : 수식 문의 > please check attaschment. always thank you.
프로필 이미지

흑수돌

2013-06-05 14:16:22

매수조건이 완성되어 매수신호가 발생되었는데도 이전에 완성된 매도조건에 의해 매도신호가 다시 발생되고 있습니다. 매도(수) 신호가 발생되면 이전에 발생된 매수(도)조건에 의해 반대 신호가 발생되지 않도록 부탁드립니다. 감사합니다. ============================ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 문의 > 안녕하세요 예스스탁입니다. input : N(3); Var:chng_rt(0),j(0),ma_val(0),std_val(0),dn_rng(0),up_rng(0),rawVBE_up(0),rawVBE_dn(0); Array:len[6](0),VBE_up[6](0),VBE_dn[6](0),up_chg[6](0),dn_chg[6](0),up_cor[6](0),dn_cor[6](0), fcstVBE_up[6](0),fcstVBE_dn[6](0); len[0] = 21; len[1] = 17; len[2] = 13; len[3] = 9; len[4] = 5; len[5] = 2; chng_rt = (C/C[1]-1); //가격 변동률 ma_val = ma(chng_rt,len[0]); //가격변동률의 평균 std_val = Std(chng_rt,len[0]); //가격변동률의 표준편차 dn_rng = ma_val - (std_val * 2); up_rng = ma_val + (std_val * 2); rawVBE_up = C * (1 + up_rng); //원시VBE rawVBE_dn = C * (1 + dn_rng); for j = 0 to 5 { VBE_up[j] = wma(rawVBE_up,len[j]); //원시VBE를 가중이평으로 평활화 VBE_dn[j] = wma(rawVBE_dn,len[j]); if VBE_up[j][1] > 0 then up_chg[j] = (VBE_up[j]-VBE_up[j][1])/VBE_up[j][1]; //VBE의 변동률 if VBE_dn[j][1] > 0 then dn_chg[j] = (VBE_dn[j]-VBE_dn[j][1])/VBE_dn[j][1]; } fcstVBE_up[0] = VBE_up[0]; fcstVBE_dn[0] = VBE_dn[0]; for j = 1 to 5 { up_cor[j] = Correlation(up_chg[0], up_chg[j],63); //21일 VBE변동률과 17,13,9,5,2 변동률간의 상관도 dn_cor[j] = Correlation(dn_chg[0], dn_chg[j],63); fcstVBE_up[j] = fcstVBE_up[j-1] * (1+(up_chg[j]*up_cor[j])); //이전값에 상관도와 변동률을 곱해서 계산 fcstVBE_dn[j] = fcstVBE_dn[j-1] * (1+(dn_chg[j]*dn_cor[j])); } var1 = fcstVBE_up[5];#상0 var2 = fcstVBE_dn[5];#하0 #1 if var1 < var1[1] and H > var1 Then sell(); #2 if var1 < var1[1] and var1[1] > var1[2] and countif(var1 > var1[1] and H > var1,N) >= 1 Then sell(); #3 if var2 > var2[1] and var2 > L Then buy(); #4 if var2 > var2[1] and var2[1] < var2[2] and countif(var2 < var2[1] and var2 > L,N) >= 1 Then buy(); 즐거운 하루되세요 > 흑수돌 님이 쓴 글입니다. > 제목 : 수식 문의 > please check attaschment. always thank you.
프로필 이미지

예스스탁 예스스탁 답변

2013-06-10 10:04:59

안녕하세요 예스스탁입니다. 작성한 식 중 #1과 #3은 현재봉에서 모두 만족하는 내용이므로 이전 만족여부와 관계가 없고 #2 #4는 현재봉에서 조건3이 만족하고 단지 이전 N봉안에 조건1과 조건2가 만족해 있으면 신호가 발생합니다. 무포지션 일때는 청산 후 N봉 이후, 포지션 진입행중일때는 진입 후 N봉 이후에 조건만족하면 신호발생하게 처리했습니다. input : N(3); Var:chng_rt(0),j(0),ma_val(0),std_val(0),dn_rng(0),up_rng(0),rawVBE_up(0),rawVBE_dn(0); Array:len[6](0),VBE_up[6](0),VBE_dn[6](0),up_chg[6](0),dn_chg[6](0),up_cor[6](0),dn_cor[6](0), fcstVBE_up[6](0),fcstVBE_dn[6](0); len[0] = 21; len[1] = 17; len[2] = 13; len[3] = 9; len[4] = 5; len[5] = 2; chng_rt = (C/C[1]-1); //가격 변동률 ma_val = ma(chng_rt,len[0]); //가격변동률의 평균 std_val = Std(chng_rt,len[0]); //가격변동률의 표준편차 dn_rng = ma_val - (std_val * 2); up_rng = ma_val + (std_val * 2); rawVBE_up = C * (1 + up_rng); //원시VBE rawVBE_dn = C * (1 + dn_rng); for j = 0 to 5 { VBE_up[j] = wma(rawVBE_up,len[j]); //원시VBE를 가중이평으로 평활화 VBE_dn[j] = wma(rawVBE_dn,len[j]); if VBE_up[j][1] > 0 then up_chg[j] = (VBE_up[j]-VBE_up[j][1])/VBE_up[j][1]; //VBE의 변동률 if VBE_dn[j][1] > 0 then dn_chg[j] = (VBE_dn[j]-VBE_dn[j][1])/VBE_dn[j][1]; } fcstVBE_up[0] = VBE_up[0]; fcstVBE_dn[0] = VBE_dn[0]; for j = 1 to 5 { up_cor[j] = Correlation(up_chg[0], up_chg[j],63); //21일 VBE변동률과 17,13,9,5,2 변동률간의 상관도 dn_cor[j] = Correlation(dn_chg[0], dn_chg[j],63); fcstVBE_up[j] = fcstVBE_up[j-1] * (1+(up_chg[j]*up_cor[j])); //이전값에 상관도와 변동률을 곱해서 계산 fcstVBE_dn[j] = fcstVBE_dn[j-1] * (1+(dn_chg[j]*dn_cor[j])); } var1 = fcstVBE_up[5];#상0 var2 = fcstVBE_dn[5];#하0 #1 if var1 < var1[1] and H > var1 Then sell(); #2 if var1 < var1[1] and var1[1] > var1[2] and countif(var1 > var1[1] and H > var1,N) >= 1 Then{ if MarketPosition == 0 and BarsSinceExit(1) >= N Then sell(); if MarketPosition == 1 and BarsSinceEntry >= N Then sell(); } #3 if var2 > var2[1] and var2 > L Then buy(); #4 if var2 > var2[1] and var2[1] < var2[2] and countif(var2 < var2[1] and var2 > L,N) >= 1 Then{ if MarketPosition == 0 and BarsSinceExit(1) >= N Then buy(); if MarketPosition == -1 and BarsSinceEntry >= N Then Buy(); } 즐거운 하루되세요 > 흑수돌 님이 쓴 글입니다. > 제목 : 수식 오류 수정 부탁드립니다. > 매수조건이 완성되어 매수신호가 발생되었는데도 이전에 완성된 매도조건에 의해 매도신호가 다시 발생되고 있습니다. 매도(수) 신호가 발생되면 이전에 발생된 매수(도)조건에 의해 반대 신호가 발생되지 않도록 부탁드립니다. 감사합니다. ============================ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 문의 > 안녕하세요 예스스탁입니다. input : N(3); Var:chng_rt(0),j(0),ma_val(0),std_val(0),dn_rng(0),up_rng(0),rawVBE_up(0),rawVBE_dn(0); Array:len[6](0),VBE_up[6](0),VBE_dn[6](0),up_chg[6](0),dn_chg[6](0),up_cor[6](0),dn_cor[6](0), fcstVBE_up[6](0),fcstVBE_dn[6](0); len[0] = 21; len[1] = 17; len[2] = 13; len[3] = 9; len[4] = 5; len[5] = 2; chng_rt = (C/C[1]-1); //가격 변동률 ma_val = ma(chng_rt,len[0]); //가격변동률의 평균 std_val = Std(chng_rt,len[0]); //가격변동률의 표준편차 dn_rng = ma_val - (std_val * 2); up_rng = ma_val + (std_val * 2); rawVBE_up = C * (1 + up_rng); //원시VBE rawVBE_dn = C * (1 + dn_rng); for j = 0 to 5 { VBE_up[j] = wma(rawVBE_up,len[j]); //원시VBE를 가중이평으로 평활화 VBE_dn[j] = wma(rawVBE_dn,len[j]); if VBE_up[j][1] > 0 then up_chg[j] = (VBE_up[j]-VBE_up[j][1])/VBE_up[j][1]; //VBE의 변동률 if VBE_dn[j][1] > 0 then dn_chg[j] = (VBE_dn[j]-VBE_dn[j][1])/VBE_dn[j][1]; } fcstVBE_up[0] = VBE_up[0]; fcstVBE_dn[0] = VBE_dn[0]; for j = 1 to 5 { up_cor[j] = Correlation(up_chg[0], up_chg[j],63); //21일 VBE변동률과 17,13,9,5,2 변동률간의 상관도 dn_cor[j] = Correlation(dn_chg[0], dn_chg[j],63); fcstVBE_up[j] = fcstVBE_up[j-1] * (1+(up_chg[j]*up_cor[j])); //이전값에 상관도와 변동률을 곱해서 계산 fcstVBE_dn[j] = fcstVBE_dn[j-1] * (1+(dn_chg[j]*dn_cor[j])); } var1 = fcstVBE_up[5];#상0 var2 = fcstVBE_dn[5];#하0 #1 if var1 < var1[1] and H > var1 Then sell(); #2 if var1 < var1[1] and var1[1] > var1[2] and countif(var1 > var1[1] and H > var1,N) >= 1 Then sell(); #3 if var2 > var2[1] and var2 > L Then buy(); #4 if var2 > var2[1] and var2[1] < var2[2] and countif(var2 < var2[1] and var2 > L,N) >= 1 Then buy(); 즐거운 하루되세요 > 흑수돌 님이 쓴 글입니다. > 제목 : 수식 문의 > please check attaschment. always thank you.