커뮤니티
안녕하세요
2014-02-14 07:47:27
161
글번호 72544
안녕하세요.반갑습니다
**RSI 시그널 돌파(분챠트용)
1.현재챠트 RSI 시그널돌파+2배수챠트 RSI 시그널돌파+4배수챠트 RSI 시그널돌파
동시만족:매수
반대:매도
감사합니다
답변 1
예스스탁 예스스탁 답변
2014-02-14 12:39:48
안녕하세요
예스스탁입니다.
input : RSIP(9),RSISP(10);
var : RSI1(0),RSIS1(0);
var : rSI2(0),RSIS2(0);
var : RSI3(0),RSIS3(0);
var : RRSigSum(0),RRcount2(0),RRSIsig(0);
Var : RRCounter(0), RRDownAmt(0), RRUpAmt(0), RRUpSum(0), RRDownSum(0), RRUpAvg(0), RRDownAvg(0);
var : RRDindex(0), RRPreUpAvg(0), RRpreDownAvg(0),RRcnt1(0);
Array : RRC[100](0),RRSIV1[100](0);
var : RSigSum(0),Rcount2(0),RSIsig(0);
Var : RCounter(0), RDownAmt(0), RUpAmt(0), RUpSum(0), RDownSum(0), RUpAvg(0), RDownAvg(0);
var : RDindex(0), RPreUpAvg(0), RpreDownAvg(0),Rcnt1(0);
Array : RC[100](0),RSIV1[100](0);
;
RSI1 = RSI(RSIP);
RSIS1 = ema(RSI1,RSISP);
value2 = TimeToMinutes(stime)%(BarInterval*2);
value3 = TimeToMinutes(stime)%(BarInterval*4);
if dayindex() == 0 or (value2 <= value2[1] and stime > stime[1]) Then{
for Rcnt1 = 1 to 99{
RC[Rcnt1] = RC[Rcnt1-1][1];
RSIv1[Rcnt1] = RSIv1[Rcnt1-1][1];
}
RPreUpAvg = RUpAvg[1];
RpreDownAvg = RDownAvg[1];
RDindex = Rdindex + 1;
}
RC[0] = C;
If RDindex == RSIP Then Begin
RUpSum = 0;
RDownSum = 0;
For RCounter = 0 To RSIP - 1 Begin
RUpAmt = C[RCounter] - C[RCounter+1];
If RUpAmt >= 0 Then
RDownAmt = 0;
Else Begin
RDownAmt = -RUpAmt;
RUpAmt = 0;
End;
RUpSum = RUpSum + RUpAmt;
RDownSum = RDownSum + RDownAmt;
End;
RUpAvg = RUpSum / RSIP;
RDownAvg = RDownSum / RSIP;
End
If RDindex > RSIP Then {
RUpAmt = RC[0]-Rc[1];
If RUpAmt >= 0 Then
RDownAmt = 0;
Else
{
RDownAmt = -RUpAmt;
RUpAmt = 0;
}
if RDindex <=1 Then {
RUpAvg = 1;
RDownAvg = 1;
}
Else {
RUpAvg = (RPreUpAvg * (RSIP - 1) + RUpAmt) / RSIP;
RDownAvg = (RpreDownAvg * (RSIP - 1) + RDownAmt) / RSIP;
}
}
If RUpAvg + RDownAvg <> 0 Then
RSIv1[0] = 100 * RUpAvg / (RUpAvg + RDownAvg);
Else
RSIv1[0] = 0;
RSI2 = RSIv1[0];
RSigSum = 0;
for Rcount2 = 0 to RSISP-1{
RSigSum = RSigSum+RSIv1[Rcount2];
}
RSIS2 = RSigSum/RSISP;
if dayindex() == 0 or (value3 <= value3[1] and stime > stime[1]) Then{
for RRcnt1 = 1 to 99{
RRC[RRcnt1] = RRC[RRcnt1-1][1];
RRSIv1[Rcnt1] = RRSIv1[Rcnt1-1][1];
}
RRPreUpAvg = RRUpAvg[1];
RRpreDownAvg = RRDownAvg[1];
RRDindex = RRdindex + 1;
}
RRC[0] = C;
If RRDindex == RSIP Then Begin
RRUpSum = 0;
RRDownSum = 0;
For RRCounter = 0 To RSIP - 1 Begin
RRUpAmt = C[RRCounter] - C[RRCounter+1];
If RRUpAmt >= 0 Then
RRDownAmt = 0;
Else Begin
RRDownAmt = -RRUpAmt;
RRUpAmt = 0;
End;
RRUpSum = RRUpSum + RRUpAmt;
RRDownSum = RRDownSum + RRDownAmt;
End;
RRUpAvg = RRUpSum / RSIP;
RRDownAvg = RRDownSum / RSIP;
End
If RRDindex > RSIP Then {
RRUpAmt = RRC[0]-RRC[1];
If RRUpAmt >= 0 Then
RRDownAmt = 0;
Else
{
RRDownAmt = -RRUpAmt;
RRUpAmt = 0;
}
if RRDindex <=1 Then {
RRUpAvg = 1;
RRDownAvg = 1;
}
Else {
RRUpAvg = (RRPreUpAvg * (RSIP - 1) + RRUpAmt) / RSIP;
RRDownAvg = (RRpreDownAvg * (RSIP - 1) + RRDownAmt) / RSIP;
}
}
If RRUpAvg + RRDownAvg <> 0 Then
RRSIv1[0] = 100 * RRUpAvg / (RRUpAvg + RRDownAvg);
Else
RRSIv1[0] = 0;
RSI3 = RRSIv1[0];
RRSigSum = 0;
for RRcount2 = 0 to RSISP-1{
RRSigSum = RRSigSum+RRSIv1[RRcount2];
}
RSIS3 = RRSigSum/RSISP;
if crossup(RSI1,RSIS1) and crossup(RSI2,RSIS2) and crossup(RSI3,RSIS3) Then
buy();
if CrossDown(RSI1,RSIS1) and CrossDown(RSI2,RSIS2) and CrossDown(RSI3,RSIS3) Then
sell();
즐거운 하루되세요
> jbouu123 님이 쓴 글입니다.
> 제목 : 안녕하세요
>
안녕하세요.반갑습니다
**RSI 시그널 돌파(분챠트용)
1.현재챠트 RSI 시그널돌파+2배수챠트 RSI 시그널돌파+4배수챠트 RSI 시그널돌파
동시만족:매수
반대:매도
감사합니다
다음글
이전글