커뮤니티

문의드립니다

프로필 이미지
맥스
2011-09-26 15:46:30
596
글번호 43036
답변완료
문의드립니다. 아래의 수식은 일봉에서 월봉 및 주봉의 수식을 불러온 내용입니다. 아래의 내용중 월봉 및 주봉의 볼린저밴드를 0봉전으로 수정코자 합니다. 지표식으로 표기할 때 수식에 문제점이 있는지 의도대로 정확히 표현이 안되네요... 수정부탁합니다. 1. 월봉 및 주봉의 볼린저밴드를 0봉전으로 수정 2. 일봉에서 지표식으로 표기할때 정확이 구현이 안됨 3. 아래내용중 월봉,주봉,일봉의 중간값이 정확한지 확인 부탁드립니다. input : p1(2),mLENGTH1(20),mLENGTH2(60), ## 월봉 LENGTH11(20),LENGTH12(60), ## 주봉 LENGTH21(20),LENGTH22(60), ## 일봉 mPeriod1(20),mPeriod2(60), ## 월봉 Period11(20),Period12(60), ## 주봉 Period21(20),Period22(60); ## 일봉 var : mTCHAN1(0),mTCHAN2(0), ## 월봉 TCHAN11(0),TCHAN12(0), ## 주봉 TCHAN21(0),TCHAN22(0); ## 일봉 Var : mSum1(0), mCounter1(0), mCSum1(0),mWma1(0),mSumSqrt1(0),mStd1(0); ## 월봉 Var : mSum2(0), mCounter2(0), mCSum2(0),mWma2(0),mSumSqrt2(0),mStd2(0); Array : mHH[70](0),mCC[70](0),mLL[70](0); if sdate > sdate[1]+30 Then{ mHH[0] = H; mLL[0] = L; for mcnt = 1 to 61{ mHH[mcnt] = mHH[mcnt-1][1]; mCC[mcnt] = mCC[mcnt-1][1]; mLL[mcnt] = mLL[mcnt-1][1]; } } if H > mHH[0] Then mHH[0] = H; if L < mLL[0] Then mLL[0] = L; mCC[0] = C; mTCHAN1 = mHH[1]; ## 월봉 price channel[1] for mcnt = 1 to mLENGTH1 { if mHH[mcnt] > mTCHAN1 Then mTCHAN1 = mHH[mcnt]; } mSum1 = 0; mCSum1 = 0; For mcounter1 = 1 To mPeriod1{ mSum1 = mSum1 + ((mHH[mcounter1]+mLL[mcounter1]+mCC[mcounter1])/3) * (mPeriod1 - (mcounter1-1)); mCSum1 = mCSum1 + mPeriod1 - (mcounter1-1); } mWMA1 = mSum1/mCSum1; mSumSqrt1 = 0; For mCounter1 = 1 To mPeriod1 { mSumSqrt1 = mSumSqrt1 + (((mHH[mcounter1]+mLL[mcounter1]+mCC[mcounter1])/3) - mWMA1) * (((mHH[mcounter1]+mLL[mcounter1]+mCC[mcounter1])/3) - mWMA1); } mStd1 = SquareRoot(mSumSqrt1 / mPeriod1); var1 = mwma1+(p1*mSTD1); ## 월봉 b.b[1] var2 = (mHH[0]+mLL[0])/2; ## 월봉 중간값 var3 = (HH[0]+LL[0])/2; ## 주봉 중간값 ## 주봉 Var : Sum11(0), Counter11(0), CSum11(0),Wma11(0),SumSqrt11(0),Std11(0); ## 주봉 Var : Sum12(0), Counter12(0), CSum12(0),Wma12(0),SumSqrt12(0),Std12(0); Array : HH[70](0),CC[70](0),LL[70](0); if DayOfWeek(sdate) <= DayOfWeek(sdate[1]) and sdate > sdate[1] Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 61{ HH[cnt] = HH[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; TCHAN11 = HH[1]; ## 주봉 pc for cnt = 1 to LENGTH11 { if HH[cnt] > TCHAN11 Then TCHAN11 = HH[cnt]; } Sum11 = 0; CSum11 = 0; For counter11 = 1 To Period11{ Sum11= Sum11 + ((HH[counter11]+LL[counter11]+CC[counter11])/3) * (Period11 - (counter11-1)); CSum11 = CSum11 + Period11 - (counter11-1); } WMA11 = Sum11/ CSum11; SumSqrt11 = 0; For Counter11 = 1 To Period11 { SumSqrt11 = SumSqrt11 + (((HH[counter11]+LL[counter11]+CC[counter11])/3) - WMA11) * (((HH[counter11]+LL[counter11]+CC[counter11])/3) - WMA11); } Std11 = SquareRoot(SumSqrt11 / Period11); var11 = wma11+(p1*STD11); ## 주봉 b.b[1] var12 = (HH[0]+LL[0])/2; ## 주봉 중간값 var13 = (DayHigh+DayLow)/2; ## 일봉 중간값
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-09-27 11:45:15

안녕하세요 예스스탁입니다. input : p1(2),mLENGTH1(20),mLENGTH2(60), ## 월봉 LENGTH11(20),LENGTH12(60), ## 주봉 LENGTH21(20),LENGTH22(60), ## 일봉 mPeriod1(20),mPeriod2(60), ## 월봉 Period11(20),Period12(60), ## 주봉 Period21(20),Period22(60); ## 일봉 var : mTCHAN1(0),mTCHAN2(0), ## 월봉 TCHAN11(0),TCHAN12(0), ## 주봉 TCHAN21(0),TCHAN22(0); ## 일봉 Var : mSum1(0), mCounter1(0), mCSum1(0),mWma1(0),mSumSqrt1(0),mStd1(0); ## 월봉 Var : mSum2(0), mCounter2(0), mCSum2(0),mWma2(0),mSumSqrt2(0),mStd2(0),mcnt(0); Var : Sum11(0), Counter11(0), CSum11(0),Wma11(0),SumSqrt11(0),Std11(0); ## 주봉 Var : Sum12(0), Counter12(0), CSum12(0),Wma12(0),SumSqrt12(0),Std12(0),cnt(0); Array : mHH[70](0),mCC[70](0),mLL[70](0); Array : HH[70](0),CC[70](0),LL[70](0); if sdate > sdate[1]+30 Then{ mHH[0] = H; mLL[0] = L; for mcnt = 1 to 61{ mHH[mcnt] = mHH[mcnt-1][1]; mCC[mcnt] = mCC[mcnt-1][1]; mLL[mcnt] = mLL[mcnt-1][1]; } } if H > mHH[0] Then mHH[0] = H; if L < mLL[0] Then mLL[0] = L; mCC[0] = C; mTCHAN1 = mHH[0]; ## 월봉 price channel[1] for mcnt = 0 to mLENGTH1-1 { if mHH[mcnt] > mTCHAN1 Then mTCHAN1 = mHH[mcnt]; } mSum1 = 0; mCSum1 = 0; For mcounter1 = 0 To mPeriod1-1{ mSum1 = mSum1 + ((mHH[mcounter1]+mLL[mcounter1]+mCC[mcounter1])/3) * (mPeriod1-mcounter1); mCSum1 = mCSum1 + (mPeriod1-mcounter1); } mWMA1 = mSum1/mCSum1; mSumSqrt1 = 0; For mCounter1 = 0 To mPeriod1-1 { mSumSqrt1 = mSumSqrt1 + (((mHH[mcounter1]+mLL[mcounter1]+mCC[mcounter1])/3) - mWMA1) * (((mHH[mcounter1]+mLL[mcounter1]+mCC[mcounter1])/3) - mWMA1); } mStd1 = SquareRoot(mSumSqrt1 / mPeriod1); var1 = mwma1+(p1*mSTD1); ## 월봉 b.b[1] var2 = (mHH[0]+mLL[0])/2; ## 월봉 중간값 ## 주봉 if DayOfWeek(sdate) <= DayOfWeek(sdate[1]) and sdate > sdate[1] Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 61{ HH[cnt] = HH[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; TCHAN11 = HH[1]; ## 주봉 pc for cnt = 0 to LENGTH11-1 { if HH[cnt] > TCHAN11 Then TCHAN11 = HH[cnt]; } Sum11 = 0; CSum11 = 0; For counter11 = 0 To Period11-1{ Sum11= Sum11 + ((HH[counter11]+LL[counter11]+CC[counter11])/3) * (Period11-counter11); CSum11 = CSum11 + (Period11-counter11); } WMA11 = Sum11/ CSum11; SumSqrt11 = 0; For Counter11 = 0 To Period11-1 { SumSqrt11 = SumSqrt11 + (((HH[counter11]+LL[counter11]+CC[counter11])/3) - WMA11) * (((HH[counter11]+LL[counter11]+CC[counter11])/3) - WMA11); } Std11 = SquareRoot(SumSqrt11 / Period11); var11 = wma11+(p1*STD11); ## 주봉 b.b[1] var12 = (HH[0]+LL[0])/2; ## 주봉 중간값 var13 = (DayHigh+DayLow)/2; ## 일봉 중간값 plot1(var1); plot2(var2); plot3(var11); plot4(var12); plot5(var13); 식을 수정했습니다. 월봉값 주봉값 모두 정확히 나오고 있습니다. 즐거운 하루되세요 > 맥스 님이 쓴 글입니다. > 제목 : 문의드립니다 > 문의드립니다. 아래의 수식은 일봉에서 월봉 및 주봉의 수식을 불러온 내용입니다. 아래의 내용중 월봉 및 주봉의 볼린저밴드를 0봉전으로 수정코자 합니다. 지표식으로 표기할 때 수식에 문제점이 있는지 의도대로 정확히 표현이 안되네요... 수정부탁합니다. 1. 월봉 및 주봉의 볼린저밴드를 0봉전으로 수정 2. 일봉에서 지표식으로 표기할때 정확이 구현이 안됨 3. 아래내용중 월봉,주봉,일봉의 중간값이 정확한지 확인 부탁드립니다. input : p1(2),mLENGTH1(20),mLENGTH2(60), ## 월봉 LENGTH11(20),LENGTH12(60), ## 주봉 LENGTH21(20),LENGTH22(60), ## 일봉 mPeriod1(20),mPeriod2(60), ## 월봉 Period11(20),Period12(60), ## 주봉 Period21(20),Period22(60); ## 일봉 var : mTCHAN1(0),mTCHAN2(0), ## 월봉 TCHAN11(0),TCHAN12(0), ## 주봉 TCHAN21(0),TCHAN22(0); ## 일봉 Var : mSum1(0), mCounter1(0), mCSum1(0),mWma1(0),mSumSqrt1(0),mStd1(0); ## 월봉 Var : mSum2(0), mCounter2(0), mCSum2(0),mWma2(0),mSumSqrt2(0),mStd2(0); Array : mHH[70](0),mCC[70](0),mLL[70](0); if sdate > sdate[1]+30 Then{ mHH[0] = H; mLL[0] = L; for mcnt = 1 to 61{ mHH[mcnt] = mHH[mcnt-1][1]; mCC[mcnt] = mCC[mcnt-1][1]; mLL[mcnt] = mLL[mcnt-1][1]; } } if H > mHH[0] Then mHH[0] = H; if L < mLL[0] Then mLL[0] = L; mCC[0] = C; mTCHAN1 = mHH[1]; ## 월봉 price channel[1] for mcnt = 1 to mLENGTH1 { if mHH[mcnt] > mTCHAN1 Then mTCHAN1 = mHH[mcnt]; } mSum1 = 0; mCSum1 = 0; For mcounter1 = 1 To mPeriod1{ mSum1 = mSum1 + ((mHH[mcounter1]+mLL[mcounter1]+mCC[mcounter1])/3) * (mPeriod1 - (mcounter1-1)); mCSum1 = mCSum1 + mPeriod1 - (mcounter1-1); } mWMA1 = mSum1/mCSum1; mSumSqrt1 = 0; For mCounter1 = 1 To mPeriod1 { mSumSqrt1 = mSumSqrt1 + (((mHH[mcounter1]+mLL[mcounter1]+mCC[mcounter1])/3) - mWMA1) * (((mHH[mcounter1]+mLL[mcounter1]+mCC[mcounter1])/3) - mWMA1); } mStd1 = SquareRoot(mSumSqrt1 / mPeriod1); var1 = mwma1+(p1*mSTD1); ## 월봉 b.b[1] var2 = (mHH[0]+mLL[0])/2; ## 월봉 중간값 var3 = (HH[0]+LL[0])/2; ## 주봉 중간값 ## 주봉 Var : Sum11(0), Counter11(0), CSum11(0),Wma11(0),SumSqrt11(0),Std11(0); ## 주봉 Var : Sum12(0), Counter12(0), CSum12(0),Wma12(0),SumSqrt12(0),Std12(0); Array : HH[70](0),CC[70](0),LL[70](0); if DayOfWeek(sdate) <= DayOfWeek(sdate[1]) and sdate > sdate[1] Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 61{ HH[cnt] = HH[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; TCHAN11 = HH[1]; ## 주봉 pc for cnt = 1 to LENGTH11 { if HH[cnt] > TCHAN11 Then TCHAN11 = HH[cnt]; } Sum11 = 0; CSum11 = 0; For counter11 = 1 To Period11{ Sum11= Sum11 + ((HH[counter11]+LL[counter11]+CC[counter11])/3) * (Period11 - (counter11-1)); CSum11 = CSum11 + Period11 - (counter11-1); } WMA11 = Sum11/ CSum11; SumSqrt11 = 0; For Counter11 = 1 To Period11 { SumSqrt11 = SumSqrt11 + (((HH[counter11]+LL[counter11]+CC[counter11])/3) - WMA11) * (((HH[counter11]+LL[counter11]+CC[counter11])/3) - WMA11); } Std11 = SquareRoot(SumSqrt11 / Period11); var11 = wma11+(p1*STD11); ## 주봉 b.b[1] var12 = (HH[0]+LL[0])/2; ## 주봉 중간값 var13 = (DayHigh+DayLow)/2; ## 일봉 중간값