아래 수식에 문제가 없는지만 봐주세요. 계속 검색에 하나도 안나와서요.
(하이킨아시 차트기준:
1.음봉(-2봉), 양봉(-1봉), 양봉(0봉)
2.2봉전 저가가 BOL(20,2)하한선이하
3.2봉전 RSI(20)<30, 0봉전 RSI(20)>30)
============================================================================
var : haC(0),haO(0),haH(0),haL(0);
var : mav(0),sdv(0),B(0);
var : A(0),A1(0);
#Heiken Ashi 시고저종
if index == 0 then
{
haC = (O+H+L+C)/4;
haO = open;
haH = MaxList( high, haO, haC);
haL = MinList( low, haO,haC);
}
else
{
haC = (O+H+L+C)/4;
haO = (haO [1] + haC [1])/2 ;
haH = MaxList(High, haO, haC) ;
haL = MinList(Low, haO, haC) ;
}
A=(haO+haH+haL+haC)/4;
A1=(haC[1]+haO[1])/2;
mav = ma(hac,20);
sdv = std(hac,20);
B = mav-sdv*2;
Inputs: Length(20);
Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0),haRSI(0);
If Index == Length Then Begin
UpSum = 0;
DownSum = 0;
For Counter = 0 To Length - 1 Begin
UpAmt = haC[Counter] - haC[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 Index > length AND Length > 0 Then Begin
UpAmt = haC[0] - haC[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
haRSI = 100 * UpAvg / (UpAvg + DownAvg);
Else
haRSI = 0;
if haC[2] < HaO[2] and HaC[1] > HaO[1] and HaC > HaO and
haRSI[2] < 30 and haRSI > 30 and
haL[2] < B[2] then
Find(1);
답변 1
예스스탁
예스스탁 답변
2025-09-02 15:31:29
안녕하세요
예스스탁입니다.
수식에 문제가 없습니다.
올리신 내용으로 작성이 된 상태입니다.
하이킨아시 차트 기준이고
볼밴, RSI도 모두 하이킨아시 시.고,저,종가로 작성되어 있습니다.
현재 일봉에서 1종목이 검색이 되고 있습니다.
조건별로 보면 2번과 3번 조건으로 6종목 정도가 나오지만
1번에 조건추가하면 해당하는 종목은 디오 한종목입니다.
즐거운 하루되세요
> ksks 님이 쓴 글입니다.
> 제목 : 수식검토
> 아래 수식에 문제가 없는지만 봐주세요. 계속 검색에 하나도 안나와서요.
(하이킨아시 차트기준:
1.음봉(-2봉), 양봉(-1봉), 양봉(0봉)
2.2봉전 저가가 BOL(20,2)하한선이하
3.2봉전 RSI(20)<30, 0봉전 RSI(20)>30)
============================================================================
var : haC(0),haO(0),haH(0),haL(0);
var : mav(0),sdv(0),B(0);
var : A(0),A1(0);
#Heiken Ashi 시고저종
if index == 0 then
{
haC = (O+H+L+C)/4;
haO = open;
haH = MaxList( high, haO, haC);
haL = MinList( low, haO,haC);
}
else
{
haC = (O+H+L+C)/4;
haO = (haO [1] + haC [1])/2 ;
haH = MaxList(High, haO, haC) ;
haL = MinList(Low, haO, haC) ;
}
A=(haO+haH+haL+haC)/4;
A1=(haC[1]+haO[1])/2;
mav = ma(hac,20);
sdv = std(hac,20);
B = mav-sdv*2;
Inputs: Length(20);
Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0),haRSI(0);
If Index == Length Then Begin
UpSum = 0;
DownSum = 0;
For Counter = 0 To Length - 1 Begin
UpAmt = haC[Counter] - haC[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 Index > length AND Length > 0 Then Begin
UpAmt = haC[0] - haC[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
haRSI = 100 * UpAvg / (UpAvg + DownAvg);
Else
haRSI = 0;
if haC[2] < HaO[2] and HaC[1] > HaO[1] and HaC > HaO and
haRSI[2] < 30 and haRSI > 30 and
haL[2] < B[2] then
Find(1);