커뮤니티

문의드립니다.

프로필 이미지
뉴스타트
2015-01-28 16:32:27
127
글번호 82741
답변완료
안녕하세요. 늘 감사드립니다. 1분봉에 5분봉의 아래 지표값이 plot 되도록 꼭 좀부탁드립니다. Var:chng_rt(0),j(0),ma_val(0),std_val(0),dn_rng(0),up_rng(0),rawVBE_up(0),rawVBE_dn(0),rawVBE_ma(0); Array:len[2](0),VBE_up[2](0),VBE_dn[2](0),VBE_ma[2](0), up_chg[2](0),dn_chg[2](0),ma_chg[2](0),up_cor[2](0),dn_cor[2](0),ma_cor[2](0), fcstVBE_up[2](0),fcstVBE_dn[2](0),fcstVBE_ma[2](0); len[0] = 5; len[1] = 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); rawVBE_ma = C * (1 + ma_val); for j = 0 to 1 { VBE_up[j] = wma(rawVBE_up,len[j]); //원시VBE를 가중이평으로 평활화 VBE_dn[j] = wma(rawVBE_dn,len[j]); VBE_ma[j] = wma(rawVBE_ma,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]; if VBE_ma[j][1] > 0 then ma_chg[j] = (VBE_ma[j]-VBE_ma[j][1])/VBE_ma[j][1]; } fcstVBE_up[0] = VBE_up[0]; fcstVBE_dn[0] = VBE_dn[0]; fcstVBE_ma[0] = VBE_ma[0]; for j = 1 to 1 { 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); ma_cor[j] = Correlation(ma_chg[0], ma_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])); fcstVBE_ma[j] = fcstVBE_ma[j-1] * (1+(ma_chg[j]*ma_cor[j])); } plot1(fcstVBE_up[0],"상-1"); //1봉 뒤로 이동 plot2(fcstVBE_dn[0],"하-1"); //1봉 뒤로 이동 plot3(fcstVBE_ma[0],"중간-1"); //1봉 뒤로 이동 if LastBarOnChart then { //마지막봉에서 아래 1봉만 추가로 출력 plot4(fcstVBE_up[1],"상0"); plot5(fcstVBE_dn[1],"하0"); plot6(fcstVBE_ma[1],"중간0"); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-01-29 09:57:19

안녕하세요 예스스탁입니다. 올려주신식 참조데이터를 이용하셔야 합니다. 주종목 자체에서 계산하기에는 식작성해 보는데 너무 많은 시간이 걸려 작성해 드리기 어렵습니다. 참조데이터(data2)로 5분봉 추가하시고 아래식 적용하시면 됩니다. Var : chng_rt(0,data2),j(0,data2),ma_val(0,data2),std_val(0,data2); var : dn_rng(0,data2),up_rng(0,data2),rawVBE_up(0,data2),rawVBE_dn(0,data2),rawVBE_ma(0,data2); Array:len[2](0,data2),VBE_up[2](0,data2),VBE_dn[2](0,data2),VBE_ma[2](0,data2), up_chg[2](0,data2),dn_chg[2](0,data2),ma_chg[2](0,data2),up_cor[2](0,data2), dn_cor[2](0,data2),ma_cor[2](0,data2),fcstVBE_up[2](0,data2), fcstVBE_dn[2](0,data2),fcstVBE_ma[2](0,data2), Wmav1[2](0,data2),Wmav2[2](0,data2),Wmav3[2](0,data2), cor1[2](0,data2),cor2[2](0,data2),cor3[2](0,data2); len[0] = 5; len[1] = 2; chng_rt = data2((C/C[1]-1)); //가격 변동률 ma_val = data2(ma(chng_rt,len[0])); //가격변동률의 평균 std_val = data2(Std(chng_rt,len[0])); //가격변동률의 표준편차 dn_rng = ma_val - (std_val * 2); up_rng = ma_val + (std_val * 2); rawVBE_up = data2(C * (1 + up_rng)); //원시VBE rawVBE_dn = data2(C * (1 + dn_rng)); rawVBE_ma = data2(C * (1 + ma_val)); Wmav1[0] = data2(wma(rawVBE_up,len[0])); Wmav1[1] = data2(wma(rawVBE_up,len[1])); Wmav2[0] = data2(wma(rawVBE_dn,len[0])); Wmav2[1] = data2(wma(rawVBE_dn,len[1])); Wmav3[0] = data2(wma(rawVBE_ma,len[0])); Wmav3[1] = data2(wma(rawVBE_ma,len[1])); for j = 0 to 1 { VBE_up[j] = wmav1[j]; //원시VBE를 가중이평으로 평활화 VBE_dn[j] = wmav2[j]; VBE_ma[j] = wmav3[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]; if VBE_ma[j][1] > 0 then ma_chg[j] = (VBE_ma[j]-VBE_ma[j][1])/VBE_ma[j][1]; } fcstVBE_up[0] = VBE_up[0]; fcstVBE_dn[0] = VBE_dn[0]; fcstVBE_ma[0] = VBE_ma[0]; cor1[0] = data2(Correlation(up_chg[0], up_chg[0],63)); cor1[1] = data2(Correlation(up_chg[0], up_chg[0],63)); cor2[0] = data2(Correlation(dn_chg[0], dn_chg[0],63)); cor2[1] = data2(Correlation(dn_chg[0], dn_chg[0],63)); cor3[0] = data2(Correlation(ma_chg[0], ma_chg[0],63)); cor3[1] = data2(Correlation(ma_chg[0], ma_chg[0],63)); for j = 1 to 1 { up_cor[j] = Cor1[j]; //21일 VBE변동률과 17,13,9,5,2 변동률간의 상관도 dn_cor[j] = Cor2[j]; ma_cor[j] = Cor3[j]; 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])); fcstVBE_ma[j] = fcstVBE_ma[j-1] * (1+(ma_chg[j]*ma_cor[j])); } plot1(fcstVBE_up[0],"상-1"); //1봉 뒤로 이동 plot2(fcstVBE_dn[0],"하-1"); //1봉 뒤로 이동 plot3(fcstVBE_ma[0],"중간-1"); //1봉 뒤로 이동 if LastBarOnChart then { //마지막봉에서 아래 1봉만 추가로 출력 plot4(fcstVBE_up[1],"상0"); plot5(fcstVBE_dn[1],"하0"); plot6(fcstVBE_ma[1],"중간0"); } 즐거운 하루되세요 > 뉴스타트 님이 쓴 글입니다. > 제목 : 문의드립니다. > 안녕하세요. 늘 감사드립니다. 1분봉에 5분봉의 아래 지표값이 plot 되도록 꼭 좀부탁드립니다. Var:chng_rt(0),j(0),ma_val(0),std_val(0),dn_rng(0),up_rng(0),rawVBE_up(0),rawVBE_dn(0),rawVBE_ma(0); Array:len[2](0),VBE_up[2](0),VBE_dn[2](0),VBE_ma[2](0), up_chg[2](0),dn_chg[2](0),ma_chg[2](0),up_cor[2](0),dn_cor[2](0),ma_cor[2](0), fcstVBE_up[2](0),fcstVBE_dn[2](0),fcstVBE_ma[2](0); len[0] = 5; len[1] = 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); rawVBE_ma = C * (1 + ma_val); for j = 0 to 1 { VBE_up[j] = wma(rawVBE_up,len[j]); //원시VBE를 가중이평으로 평활화 VBE_dn[j] = wma(rawVBE_dn,len[j]); VBE_ma[j] = wma(rawVBE_ma,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]; if VBE_ma[j][1] > 0 then ma_chg[j] = (VBE_ma[j]-VBE_ma[j][1])/VBE_ma[j][1]; } fcstVBE_up[0] = VBE_up[0]; fcstVBE_dn[0] = VBE_dn[0]; fcstVBE_ma[0] = VBE_ma[0]; for j = 1 to 1 { 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); ma_cor[j] = Correlation(ma_chg[0], ma_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])); fcstVBE_ma[j] = fcstVBE_ma[j-1] * (1+(ma_chg[j]*ma_cor[j])); } plot1(fcstVBE_up[0],"상-1"); //1봉 뒤로 이동 plot2(fcstVBE_dn[0],"하-1"); //1봉 뒤로 이동 plot3(fcstVBE_ma[0],"중간-1"); //1봉 뒤로 이동 if LastBarOnChart then { //마지막봉에서 아래 1봉만 추가로 출력 plot4(fcstVBE_up[1],"상0"); plot5(fcstVBE_dn[1],"하0"); plot6(fcstVBE_ma[1],"중간0"); }