커뮤니티

수식 문의

프로필 이미지
부똘이
2020-09-09 17:12:46
949
글번호 142232
답변완료
볼린저밴드를 바탕으로 다음과 같이 주가의 위치를 구분하여 점수를 부여한 뒤, 세븐바이너리지표에 포함시키고 싶습니다. 1. "이전의 어떤 지점에서" 볼린저 밴드 상단을 돌파한 뒤 상단선 보다 가격이 높은 상태 : +2점 2. "이전의 어떤 지점에서" 볼린저 밴드 상단을 이탈한 뒤 중심선 보다는 가격이 높은 상태 : +1점 3. "이전의 어떤 지점에서" 볼린저 중심선을 이탈한 뒤 하단선 보다는 가격이 높은 상태 : -1점 4. "이전의 어떤 지점에서" 볼린저 하단선을 이탈한 뒤 하단선 보다 가격이 낮은 상태 : -2점 5. "이전의 어떤 지점에서" 볼린저 하단선을 돌파한 뒤 중심선 보다 가격이 낮은 상태 : -1점 6. "이전의 어떤 지점에서" 중심선을 돌파한 뒤 중심선 보다 가격이 높은 상태 : +1점 ※위 조건인 즉, 상단을 이탈한 뒤 중심선 위에 있는 주가와 중심선을 돌파한 뒤 중심선 위에 있는 주가의 점수를 다르게 매기고 싶은 것입니다. ------ 바이너리세븐 --------- Input: shortPeriod(12), longPeriod(26), Period(9), maPeriod(20), ROCPeriod(12), stoPeriod1(5), stoPeriod2(3), CCIPeriod(9); var: value(0),BW_SEVEN(0); //문장1 : MACD가 MACD 시그널선 보다 큼 if ema(C,shortPeriod)-ema(C,longPeriod) >= ema(ema(C,shortPeriod)-ema(C,longPeriod),Period) then value = 1; else value = -1; //문장2 : 종가가 이동평균선보다 큼 if C >= ma(C, maPeriod) then value = value + 1; else value = value - 1; //문장3 : Price ROC가 0선보다 큼 if (C - C[ROCPeriod]) / C[ROCPeriod] * 100 >= 0 then value = value + 1; else value = value - 1; //문장4 : StochasticsK선이 50선 보다 큼 if ema((C-lowest(L, stoPeriod1)) / (highest(H, stoPeriod1) - lowest(L, stoPeriod1)) * 100, stoPeriod2)>=50 then value = value + 1; else value = value - 1; //CCI가 0선 보다 큼 if CCI(CCIPeriod) > 0 then value = value + 1; else value = value - 1; //CO가 0선 보다 큼 if ema(accum(((C -L)-(H- C))/ (H-L)*V), 3) - ema(accum(((C -L)-(H- C))/(H-L)*V), 10) >=0 then value = value + 1; else value = value - 1; //문장7 : 종가가 파라볼릭보다 큼 if SAR(0.02,0.2) < C then value = value + 1; else value = value - 1; BW_SEVEN = value; Plot1(BW_SEVEN,"세븐 바이너리웨이브"); PlotBaseLine1(0,"기준선0");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-09-10 13:22:31

안녕하세요 예스스탁입니다. Input : BBP(20), MultiD(2); Input: shortPeriod(12), longPeriod(26), Period(9), maPeriod(20), ROCPeriod(12), stoPeriod1(5), stoPeriod2(3), CCIPeriod(9); var : BBmd(0),BBup(0),BBdn(0),t(0); var: value(0),BW_SEVEN(0); BBmd = ma(C,BBP); BBup = BollBandUp(BBP,MultiD); BBdn = BollBandDown(BBP,MultiD); if CrossUp(c,bbup) Then T = 2; if CrossDown(c,bbup) Then T = 1; if CrossUp(c,bbmd) Then T = 1; if CrossDown(c,bbmd) Then T = -1; if CrossUp(c,bbdn) Then T = -1; if CrossDown(c,bbdn) Then T = -2; value = T; //문장1 : MACD가 MACD 시그널선 보다 큼 if ema(C,shortPeriod)-ema(C,longPeriod) >= ema(ema(C,shortPeriod)-ema(C,longPeriod),Period) then value = value +1; else value = value -1; //문장2 : 종가가 이동평균선보다 큼 if C >= ma(C, maPeriod) then value = value + 1; else value = value - 1; //문장3 : Price ROC가 0선보다 큼 if (C - C[ROCPeriod]) / C[ROCPeriod] * 100 >= 0 then value = value + 1; else value = value - 1; //문장4 : StochasticsK선이 50선 보다 큼 if ema((C-lowest(L, stoPeriod1)) / (highest(H, stoPeriod1) - lowest(L, stoPeriod1)) * 100, stoPeriod2)>=50 then value = value + 1; else value = value - 1; //CCI가 0선 보다 큼 if CCI(CCIPeriod) > 0 then value = value + 1; else value = value - 1; //CO가 0선 보다 큼 if ema(accum(((C -L)-(H- C))/ (H-L)*V), 3) - ema(accum(((C -L)-(H- C))/(H-L)*V), 10) >=0 then value = value + 1; else value = value - 1; //문장7 : 종가가 파라볼릭보다 큼 if SAR(0.02,0.2) < C then value = value + 1; else value = value - 1; BW_SEVEN = value; Plot1(BW_SEVEN,"세븐 바이너리웨이브"); PlotBaseLine1(0,"기준선0"); 즐거운 하루되세요 > 부똘이 님이 쓴 글입니다. > 제목 : 수식 문의 > 볼린저밴드를 바탕으로 다음과 같이 주가의 위치를 구분하여 점수를 부여한 뒤, 세븐바이너리지표에 포함시키고 싶습니다. 1. "이전의 어떤 지점에서" 볼린저 밴드 상단을 돌파한 뒤 상단선 보다 가격이 높은 상태 : +2점 2. "이전의 어떤 지점에서" 볼린저 밴드 상단을 이탈한 뒤 중심선 보다는 가격이 높은 상태 : +1점 3. "이전의 어떤 지점에서" 볼린저 중심선을 이탈한 뒤 하단선 보다는 가격이 높은 상태 : -1점 4. "이전의 어떤 지점에서" 볼린저 하단선을 이탈한 뒤 하단선 보다 가격이 낮은 상태 : -2점 5. "이전의 어떤 지점에서" 볼린저 하단선을 돌파한 뒤 중심선 보다 가격이 낮은 상태 : -1점 6. "이전의 어떤 지점에서" 중심선을 돌파한 뒤 중심선 보다 가격이 높은 상태 : +1점 ※위 조건인 즉, 상단을 이탈한 뒤 중심선 위에 있는 주가와 중심선을 돌파한 뒤 중심선 위에 있는 주가의 점수를 다르게 매기고 싶은 것입니다. ------ 바이너리세븐 --------- Input: shortPeriod(12), longPeriod(26), Period(9), maPeriod(20), ROCPeriod(12), stoPeriod1(5), stoPeriod2(3), CCIPeriod(9); var: value(0),BW_SEVEN(0); //문장1 : MACD가 MACD 시그널선 보다 큼 if ema(C,shortPeriod)-ema(C,longPeriod) >= ema(ema(C,shortPeriod)-ema(C,longPeriod),Period) then value = 1; else value = -1; //문장2 : 종가가 이동평균선보다 큼 if C >= ma(C, maPeriod) then value = value + 1; else value = value - 1; //문장3 : Price ROC가 0선보다 큼 if (C - C[ROCPeriod]) / C[ROCPeriod] * 100 >= 0 then value = value + 1; else value = value - 1; //문장4 : StochasticsK선이 50선 보다 큼 if ema((C-lowest(L, stoPeriod1)) / (highest(H, stoPeriod1) - lowest(L, stoPeriod1)) * 100, stoPeriod2)>=50 then value = value + 1; else value = value - 1; //CCI가 0선 보다 큼 if CCI(CCIPeriod) > 0 then value = value + 1; else value = value - 1; //CO가 0선 보다 큼 if ema(accum(((C -L)-(H- C))/ (H-L)*V), 3) - ema(accum(((C -L)-(H- C))/(H-L)*V), 10) >=0 then value = value + 1; else value = value - 1; //문장7 : 종가가 파라볼릭보다 큼 if SAR(0.02,0.2) < C then value = value + 1; else value = value - 1; BW_SEVEN = value; Plot1(BW_SEVEN,"세븐 바이너리웨이브"); PlotBaseLine1(0,"기준선0");