커뮤니티
종목검색이 안됩니다. 한번 봐주세요!
2018-07-18 16:59:24
225
글번호 120711
수고하십니다.
javascript:OnWrite();
하기로 검색하면 하나두 없다고 나옵니다.
각기 Stoch RSI || 전일 거래금액 비교 하면 검색이 되는데
하기와 같이 하면 검색 자체가 안됩니다.
#=========================================================#
# Stoch RSI
#=========================================================#
var: RSIPeriod(14),sto1(14);
var: Sma1(0),Sma2(0),Sma3(0),StochRSI(0);
Var: 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;
Sma1 = RSIV;
Sma2 = lowest(Sma1,sto1);
Sma3 = Highest(Sma1,sto1);
StochRSI = ((Sma1-Sma2)/(Sma3-Sma2))*100;
#=========================================================#
# 전일동시간 거래대금 비교
#=========================================================#
var : cntm(0),PreDate(0),idx(0),idx1(0),MM(0),MM1(0);
if sdate != sdate[1] Then{
var1 = sdate;
var2 = var1[1];
idx = 0;
idx1 = idx[1];
MM = 0;
var3 = dayindex()[1];
}
idx = idx+1;
MM = MM+M;
var5 = Bids[var3+1]*O[var3+1]/10000; //전일 동시간 매수잔량금액
var6 = Asks[var3+1]*O[var3+1]/10000; //전일 동시간 매도잔량금액
if var2 > 0 then
{
for cntm = idx to idx+idx1
{
if stime[cntm] <= stime and sdate[cntm] == var2 then
{
MM1 = MM[cntm];
cntm = idx+idx1+1;
}
}
}
if MM > MM1*0.8 and StochRSI >= 50 Then
find(1);
답변 1
예스스탁 예스스탁 답변
2018-07-18 17:39:00
안녕하세요
예스스탁입니다.
식을 수정했습니다.
#=========================================================#
# Stoch RSI
#=========================================================#
var: RSIPeriod(14),sto1(14);
var: Sma1(0),Sma2(0),Sma3(0),StochRSI(0);
Var: 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 index == RSIPeriod+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 index > RSIPeriod+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;
Sma1 = RSIV;
Sma2 = lowest(Sma1,sto1);
Sma3 = Highest(Sma1,sto1);
StochRSI = ((Sma1-Sma2)/(Sma3-Sma2))*100;
#=========================================================#
# 전일동시간 거래대금 비교
#=========================================================#
var : cntm(0),PreDate(0),idx(0),idx1(0),MM(0),MM1(0);
if sdate != sdate[1] Then{
var1 = sdate;
var2 = var1[1];
idx = 0;
idx1 = idx[1];
MM = 0;
var3 = dayindex()[1];
}
idx = idx+1;
MM = MM+M;
var5 = Bids[var3+1]*O[var3+1]/10000; //전일 동시간 매수잔량금액
var6 = Asks[var3+1]*O[var3+1]/10000; //전일 동시간 매도잔량금액
if var2 > 0 then
{
for cntm = idx to idx+idx1
{
if stime[cntm] <= stime and sdate[cntm] == var2 then
{
MM1 = MM[cntm];
cntm = idx+idx1+1;
}
}
}
if MM > MM1*0.8 and StochRSI >= 50 Then
find(1);
즐거운 하루되세요
> 큰상 님이 쓴 글입니다.
> 제목 : 종목검색이 안됩니다. 한번 봐주세요!
> 수고하십니다.
javascript:OnWrite();
하기로 검색하면 하나두 없다고 나옵니다.
각기 Stoch RSI || 전일 거래금액 비교 하면 검색이 되는데
하기와 같이 하면 검색 자체가 안됩니다.
#=========================================================#
# Stoch RSI
#=========================================================#
var: RSIPeriod(14),sto1(14);
var: Sma1(0),Sma2(0),Sma3(0),StochRSI(0);
Var: 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;
Sma1 = RSIV;
Sma2 = lowest(Sma1,sto1);
Sma3 = Highest(Sma1,sto1);
StochRSI = ((Sma1-Sma2)/(Sma3-Sma2))*100;
#=========================================================#
# 전일동시간 거래대금 비교
#=========================================================#
var : cntm(0),PreDate(0),idx(0),idx1(0),MM(0),MM1(0);
if sdate != sdate[1] Then{
var1 = sdate;
var2 = var1[1];
idx = 0;
idx1 = idx[1];
MM = 0;
var3 = dayindex()[1];
}
idx = idx+1;
MM = MM+M;
var5 = Bids[var3+1]*O[var3+1]/10000; //전일 동시간 매수잔량금액
var6 = Asks[var3+1]*O[var3+1]/10000; //전일 동시간 매도잔량금액
if var2 > 0 then
{
for cntm = idx to idx+idx1
{
if stime[cntm] <= stime and sdate[cntm] == var2 then
{
MM1 = MM[cntm];
cntm = idx+idx1+1;
}
}
}
if MM > MM1*0.8 and StochRSI >= 50 Then
find(1);
다음글
이전글