커뮤니티

수식 수정 부탁드립니다.

프로필 이미지
theogo66
2018-08-12 23:39:02
228
글번호 121312
답변완료

첨부 이미지

기존 내용들을 검색을 통해 공부를 해가며 수식을 만들어 보고 있는데, 잘 안되네요. 도움 부탁드립니다. 감사합니다. [질문 2개중 첫번째] *원하는 내용: 기존 밴드돌파식 + 조건을 추가. *추가조건 내용: "파라볼릭이 상승추세로 돌아선 후, 추세 표시되는 첫봉은 매수 진입 안하고, 그 다음봉에서부터 진입하는 매수식"을 만들고 싶습니다. *만들어 본 시스템식: input: period(20),nsd(2.0),StopPer(5); Input: AF(0.02),maxAF(0.2); vars: maV(0), bandup(0), banddn(0); Vars: ParabolicValue(0), idx(0); // idx ; 파라볼릭 추세변경후 봉의 순서를 매김. maV = ma(close,period); bandup = BollBandUp(period,nsd); banddn = BollBandDown(period,nsd); ParabolicValue = SAR(AF, maxAF); if crossup(C,ParabolicValue) Then idx = 0; /* if CrossDown(C,ParabolicValue) Then // --> 현물이라 여기는 지웠습니다. idx = 0; */ idx = idx+1; if CrossuP(close , bandup) and idx > 0 //-> idx 순서로 파라볼릭 상승 첫봉 제외,두번째 봉부터를 나름 의도했지만 잘 안되네요. idx >= 2로 해도 마찬가지고요. then Buy("B"); if marketposition > 0 then SetStopLoss(StopPer,PercentStop); [질문 2개중 두번째] 파라볼릭 추세 전환시점부터 봉 번호를 부여하는 지표식을 이곳 수식작성Q&A에서 다음과 같이 봤습니다. 이 지표식을 실제 전략실행차트에서 보니 전환시작점에 해당하는 봉번호가 1로 나오지만, 어떤 것은 전혀 다른 4나 10등 1을 훨씬 넘어서는 것도 나오는데 이유를 알고 싶습니다. (차트 그림 참조; 원으로 표시한 부분.) -다음- Input : af(0.02), maxAF(0.2); var : idx(0); var1 = SAR(af,maxAF); if crossup(C,var1) Then idx = 0; if CrossDown(C,var1) Then idx = 0; idx = idx+1; plot1(idx);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-08-13 13:28:21

안녕하세요 예스스탁입니다. idx가 볼밴상단 돌파하면 상승구간에서만 1씩 증가하는 것이 아닌 다음 볼뱅상단까지 계속 1씩 증가합니다. 그러므로 상승구간에서만 진입할 경우 상승구간/하락구간을 인지할 내용이 필요합니다. input: period(20),nsd(2.0),StopPer(5); Input: AF(0.02),maxAF(0.2); vars: maV(0), bandup(0), banddn(0); Vars: ParabolicValue(0), idx(0),T(0); maV = ma(close,period); bandup = BollBandUp(period,nsd); banddn = BollBandDown(period,nsd); ParabolicValue = SAR(AF, maxAF); if crossup(C,ParabolicValue) Then { T = 1;//상승구간은 1 idx = 0; } if CrossDown(C,ParabolicValue) Then { T = -1;//하락구간은 -1 idx = 0; } idx = idx+1; if CrossuP(close , bandup) and T == 1 //파라볼릭 상승구간이고 and idx >= 2 //2번째봉 이후부터 then Buy("B"); if marketposition > 0 then SetStopLoss(StopPer,PercentStop); 1 차트에서 보시는 파라볼릭은 종가파라볼릭(CSAR)입니다. 지표는 일반 파라볼릭(SAR)입니다. 지표를 파라볼릭종가로 변경하시면 됩니다. 2개 파라볼릭의 차이점은 상승하락 판단을 종가로 하느냐, 고가와저가로 판단하느냐에 따른 차이입니다. Input : af(0.02), maxAF(0.2); var : idx(0); var1 = CSAR(af,maxAF); if crossup(C,var1) Then idx = 0; if CrossDown(C,var1) Then idx = 0; idx = idx+1; plot1(idx); 2번과 관계하여 1번도 봉카운트가 상승하락 구분없이 상승발생 후 봉번호가 1씩 증가하는 내용이면 이전 작성하신 수식이 맞습니다. 차트에 적용한 파라볼릭과 수식에 사용된 파라볼릭의 차이입니다. 즐거운 하루되세요 > theogo66 님이 쓴 글입니다. > 제목 : 수식 수정 부탁드립니다. > 기존 내용들을 검색을 통해 공부를 해가며 수식을 만들어 보고 있는데, 잘 안되네요. 도움 부탁드립니다. 감사합니다. [질문 2개중 첫번째] *원하는 내용: 기존 밴드돌파식 + 조건을 추가. *추가조건 내용: "파라볼릭이 상승추세로 돌아선 후, 추세 표시되는 첫봉은 매수 진입 안하고, 그 다음봉에서부터 진입하는 매수식"을 만들고 싶습니다. *만들어 본 시스템식: input: period(20),nsd(2.0),StopPer(5); Input: AF(0.02),maxAF(0.2); vars: maV(0), bandup(0), banddn(0); Vars: ParabolicValue(0), idx(0); // idx ; 파라볼릭 추세변경후 봉의 순서를 매김. maV = ma(close,period); bandup = BollBandUp(period,nsd); banddn = BollBandDown(period,nsd); ParabolicValue = SAR(AF, maxAF); if crossup(C,ParabolicValue) Then idx = 0; /* if CrossDown(C,ParabolicValue) Then // --> 현물이라 여기는 지웠습니다. idx = 0; */ idx = idx+1; if CrossuP(close , bandup) and idx > 0 //-> idx 순서로 파라볼릭 상승 첫봉 제외,두번째 봉부터를 나름 의도했지만 잘 안되네요. idx >= 2로 해도 마찬가지고요. then Buy("B"); if marketposition > 0 then SetStopLoss(StopPer,PercentStop); [질문 2개중 두번째] 파라볼릭 추세 전환시점부터 봉 번호를 부여하는 지표식을 이곳 수식작성Q&A에서 다음과 같이 봤습니다. 이 지표식을 실제 전략실행차트에서 보니 전환시작점에 해당하는 봉번호가 1로 나오지만, 어떤 것은 전혀 다른 4나 10등 1을 훨씬 넘어서는 것도 나오는데 이유를 알고 싶습니다. (차트 그림 참조; 원으로 표시한 부분.) -다음- Input : af(0.02), maxAF(0.2); var : idx(0); var1 = SAR(af,maxAF); if crossup(C,var1) Then idx = 0; if CrossDown(C,var1) Then idx = 0; idx = idx+1; plot1(idx);