예스스탁
예스스탁 답변
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");