커뮤니티

문의드립니다.

프로필 이미지
마린187
2010-12-21 13:46:27
640
글번호 34478
답변완료
안녕하세요 항상 친절한 답글 감사드립니다. 문의드릴사항은 다음과 같습니다. 1. 갭보정한 RSI, Positive Volume Index 지표로 2. RSI 기준선 50 상향돌파 하고 Positive Volume Index지표 중 PVI가 PVISIG를 상향돌파(골든크로스) 할때 매수 3. RSI 기준선 50 하향돌파 하고 Positive Volume Index지표 중 PVI가 PVISIG를 하향돌파(데드크로스) 할때 매도 ※RSI 와 Positive Volume Index 지표 둘다 만족 할 경우 4. 장시작과 동시에 두지표가 상향돌파나 골든크로스로 동시만족 상태라면 매수, 반대의 경우 매도 5. 필터링하기 쉽게 지표속성창에 표시되게 해주세요 위와 같은 시스템식 부탁드립니다. ▶ 종목검색식도 아울러 부탁드립니다*^^* (종목검색식에는 갭보정이 필요없습니다^^) 행복한 하루 되세요~~~~
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2010-12-21 16:09:54

안녕하세요 예스스탁입니다. 1. Inputs: RSIPeriod(14),PVISig(20); Variables: RSIcount(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0),RSIv(0),GPvi(0); var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0); if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉) gap = Open-Close[1]; // 일간갭 sumGap = sumGap+gap; // 일간갭 누적 } GO = O - sumGap;// 갭보정 시가 GH = H - sumGap;// 갭보정 고가 GL = L - sumGap;// 갭보정 저가 GC = C - sumGap; // 갭보정 종가 If CurrentBar == 1 AND RSIPeriod > 0 Then Begin UpSum = 0; DownSum = 0; For RSIcount = 0 To RSIPeriod - 1 Begin UpAmt = GC[RSIcount] - GC[RSIcount+1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / RSIPeriod; DownAvg = DownSum / RSIPeriod; End Else If CurrentBar > 1 AND RSIPeriod > 0 Then Begin UpAmt = GC[0] - GC[1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg[1] * (RSIPeriod - 1) + UpAmt) / RSIPeriod; DownAvg = (DownAvg[1] * (RSIPeriod - 1) + DownAmt) / RSIPeriod; End; If UpAvg + DownAvg <> 0 Then RSIv = 100 * UpAvg / (UpAvg + DownAvg); Else RSIv = 0; if CurrentBar <= 1 then { GPvi = 100; } else { if V > V[1] then { GPVI = PVI[1] + (((GC-GC[1]) / GC[1]) * PVI[1]); } else { GPVI = GPVI[1]; } } var1 = ma(GPVI,PVIsig); if crossup(GPVI,var1) and RSIv > 50 Then buy(); if CrossDown(GPVI,var1) and RSIv < 50 Then Sell(); 2.동시만족 Inputs: RSIPeriod(14),PVISig(20); Variables: RSIcount(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0),RSIv(0),GPvi(0); var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0); if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉) gap = Open-Close[1]; // 일간갭 sumGap = sumGap+gap; // 일간갭 누적 } GO = O - sumGap;// 갭보정 시가 GH = H - sumGap;// 갭보정 고가 GL = L - sumGap;// 갭보정 저가 GC = C - sumGap; // 갭보정 종가 If CurrentBar == 1 AND RSIPeriod > 0 Then Begin UpSum = 0; DownSum = 0; For RSIcount = 0 To RSIPeriod - 1 Begin UpAmt = GC[RSIcount] - GC[RSIcount+1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / RSIPeriod; DownAvg = DownSum / RSIPeriod; End Else If CurrentBar > 1 AND RSIPeriod > 0 Then Begin UpAmt = GC[0] - GC[1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg[1] * (RSIPeriod - 1) + UpAmt) / RSIPeriod; DownAvg = (DownAvg[1] * (RSIPeriod - 1) + DownAmt) / RSIPeriod; End; If UpAvg + DownAvg <> 0 Then RSIv = 100 * UpAvg / (UpAvg + DownAvg); Else RSIv = 0; if CurrentBar <= 1 then { GPvi = 100; } else { if V > V[1] then { GPVI = PVI[1] + (((GC-GC[1]) / GC[1]) * PVI[1]); } else { GPVI = GPVI[1]; } } var1 = ma(GPVI,PVIsig); if crossup(GPVI,var1) and crossup(RSIv,50) Then buy(); if CrossDown(GPVI,var1) and crossdown(RSIv, 50) Then Sell(); 3.갭보정 RSIv Inputs: RSIPeriod(14); Variables: RSIcount(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0),RSIv(0); var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0); if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉) gap = Open-Close[1]; // 일간갭 sumGap = sumGap+gap; // 일간갭 누적 } GO = O - sumGap;// 갭보정 시가 GH = H - sumGap;// 갭보정 고가 GL = L - sumGap;// 갭보정 저가 GC = C - sumGap; // 갭보정 종가 If CurrentBar == 1 AND RSIPeriod > 0 Then Begin UpSum = 0; DownSum = 0; For RSIcount = 0 To RSIPeriod - 1 Begin UpAmt = GC[RSIcount] - GC[RSIcount+1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / RSIPeriod; DownAvg = DownSum / RSIPeriod; End Else If CurrentBar > 1 AND RSIPeriod > 0 Then Begin UpAmt = GC[0] - GC[1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg[1] * (RSIPeriod - 1) + UpAmt) / RSIPeriod; DownAvg = (DownAvg[1] * (RSIPeriod - 1) + DownAmt) / RSIPeriod; End; If UpAvg + DownAvg <> 0 Then RSIv = 100 * UpAvg / (UpAvg + DownAvg); Else RSIv = 0; plot1(RSIv); 4. 갭보정 PVI input : sig(20); var : sumGap(0), gap(0), GC(0),GPvi(0); if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉) gap = Open-Close[1]; // 일간갭 sumGap = sumGap+gap; // 일간갭 누적 } GC = C - sumGap; // 갭보정 종가 if CurrentBar <= 1 then { GPvi = 100; } else { if V > V[1] then { GPVI = PVI[1] + (((GC-GC[1]) / GC[1]) * PVI[1]); } else { GPVI = GPVI[1]; } } plot1(GPVI); plot2(ma(GPVI,sig)); 5.종목검색1 Inputs: RSIPeriod(14),PVISig(20); var1 = RSI(RSIPeriod); var2 = PVI; var3 = ma(PVI,PVIsig); if crossup(var2,var3) and var1 > 50 Then find(1); 6. 종목검색2(동시만족) Inputs: RSIPeriod(14),PVISig(20); var1 = RSI(RSIPeriod); var2 = PVI; var3 = ma(PVI,PVIsig); if crossup(var2,var3) and crossup(var1, 50) Then find(1); 즐거운 하루되세요 > 마린187 님이 쓴 글입니다. > 제목 : 문의드립니다. > 안녕하세요 항상 친절한 답글 감사드립니다. 문의드릴사항은 다음과 같습니다. 1. 갭보정한 RSI, Positive Volume Index 지표로 2. RSI 기준선 50 상향돌파 하고 Positive Volume Index지표 중 PVI가 PVISIG를 상향돌파(골든크로스) 할때 매수 3. RSI 기준선 50 하향돌파 하고 Positive Volume Index지표 중 PVI가 PVISIG를 하향돌파(데드크로스) 할때 매도 ※RSI 와 Positive Volume Index 지표 둘다 만족 할 경우 4. 장시작과 동시에 두지표가 상향돌파나 골든크로스로 동시만족 상태라면 매수, 반대의 경우 매도 5. 필터링하기 쉽게 지표속성창에 표시되게 해주세요 위와 같은 시스템식 부탁드립니다. ▶ 종목검색식도 아울러 부탁드립니다*^^* (종목검색식에는 갭보정이 필요없습니다^^) 행복한 하루 되세요~~~~
프로필 이미지

회원

2012-05-31 03:04:10

관리자님에 의해 삭제된 답변입니다.