커뮤니티

34321 재문의 드립니다

프로필 이미지
jh3234
2014-01-13 19:38:06
128
글번호 71359
답변완료
알려주신 식대로 했더니 아무런 신호도 안 뜨네요 3. Input : Length(14), LPercent(30), SPercent(70); Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0); var : RSIv(0),didx(0), UpAvg1(0), DownAvg1(0),T(0); if date != date[1] Then{ didx = didx+1; UpAvg1 = UpAvg[1]; DownAvg1 = DownAvg[1]; } If didx <= 1 AND Length > 0 Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = DayClose(Counter) - DayClose(Counter+1); If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / Length; DownAvg = DownSum / Length; End Else If didx > 1 AND Length > 0 Then Begin UpAmt = DayClose(0) - DayClose(1); If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg1 * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg1 * (Length - 1) + DownAmt) / Length; End; If UpAvg + DownAvg <> 0 Then RSIv = 100 * UpAvg / (UpAvg + DownAvg); Else RSIv = 0; If CrossUP(RSIv, LPercent) Then T = 1; If CrossDown(RSIv, SPercent) Then T = -1; if stime == 151500 Then{ if T == 1 Then buy("b",AtMarket); if T == -1 Then sell("s",AtMarket); } SetStopEndofday(150000); 그리고 일봉상 스토캐스틱 매수 신호(stdk>20) 발생시 시가 매수 15시 청산 매도신호 때 시가 매수 15시 청산도 가르쳐주시면 감사하겠습니다
시스템
답변 2
프로필 이미지

jh3234

2014-01-14 09:32:55

jh3234 님에 의해 삭제된 답변입니다.
프로필 이미지

예스스탁 예스스탁 답변

2014-01-14 09:35:02

안녕하세요 예스스탁입니다. 1. 해당식 1분봉이나 5분봉에 적용하셔야 합니다. 첨부된 그림은 선물 5분봉에 적용한 식입니다. 주식종목이시면 시간을 150000으로 변경하셔야 합니다. 시초가 매수는 전일마지막봉에 조건을 걸고 발생시켜야 합니다. 마지막봉은 시간으로만 지정가능하고 차트 주기별로 마지막봉 시간이 다르므로 사용하시는 차트에서 마지막봉 시간확인후 시간지정하셔야 합니다. 차트 전체에서 일간 RSI가 30을 상향돌파하거나 70을 하향이탈이 한번이상 발생해야 신호가 발생하게 됩니다. 1분봉이면 일간으로는 기간이 짧아 크로스 발생이 없을 수 있으므로 5분봉 차트에서 적용해 보시기 바랍니다. 2. 스토케스틱 input : Period(10), Period1(5), Period2(5), buyLine(20),SellLine(80); var : cnt(0), highVal(0), lowVal(0), FK(0), SK(0), SD(0); var : Ep1(0), Ep2(0), PreSK(0), PreSD(0),T(0); #N일간 최고가 및 최저가 highVal = dayhigh(0); lowVal = daylow(0); for cnt = 0 to Period-1 { if dayHigh(cnt) > highVal then highVal = dayhigh(cnt); if dayLow(cnt) < lowVal then lowVal = dayLow(cnt); } #Fast StochasticsK fK = (C-lowVal)/(highVal-lowVal)*100; #Slow StochasticsK / Slow StochasticsD Ep1 = 2/(Period1+1); Ep2 = 2/(Period2+1); if date != date[1] then { PreSK = SK[1]; PreSD = SD[1]; } SK = FK * EP1 + PreSK * (1-EP1); SD = SK * EP2 + PreSD * (1-EP2); If CrossUP(SK, buyLine) Then T = 1; If CrossDown(SK, SellLine) Then T = -1; if stime == 151500 Then{ if T == 1 Then buy("b",AtMarket); if T == -1 Then sell("s",AtMarket); } SetStopEndofday(150000); 3 2식 모두 일봉지표가 매수신호 상태면 계속 시초가 매수하고 15시 청산을 반복하고 매도신호 상태면 계속 시초가 매도하고 15시 청선을 반복합니다. 이용에 참고하시기 바랍니다. 즐거운 하루되세요 > jh3234 님이 쓴 글입니다. > 제목 : 34321 재문의 드립니다 > 알려주신 식대로 했더니 아무런 신호도 안 뜨네요 3. Input : Length(14), LPercent(30), SPercent(70); Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0); var : RSIv(0),didx(0), UpAvg1(0), DownAvg1(0),T(0); if date != date[1] Then{ didx = didx+1; UpAvg1 = UpAvg[1]; DownAvg1 = DownAvg[1]; } If didx <= 1 AND Length > 0 Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = DayClose(Counter) - DayClose(Counter+1); If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / Length; DownAvg = DownSum / Length; End Else If didx > 1 AND Length > 0 Then Begin UpAmt = DayClose(0) - DayClose(1); If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg1 * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg1 * (Length - 1) + DownAmt) / Length; End; If UpAvg + DownAvg <> 0 Then RSIv = 100 * UpAvg / (UpAvg + DownAvg); Else RSIv = 0; If CrossUP(RSIv, LPercent) Then T = 1; If CrossDown(RSIv, SPercent) Then T = -1; if stime == 151500 Then{ if T == 1 Then buy("b",AtMarket); if T == -1 Then sell("s",AtMarket); } SetStopEndofday(150000); 그리고 일봉상 스토캐스틱 매수 신호(stdk>20) 발생시 시가 매수 15시 청산 매도신호 때 시가 매수 15시 청산도 가르쳐주시면 감사하겠습니다