커뮤니티

문의 (RSI)

프로필 이미지
TRF
2013-06-17 13:32:55
226
글번호 64365
답변완료
1. 아래 갭보정 수식을 이용해서 스토캐스틱과 스토캐스틱RSI의 보조지표 좀 부탁드리겠습니다. VARS: sumGap(0, DATA1), Gap(0, DATA1), gHIGH(0, DATA1), gLOW(0, DATA1), gOPEN(0, DATA1), gCLOSE(0, DATA1); //---------------------------------------------------------------------------------------------------------------------------------------------------------- if ( DATA1(Date <> Date[1]) ) then Begin Gap = ( DATA1(OPEN) - DATA1(CLOSE[1]) ); sumGap = sumGap + Gap; End; gHIGH = DATA1(HIGH) - sumGap; gLOW = DATA1(LOW) - sumGap; gOPEN = DATA1(OPEN) - sumGap; gCLOSE = DATA1(CLOSE) - sumGap; 2. 3분 차트를 사용한다고 가정할때 장시작시의 시가는 DayOpen으로 알수 있는데 장시작시의 고가와 저가는 무엇으로 알수 있는지요? 3분봉이 완성되지 않은 시점에서 방법이 있는지요? 3. 위에서 작성된 갭보정용 스토캐스틱RSI의 금일중 최고가와 최저가를 변수에 저장하는 방법 좀 부탁드립니다. 감사합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-06-17 16:10:13

안녕하세요 예스스탁입니다. 1-1, 스토케스틱 input : Period1(10),Period2(5),Period3(5); var : sumGap(0, DATA1), Gap(0, DATA1), gHIGH(0, DATA1), gLOW(0, DATA1), gOPEN(0, DATA1), gCLOSE(0, DATA1); var : Lval(0,data1),Hval(0,data1),FK(0,data1),SK(0,data1),SD(0,data1); //---------------------------------------------------------------------------------------------------------------------------------------------------------- if ( DATA1(Date <> Date[1]) ) then Begin Gap = ( DATA1(OPEN) - DATA1(CLOSE[1]) ); sumGap = sumGap + Gap; End; gHIGH = DATA1(HIGH) - sumGap; gLOW = DATA1(LOW) - sumGap; gOPEN = DATA1(OPEN) - sumGap; gCLOSE = DATA1(CLOSE) - sumGap; Lval = Lowest(gLOW, Period1); Hval = Highest(gHIGH, Period1); FK = (gCLOSE - Lval) / (Hval - Lval) * 100; SK = ema(FK,Period2);#슬로우K SD = ema(SK,Period3);#슬로우D plot1(SK,"%K"); plot2(SD,"%D"); 1-2 스토케스틱RSI input : Length(10),SRPeriod(10); var : sumGap(0, DATA1), Gap(0, DATA1), gHIGH(0, DATA1), gLOW(0, DATA1), gOPEN(0, DATA1), gCLOSE(0, DATA1); Var : Counter(0,data1), DownAmt(0,data1), UpAmt(0,data1), UpSum(0,data1), DownSum(0,data1), UpAvg(0,data1), DownAvg(0,data1); var : RSIV(0,data1),StoRSI(0,data1); //---------------------------------------------------------------------------------------------------------------------------------------------------------- if ( DATA1(Date <> Date[1]) ) then Begin Gap = ( DATA1(OPEN) - DATA1(CLOSE[1]) ); sumGap = sumGap + Gap; End; gHIGH = DATA1(HIGH) - sumGap; gLOW = DATA1(LOW) - sumGap; gOPEN = DATA1(OPEN) - sumGap; gCLOSE = DATA1(CLOSE) - sumGap; If CurrentBar == 1 AND Length > 0 Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = gCLOSE[Counter] - gCLOSE[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 CurrentBar > 1 AND Length > 0 Then Begin UpAmt = gCLOSE[0] - gCLOSE[1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length; End; If UpAvg + DownAvg <> 0 Then RSIv = 100 * UpAvg / (UpAvg + DownAvg); Else RSIv = 0; StoRsi = ((RSIv- lowest(RSIv,SRPeriod)) / (highest(RSIv,SRPeriod)-(lowest(RSIv,SRPeriod))))*-1; plot1(StoRsi); 2. 3분봉의 완성시에만 저장및 사용이 가능합니다. if dayindex == 0 then{ var1 = H; var2 = L; } 3. input : Length(10),SRPeriod(10); var : sumGap(0, DATA1), Gap(0, DATA1), gHIGH(0, DATA1), gLOW(0, DATA1), gOPEN(0, DATA1), gCLOSE(0, DATA1); Var : Counter(0,data1), DownAmt(0,data1), UpAmt(0,data1), UpSum(0,data1), DownSum(0,data1), UpAvg(0,data1), DownAvg(0,data1); var : RSIV(0,data1),StoRSI(0,data1),HH(0,data1),LL(0,data1); //---------------------------------------------------------------------------------------------------------------------------------------------------------- if ( DATA1(Date <> Date[1]) ) then Begin Gap = ( DATA1(OPEN) - DATA1(CLOSE[1]) ); sumGap = sumGap + Gap; End; gHIGH = DATA1(HIGH) - sumGap; gLOW = DATA1(LOW) - sumGap; gOPEN = DATA1(OPEN) - sumGap; gCLOSE = DATA1(CLOSE) - sumGap; If CurrentBar == 1 AND Length > 0 Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = gCLOSE[Counter] - gCLOSE[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 CurrentBar > 1 AND Length > 0 Then Begin UpAmt = gCLOSE[0] - gCLOSE[1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length; End; If UpAvg + DownAvg <> 0 Then RSIv = 100 * UpAvg / (UpAvg + DownAvg); Else RSIv = 0; StoRsi = ((RSIv- lowest(RSIv,SRPeriod)) / (highest(RSIv,SRPeriod)-(lowest(RSIv,SRPeriod))))*-1; if date != date[1] Then{ HH = stoRSI; LL = stoRSI; } if StoRsi > HH Then HH = StoRsi; if StoRsi < LL Then LL = StoRsi; plot1(StoRsi); plot2(HH); plot3(LL); 즐거운 하루되세요 > TRF 님이 쓴 글입니다. > 제목 : 문의 (RSI) > 1. 아래 갭보정 수식을 이용해서 스토캐스틱과 스토캐스틱RSI의 보조지표 좀 부탁드리겠습니다. VARS: sumGap(0, DATA1), Gap(0, DATA1), gHIGH(0, DATA1), gLOW(0, DATA1), gOPEN(0, DATA1), gCLOSE(0, DATA1); //---------------------------------------------------------------------------------------------------------------------------------------------------------- if ( DATA1(Date <> Date[1]) ) then Begin Gap = ( DATA1(OPEN) - DATA1(CLOSE[1]) ); sumGap = sumGap + Gap; End; gHIGH = DATA1(HIGH) - sumGap; gLOW = DATA1(LOW) - sumGap; gOPEN = DATA1(OPEN) - sumGap; gCLOSE = DATA1(CLOSE) - sumGap; 2. 3분 차트를 사용한다고 가정할때 장시작시의 시가는 DayOpen으로 알수 있는데 장시작시의 고가와 저가는 무엇으로 알수 있는지요? 3분봉이 완성되지 않은 시점에서 방법이 있는지요? 3. 위에서 작성된 갭보정용 스토캐스틱RSI의 금일중 최고가와 최저가를 변수에 저장하는 방법 좀 부탁드립니다. 감사합니다.