커뮤니티
수식 수정 검토 부탁드립니다.
2018-11-13 15:25:38
171
글번호 123598
<시스템식 의도>
-이용차트:
. 기본적으로 당일 진입, 당일 청산하려고 하여
. 갭보정 차트 분봉 이용을 해서 (전략실행 차트에서 갭보정설정및 당일청산설정 예정)
. 피봇분봉 기본선과 갭보정한 선을 2종류를 모두 설정한 후,
-진입 :
. 피봇 1차,2차 지지선 (피봇기본 지지선과 갭보정분의 지지선 모두)을 찍고 양봉으로 상향 돌파하고 이 봉을 기준봉으로 하여,
이 기준봉의 고점을 2번째 돌파 시 매수진입함.
-청산 :
. 볼린저밴드(20,2)의 상단 터치시 청산
(단 터치시 청산 표현이 불가능하면 볼벤 상단 근접=전봉 상단터치하면 청산)
. 기준봉의 저가를 하향하면 즉시 손절 청산.
. 당일 청산
하는 식을 만들고자 아래 작성을 해 봤습니다만,
잘 안되서 수정 검토 부탁드립니다.
항상 감사 드립니다.
< 작성분 >
input: period(20),nsd(2),
vars: maV(0), bandup(0), banddn(0);
Var :PP(0), R3(0),R2(0), R1(0), S1(0), S2(0), S3(0); // 기본피봇
Var : PivotD(0),R1D(0),R2D(0),S1D(0),S2D(0),R3D(0), S3D(0); // 보정피봇
PP = ( DayHigh(1) + DayClose(1) + DayLow(1) )/3; //피봇선-기본
R3 = DayHigh(1) + 2*(PP - DayLow(1)); //3차저항-기본
R2 = PP+DayHigh(1)-DayLow(1); //2차저항-기본
R1 = 2 * PP - DayLow(1); //1차저항-기본
S1 = 2 * PP - DayHigh(1); //1차지지-기본
S2 = PP-DayHigh(1)+DayLow(1); //2차지지-기본
S3 = DayLow(1) - 2*(DayHigh(1) - PP); //3차지지-기본
PivotD = (highD(1)+LowD(1)+CloseD(1))/3; // 보정
R1D = 2*PivotD-LowD(1);
R2D = PivotD+highD(1)-LowD(1);
R3D = highD(1) + 2*(pivotD - LowD(1)) ;
S1D = 2*PivotD-highD(1);
S2D = PivotD-highD(1)+LowD(1);
S3D = LowD(1) - 2*(highD(1) - pivotD);
maV = ma(close,period);
bandup = BollBandUp(period,nsd);
banddn = BollBandDown(period,nsd);
if crossup (c,S1) or crossup (c,S2) or crossup (c,S3)
or crossup (c,S1D) or crossup (c,S2D) or crossup (c,S3D) and o < c Then
Buy("b", AtStop,h);
if MarketPosition >0
and c < L[barssinceentry+1] Then
ExitLong();
if MarketPosition > 0 and Crossdown(close , bandup) Then
ExitLong();
답변 1
예스스탁 예스스탁 답변
2018-11-13 16:57:42
안녕하세요
예스스탁입니다.
input: period(20),nsd(2);
vars: maV(0), bandup(0), banddn(0),T(0),HH(0),LL(0);
Var :PP(0), R3(0),R2(0), R1(0), S1(0), S2(0), S3(0); // 기본피봇
Var : PivotD(0),R1D(0),R2D(0),S1D(0),S2D(0),R3D(0), S3D(0); // 보정피봇
PP = ( DayHigh(1) + DayClose(1) + DayLow(1) )/3; //피봇선-기본
R3 = DayHigh(1) + 2*(PP - DayLow(1)); //3차저항-기본
R2 = PP+DayHigh(1)-DayLow(1); //2차저항-기본
R1 = 2 * PP - DayLow(1); //1차저항-기본
S1 = 2 * PP - DayHigh(1); //1차지지-기본
S2 = PP-DayHigh(1)+DayLow(1); //2차지지-기본
S3 = DayLow(1) - 2*(DayHigh(1) - PP); //3차지지-기본
PivotD = (highD(1)+LowD(1)+CloseD(1))/3; // 보정
R1D = 2*PivotD-LowD(1);
R2D = PivotD+highD(1)-LowD(1);
R3D = highD(1) + 2*(pivotD - LowD(1)) ;
S1D = 2*PivotD-highD(1);
S2D = PivotD-highD(1)+LowD(1);
S3D = LowD(1) - 2*(highD(1) - pivotD);
maV = ma(close,period);
bandup = BollBandUp(period,nsd);
banddn = BollBandDown(period,nsd);
if bdate != bdate[1] Then
T = 0;
#기본 피봇1차,2차,3차와 보정 피봇1차,2차,3차 중 하나라도 상향돌파하면
#T는 1,
#돌파봉이 양봉이면 T는 2, HH에 고가저장,LL에 저가저장
if crossup (c,S1) or crossup (c,S2) or crossup (c,S3)
or crossup (c,S1D) or crossup (c,S2D) or crossup (c,S3D) Then
{
T = 1;
if c > O Then
{
T = 2;
HH = H;
LL = L;
}
}
#기본 피봇1차,2차
#보정 피봇1차,2차 중 하나라도 하향이탈하면 -1
if CrossDown(c,S1) or CrossDown(c,S2) or CrossDown(c,S3)
or CrossDown(c,S1D) or CrossDown(c,S2D) or CrossDown(c,S3D) Then
{
T = -1;
}
#T는 현재 2인상태이고 hh보다 높은 시세 발생하면 매수
if MarketPosition == 0 and T == 2 Then
Buy("b", AtStop,hh);
if MarketPosition == 1 Then
{
ExitLong("bx1",Atlimit,bandup);
ExitLong("bx2",AtStop,LL[BarsSinceEntry]);
}
SetStopEndofday(152000);
즐거운 하루되세요
> theogo66 님이 쓴 글입니다.
> 제목 : 수식 수정 검토 부탁드립니다.
> <시스템식 의도>
-이용차트:
. 기본적으로 당일 진입, 당일 청산하려고 하여
. 갭보정 차트 분봉 이용을 해서 (전략실행 차트에서 갭보정설정및 당일청산설정 예정)
. 피봇분봉 기본선과 갭보정한 선을 2종류를 모두 설정한 후,
-진입 :
. 피봇 1차,2차 지지선 (피봇기본 지지선과 갭보정분의 지지선 모두)을 찍고 양봉으로 상향 돌파하고 이 봉을 기준봉으로 하여,
이 기준봉의 고점을 2번째 돌파 시 매수진입함.
-청산 :
. 볼린저밴드(20,2)의 상단 터치시 청산
(단 터치시 청산 표현이 불가능하면 볼벤 상단 근접=전봉 상단터치하면 청산)
. 기준봉의 저가를 하향하면 즉시 손절 청산.
. 당일 청산
하는 식을 만들고자 아래 작성을 해 봤습니다만,
잘 안되서 수정 검토 부탁드립니다.
항상 감사 드립니다.
< 작성분 >
input: period(20),nsd(2),
vars: maV(0), bandup(0), banddn(0);
Var :PP(0), R3(0),R2(0), R1(0), S1(0), S2(0), S3(0); // 기본피봇
Var : PivotD(0),R1D(0),R2D(0),S1D(0),S2D(0),R3D(0), S3D(0); // 보정피봇
PP = ( DayHigh(1) + DayClose(1) + DayLow(1) )/3; //피봇선-기본
R3 = DayHigh(1) + 2*(PP - DayLow(1)); //3차저항-기본
R2 = PP+DayHigh(1)-DayLow(1); //2차저항-기본
R1 = 2 * PP - DayLow(1); //1차저항-기본
S1 = 2 * PP - DayHigh(1); //1차지지-기본
S2 = PP-DayHigh(1)+DayLow(1); //2차지지-기본
S3 = DayLow(1) - 2*(DayHigh(1) - PP); //3차지지-기본
PivotD = (highD(1)+LowD(1)+CloseD(1))/3; // 보정
R1D = 2*PivotD-LowD(1);
R2D = PivotD+highD(1)-LowD(1);
R3D = highD(1) + 2*(pivotD - LowD(1)) ;
S1D = 2*PivotD-highD(1);
S2D = PivotD-highD(1)+LowD(1);
S3D = LowD(1) - 2*(highD(1) - pivotD);
maV = ma(close,period);
bandup = BollBandUp(period,nsd);
banddn = BollBandDown(period,nsd);
if crossup (c,S1) or crossup (c,S2) or crossup (c,S3)
or crossup (c,S1D) or crossup (c,S2D) or crossup (c,S3D) and o < c Then
Buy("b", AtStop,h);
if MarketPosition >0
and c < L[barssinceentry+1] Then
ExitLong();
if MarketPosition > 0 and Crossdown(close , bandup) Then
ExitLong();
다음글