답변완료
수식 문의
볼린저밴드를 바탕으로 다음과 같이 주가의 위치를
구분하여 점수를 부여한 뒤, 세븐바이너리지표에
포함시키고 싶습니다.
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");
2020-09-09
948
글번호 142232
지표
답변완료
문의드립니다.
안녕하세요?
아래의 수식으로 당일차트만 나오게해서 사용중입니다.
당일만표시를 체크해제하면, 앞에것이 다 나오는데, 당일차트만 나오게해서 보는것과 결과가 다르다보니, 당일차트가 더좋아서 그렇게 사용중입니다.
지나간날들을 당일차트로만 보고싶은데, 변수에 날짜를 넣어서 성능보고서를 확인할수는 없을까요?
된다면 날짜입력할수있도록 넣어주시면 정말 감사하겠습니다.
부탁드립니다.
input : 익절틱수(50),손절틱수(50),entrycnt(3);
Input : shortPeriod(5), longPeriod(20);
var : entry(0);
if bdate != bdate[1] Then
entry = 0;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) then
entry = entry+1;
value1 = ema(C, shortPeriod);
value2 = ema(C, longPeriod);
If MarketPosition == 0 and entry < entrycnt and CrossUP(value1, value2) Then
{
Buy();
}
If MarketPosition == 0 and entry < entrycnt and CrossDown(value1, value2) Then
{
Sell();
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2020-09-09
929
글번호 142230
시스템
답변완료
청산, 트레일링 스탑, 손절
안녕하세요 관리자님
우선 이전 답변에 대하여 감사 드립니다.
아래에 Buy나 Sell 다음에 아래와 같은 조건으로 시스템을 작성하고 싶은데
어떻게 해야되는지 문의 드립니다.
미리 감사 드립니다.
Buy 청산은 (CrossDown(지수이평[0],기준선2[0]) or CrossDown(지수이평[0],기준선1[0])
Sell 청산은 (Crossup(지수이평[0],기준선2[0]) or Crossup(지수이평[0],기준선1[0])
트레일링 스탑은 100틱
손절은 200틱 (손절 2번 발생시 당일 거래 멈춤)
Input:기준선기간1(20),기준선기간2(60);
var:기준선1(0),기준선2(0);
기준선1 = (Highest(High, 기준선기간1) + Lowest(Low, 기준선기간1)) / 2 ;
기준선2 = (Highest(High, 기준선기간2) + Lowest(Low, 기준선기간2)) / 2 ;
## 지수 이평 ##
Input : 지수이평기간(5);
var : 지수이평(0);
지수이평 = ema(C,지수이평기간);
IF MarketPosition <= 0 OR (MarketPosition == 1 and MaxEntries < 3) Then
{
If (기준선1[0] >= 기준선2[0]) and (Crossup(지수이평[0],기준선2[0]) or Crossup(지수이평[0],기준선1[0])) Then
Buy ();
}
IF MarketPosition >= 0 OR (MarketPosition == -1 and MaxEntries < 3) Then
{
If (기준선1[0] < 기준선2[0]) and (CrossDown(지수이평[0],기준선2[0]) or CrossDown(지수이평[0],기준선1[0]))Then
Sell ();
}
2020-09-09
1079
글번호 142215
시스템