예스스탁
예스스탁 답변
2009-09-22 09:31:35
안녕하세요
예스스탁입니다.
1. 갭보정 RSI
Inputs: Length(14);
Variables: Counter(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 Length > 0 Then Begin
UpSum = 0;
DownSum = 0;
For Counter = 0 To Length - 1 Begin
UpAmt = GC[Counter] - GC[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 = GC[0] - GC[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;
plot1(RSIv);
2. 시스템
다이버젼스와 같은 경우는 주관성이 강한 내용입니다.
아래식을 참고하시기 바랍니다.
Inputs: Length(14);
Variables: Counter(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 Length > 0 Then Begin
UpSum = 0;
DownSum = 0;
For Counter = 0 To Length - 1 Begin
UpAmt = GC[Counter] - GC[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 = GC[0] - GC[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;
var1 = SwingLow(1,L,3,3,100);
var2 = SwingLow(2,L,3,3,100);
value1 = SwingLowbar(1,L,3,3,100);
value2 = SwingLowbar(2,L,3,3,100);
var3 = SwingLow(1,RSIv,3,3,100);
var4 = SwingLow(2,RSIv,3,3,100);
value3 = SwingLowbar(1,RSIv,3,3,100);
value4 = SwingLowbar(2,RSIv,3,3,100);
var5 = SwingHigh(1,H,3,3,100);
var6 = SwingHigh(2,H,3,3,100);
value5 = SwingHighBar(1,H,3,3,100);
value6 = SwingHighBar(2,H,3,3,100);
var7 = SwingHigh(1,RSIv,3,3,100);
var8 = SwingHigh(2,RSIv,3,3,100);
value7 = SwingHighBar(1,RSIv,3,3,100);
value8 = SwingHighBar(2,RSIv,3,3,100);
if value1 < value2+20 and var1 < var2 and value3 < value4+20 and var3 > var4
and Value3 == 3 Then
buy();
if value5 < value6+20 and var5 > var6 and value7 < value8+20 and var7 < var8
and value5 == 3 Then
sell();
즐거운 하루되세요
> HI_coco 님이 쓴 글입니다.
> 제목 : rsi 갭보정
> 참조종목 이용치 않고 사용할 수 있는 rsi 갭보정 지표식 및
rsi 고 저점 다이버젼스를 이용한 시스템 수식 부탁합니다.