커뮤니티
수고에 감사드립니다. 170626질문53825에 대한 보충질문입니다.
2017-06-29 15:46:28
133
글번호 110850
수고에 감사드립니다.
170626(538250 답변에 감사드립니다.
주신 자문과 전화상담으로 조건 tcond 추가 기본 수식을 차트에 적용하고 있습니다.
그런데, 처음 첨부 파일처럼 매수 진입 수식코딩이 의도와 많이 다릅니다.
즉 주신 자문의 코딩에서
#매수진입
if BW_SEVEN < -6 and Stok < 27 and crossup(CCIV,-116) Then buy(); 코딩으로 진입하면 첨부파일처럼 일부는 조건에 맞는 매수시점에 진입(0405수 01:30매수 등)되고 있으나
첨부파일1의 04월05일 08:00
(거의 비스한 조건인 0405 0130은 매수신호 표시됨
#0405 0130 bi<-7, stoK<27, cci)
첨부파일2의 04월11일 13:15
첨부파일3의 04월13일 02:15 등 전체 신호중 약 반 정도만 신호가 표시되는 것 같습니다
매수진입 기회임에도 신호가 적용되지 않는 경우가 너무 많은 것 같습니다
제가 잘못알고 있거나, 무엇이 잘못인지 전화나 답변 부탁드립니다
감사합니다.
- 1. buy매기170413_0215.png (0.02 MB)
- 2. 111393_buy매기170405_0800.png (0.06 MB)
- 3. buy매기170411_1715.png (0.03 MB)
답변 1
예스스탁 예스스탁 답변
2017-06-29 16:26:50
안녕하세요
예스스탁입니다.
if BW_SEVEN < -6 and Stok < 22 and crossup(CCIV,-103) and C < BBdn and PriceROC < 0.5 then
buy();
현재 진입이
매수는 바이너리웨이브세븐는 -6 아래, 스토케스틱k는 22 아래,종가는 볼밴하단 아래, PriceROC 0.5 아래인 상태에서
CCI가 -103을 하향이탈(전봉은 -103 위)이 발생해야 매수신호가 발생합니다. 즉 CCI는 크로스 개념입니다.
각 진입의 크로스(상향돌파,하향이탈) 내용을 제외하고
지정한값 보다 크다/작다로 변경해 드립니다.
청산부분은 수정내용이 없습니다.
1번식은 5가지 조건이 전봉까지는 5개 동시만족하지 않다가
현재봉에서 5개 조건이 동시 만족하면 진입하게 작성한 식입니다.
2번식은 전봉상태는 관계없이 5가지 조건이 만족하면 무조건 진입합니다.
그러므로 청산후 계속 5개 조건만족하고 있으면 다시 동일방향으로 진입합니다.
1
#BinaryWaveSeven 외부변수
Input: shortPeriod(12), longPeriod(26), Period(9), maPeriod(20), ROCPeriod(12), stoPeriod1(5),stoPeriod2(3), CCIPeriod(9);
#스토케스틱 외부변수
input : sto1(6),sto2(3),sto3(4);
#CCI 외부변수
input : CCIP(9),CCIsig(10);
#PriceRoc 외부변수
input : PRP(5);
#볼밴 외부변수
input : BBP(20),dv(2);
var: value(0),BW_SEVEN(0);
var : stok(0),stod(0);
var : CCIV(0),CCIS(0);
var : PriceROC(0);
var : BBup(0),BBdn(0),TCond(false),Bcond(false),Scond(false);
#BinaryWaveSeven 계산
if ema(C,shortPeriod)-ema(C,longPeriod) >= ema(ema(C,shortPeriod)-ema(C,longPeriod),Period) then
value = 1;
else
value = -1;
if C >= ma(C, maPeriod) then
value = value + 1;
else
value = value - 1;
if (C - C[ROCPeriod]) / C[ROCPeriod] * 100 >= 0 then
value = value + 1;
else
value = value - 1;
if ema((C-lowest(L, stoPeriod1)) / (highest(H, stoPeriod1) - lowest(L, stoPeriod1)) * 100, stoPeriod2)>=50 then
value = value + 1;
else
value = value - 1;
if CCI(CCIPeriod) > 0 then
value = value + 1;
else
value = value - 1;
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;
if SAR(0.02,0.2) < C then
value = value + 1;
else
value = value - 1;
BW_SEVEN = value;
stok = StochasticsK(sto1,sto2);
stod = StochasticsD(sto1,sto2,sto3);
CCIV = CCI(CCIP);
CCIS = ema(CCIV,CCIsig);
PriceROC = PROC(PRP);
BBup = BollBandUp(BBP,dv);
BBdn = BollBandDown(BBP,dv);
#영업일 변경되면 Tcond는 true
if Bdate != Bdate[1] Then
Tcond = true;
if stime == 055500 or (stime > 055500 and stime[1] < 055500) Then{
Tcond = false;
# 05시55분봉 완성시 매수포지션 있으면 청산
if MarketPosition == 1 Then
ExitLong();
# 05시55분봉 완성시 매도포지션 있으면 청산
if MarketPosition == -1 Then
ExitShort();
}
#매수진입조건(5개)
#바이너리웨이브세븐 -6 아래, 스토k 22 아래, CCI -103 아래, 종가 볼밴하단 아래, PriceROC 0.5 아래
Bcond = BW_SEVEN < -6 and Stok < 22 and CCIV < -103 and C < BBdn and PriceROC < 0.5;
#매도진입조건(5개)
#바이너리웨이브세븐 6 위, 스토k 80 위, CCI 103 위, 종가 볼밴상단 위, PriceROC 0.1 위
Scond = BW_SEVEN > 6 and Stok > 80 and CCIV > 103 and C > BBup and PriceROC > 0.1;
if Tcond == true then{
#매수진입(반대포지션시 발동하면 청산하고 진입)
#5개 조건이 동시만족한 봉에서 진입(전봉에서는 동시만족하지 않았음)
if Bcond == true and Bcond[1] == false then
buy();
#매도진입(반대포지션시 발동하면 청산하고 진입)
#5개 조건이 동시만족한 봉에서 진입(전봉에서는 동시만족하지 않았음)
if Scond == true and Bcond[1] == false Then
sell();
#매수포지션 청산(진입후 3개봉 이후에 CCI가 40을 하향이탈하면 청산)
if MarketPosition == 1 and BarsSinceEntry >= 3 and CrossDown(CCIv,40) Then
exitlong();
#매도포지션 청산(진입후 3개봉 이후에 CCI가 80을 상향돌파하면 청산)
if MarketPosition == -1 and BarsSinceEntry >= 3 and CrossUp(CCIv,80) Then
ExitShort();
}
#매수진입/매도진입 10틱 손절
SetStopLoss(PriceScale*10,PointStop);
2
#BinaryWaveSeven 외부변수
Input: shortPeriod(12), longPeriod(26), Period(9), maPeriod(20), ROCPeriod(12), stoPeriod1(5),stoPeriod2(3), CCIPeriod(9);
#스토케스틱 외부변수
input : sto1(6),sto2(3),sto3(4);
#CCI 외부변수
input : CCIP(9),CCIsig(10);
#PriceRoc 외부변수
input : PRP(5);
#볼밴 외부변수
input : BBP(20),dv(2);
var: value(0),BW_SEVEN(0);
var : stok(0),stod(0);
var : CCIV(0),CCIS(0);
var : PriceROC(0);
var : BBup(0),BBdn(0),TCond(false),Bcond(false),Scond(false);
#BinaryWaveSeven 계산
if ema(C,shortPeriod)-ema(C,longPeriod) >= ema(ema(C,shortPeriod)-ema(C,longPeriod),Period) then
value = 1;
else
value = -1;
if C >= ma(C, maPeriod) then
value = value + 1;
else
value = value - 1;
if (C - C[ROCPeriod]) / C[ROCPeriod] * 100 >= 0 then
value = value + 1;
else
value = value - 1;
if ema((C-lowest(L, stoPeriod1)) / (highest(H, stoPeriod1) - lowest(L, stoPeriod1)) * 100, stoPeriod2)>=50 then
value = value + 1;
else
value = value - 1;
if CCI(CCIPeriod) > 0 then
value = value + 1;
else
value = value - 1;
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;
if SAR(0.02,0.2) < C then
value = value + 1;
else
value = value - 1;
BW_SEVEN = value;
stok = StochasticsK(sto1,sto2);
stod = StochasticsD(sto1,sto2,sto3);
CCIV = CCI(CCIP);
CCIS = ema(CCIV,CCIsig);
PriceROC = PROC(PRP);
BBup = BollBandUp(BBP,dv);
BBdn = BollBandDown(BBP,dv);
#영업일 변경되면 Tcond는 true
if Bdate != Bdate[1] Then
Tcond = true;
if stime == 055500 or (stime > 055500 and stime[1] < 055500) Then{
Tcond = false;
# 05시55분봉 완성시 매수포지션 있으면 청산
if MarketPosition == 1 Then
ExitLong();
# 05시55분봉 완성시 매도포지션 있으면 청산
if MarketPosition == -1 Then
ExitShort();
}
#매수진입조건(5개)
#바이너리웨이브세븐 -6 아래, 스토k 22 아래, CCI -103 아래, 종가 볼밴하단 아래, PriceROC 0.5 아래
Bcond = BW_SEVEN < -6 and Stok < 22 and CCIV < -103 and C < BBdn and PriceROC < 0.5;
#매도진입조건(5개)
#바이너리웨이브세븐 6 위, 스토k 80 위, CCI 103 위, 종가 볼밴상단 위, PriceROC 0.1 위
Scond = BW_SEVEN > 6 and Stok > 80 and CCIV > 103 and C > BBup and PriceROC > 0.1;
if Tcond == true then{
#매수진입(반대포지션시 발동하면 청산하고 진입)
#5개 조건 동시만족하면 무조건 진입
if Bcond == true then
buy();
#매도진입(반대포지션시 발동하면 청산하고 진입)
#5개 조건 동시만족하면 무조건 진입
if Scond == true Then
sell();
#매수포지션 청산(진입후 3개봉 이후에 CCI가 40을 하향이탈하면 청산)
if MarketPosition == 1 and BarsSinceEntry >= 3 and CrossDown(CCIv,40) Then
exitlong();
#매도포지션 청산(진입후 3개봉 이후에 CCI가 80을 상향돌파하면 청산)
if MarketPosition == -1 and BarsSinceEntry >= 3 and CrossUp(CCIv,80) Then
ExitShort();
}
#매수진입/매도진입 10틱 손절
SetStopLoss(PriceScale*10,PointStop);
즐거운 하루되세요
> sorise 님이 쓴 글입니다.
> 제목 : 수고에 감사드립니다. 170626질문53825에 대한 보충질문입니다.
>
수고에 감사드립니다.
170626(538250 답변에 감사드립니다.
주신 자문과 전화상담으로 조건 tcond 추가 기본 수식을 차트에 적용하고 있습니다.
그런데, 처음 첨부 파일처럼 매수 진입 수식코딩이 의도와 많이 다릅니다.
즉 주신 자문의 코딩에서
#매수진입
if BW_SEVEN < -6 and Stok < 27 and crossup(CCIV,-116) Then buy(); 코딩으로 진입하면 첨부파일처럼 일부는 조건에 맞는 매수시점에 진입(0405수 01:30매수 등)되고 있으나
첨부파일1의 04월05일 08:00
(거의 비스한 조건인 0405 0130은 매수신호 표시됨
#0405 0130 bi<-7, stoK<27, cci)
첨부파일2의 04월11일 13:15
첨부파일3의 04월13일 02:15 등 전체 신호중 약 반 정도만 신호가 표시되는 것 같습니다
매수진입 기회임에도 신호가 적용되지 않는 경우가 너무 많은 것 같습니다
제가 잘못알고 있거나, 무엇이 잘못인지 전화나 답변 부탁드립니다
감사합니다.