커뮤니티

수식 수정 검토 부탁드립니다.

프로필 이미지
theogo66
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();