커뮤니티

조건검색문의드립니다

프로필 이미지
해피럭키
2025-11-28 08:59:52
78
글번호 228473
답변완료

첨부 이미지

아래검색식 오류수정좀 부탁드립니다

input : MA5_Period(25);

input : MA20_Period(100);

input : Vol_Period(20);

input : Vol_Mult(1.5);

var : cnt(0), sum(0);

var : MA5(0), MA20(0);

var : MA5_Prev(0);

var : Vol_Avg(0);

var : Vol_Sum(0);

var : BodySize(0), CandleSize(0);

var : PriceChange(0);

var : UpMove(0), DownMove(0);

var : AvgUp(0), AvgDown(0);

var : RS(0), RSI_Val(0);

var : Deviation(0), TradingValue(0);

Array : MA5_Array[100](0);

Array : Close_Array[100](0);

Array : Vol_Array[100](0);

if sDate != sDate[1] and DayOfWeek(sdate) <= DayOfWeek(sdate[1]) Then

{

for cnt = 99 downto 1

{

Close_Array[cnt] = Close_Array[cnt-1];

MA5_Array[cnt] = MA5_Array[cnt-1];

}

Close_Array[0] = C[1];

}

Close_Array[0] = C;

sum = 0;

for cnt = 0 to MA5_Period-1

{

sum = sum + C[cnt];

}

MA5 = sum / MA5_Period;

MA5_Prev = Average(C, MA5_Period)[1];

sum = 0;

for cnt = 0 to MA20_Period-1

{

sum = sum + C[cnt];

}

MA20 = sum / MA20_Period;

Vol_Sum = 0;

for cnt = 0 to Vol_Period

{

Vol_Sum = Vol_Sum + V[cnt];

}

Vol_Avg = Vol_Sum / (Vol_Period + 1);

AvgUp = 0;

AvgDown = 0;

for cnt = 0 to 13

{

if C[cnt] > C[cnt+1] Then

{

UpMove = C[cnt] - C[cnt+1];

DownMove = 0;

} else if C[cnt] < C[cnt+1] Then

{

UpMove = 0;

DownMove = C[cnt+1] - C[cnt];

} else

{

UpMove = 0;

DownMove = 0;

}

AvgUp = AvgUp + UpMove;

AvgDown = AvgDown + DownMove;

}

AvgUp = AvgUp / 14;

AvgDown = AvgDown / 14;

if AvgDown > 0 Then

{

RS = AvgUp / AvgDown;

RSI_Val = 100 - (100 / (1 + RS));

} else

{

RSI_Val = 100;

}

Cond_Above_MA5 := C > MA5;

Cond_Yesterday_Below := C[1] <= MA5_Prev;

Cond_Bull_Candle := C > O;

BodySize := AbsValue(C - O);

CandleSize := H - L;

if CandleSize > 0 Then

{

Cond_Strong_Bull := BodySize > CandleSize * 0.6;

} else

{

Cond_Strong_Bull := False;

}

Cond_Volume_Basic := V > Vol_Avg * Vol_Mult;

Cond_Volume_Max3 := (V > V[1]) and (V > V[2]);

Cond_RSI := (RSI_Val > 50) and (RSI_Val < 70);

Cond_Price_Rising := C > C[1];

if C[1] > 0 Then

{

PriceChange := ((C - C[1]) / C[1]) * 100;

Cond_Not_Overheated := PriceChange < 3;

} else

{

Cond_Not_Overheated := False;

}

MA5_Rising := MA5 > Average(C, MA5_Period)[5];

Cond_MA5_Above_MA20 := MA5 > MA20;

if MA5 > 0 Then

{

Deviation := ((C - MA5) / MA5) * 100;

Cond_Proper_Deviation := (Deviation >= -1) and (Deviation <= 3);

} else

{

Cond_Proper_Deviation := False;

}

TradingValue := C * V;

Cond_Liquidity := TradingValue >= 1000000000;

Cond_Essential := Cond_Above_MA5 and

Cond_Yesterday_Below and

Cond_Bull_Candle and

Cond_Volume_Basic;

Cond_Enhanced := Cond_Strong_Bull and

Cond_Volume_Max3 and

Cond_RSI and

Cond_Price_Rising;

Cond_Optimized := Cond_Not_Overheated and

MA5_Rising and

Cond_MA5_Above_MA20 and

Cond_Proper_Deviation and

Cond_Liquidity;

if Cond_Essential and Cond_Enhanced and Cond_Optimized Then

Find(1);

종목검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-12-01 10:54:33

안녕하세요 예스스탁입니다. 올리신 수식에서 에러나는 부분들은 예스랭귀지 문법이 아닙니다. 문법 부분만 수정해 드립니다. input : MA5_Period(25); input : MA20_Period(100); input : Vol_Period(20); input : Vol_Mult(1.5); var : cnt(0), sum(0); var : MA5(0), MA20(0); var : MA5_Prev(0); var : Vol_Avg(0); var : Vol_Sum(0); var : BodySize(0), CandleSize(0); var : PriceChange(0); var : UpMove(0), DownMove(0); var : AvgUp(0), AvgDown(0); var : RS(0), RSI_Val(0); var : Deviation(0), TradingValue(0); Array : MA5_Array[100](0); Array : Close_Array[100](0); Array : Vol_Array[100](0); var : Cond_Above_MA5(False),Cond_Yesterday_Below(False),Cond_Bull_Candle(False); var : Cond_Strong_Bull(False),Cond_Volume_Basic(False),Cond_Volume_Max3(False); var : Cond_Price_Rising(False),Cond_RSI(False),Cond_Not_Overheated(False); var : MA5_Rising(False),Cond_MA5_Above_MA20(False),Cond_Proper_Deviation(False); var : Cond_Liquidity(False),Cond_Essential(False),Cond_Enhanced(False),Cond_Optimized(False); if sDate != sDate[1] and DayOfWeek(sdate) <= DayOfWeek(sdate[1]) Then { for cnt = 99 downto 1 { Close_Array[cnt] = Close_Array[cnt-1]; MA5_Array[cnt] = MA5_Array[cnt-1]; } Close_Array[0] = C[1]; } Close_Array[0] = C; sum = 0; for cnt = 0 to MA5_Period-1 { sum = sum + C[cnt]; } MA5 = sum / MA5_Period; MA5_Prev = ma(C, MA5_Period)[1]; sum = 0; for cnt = 0 to MA20_Period-1 { sum = sum + C[cnt]; } MA20 = sum / MA20_Period; Vol_Sum = 0; for cnt = 0 to Vol_Period { Vol_Sum = Vol_Sum + V[cnt]; } Vol_Avg = Vol_Sum / (Vol_Period + 1); AvgUp = 0; AvgDown = 0; for cnt = 0 to 13 { if C[cnt] > C[cnt+1] Then { UpMove = C[cnt] - C[cnt+1]; DownMove = 0; } else if C[cnt] < C[cnt+1] Then { UpMove = 0; DownMove = C[cnt+1] - C[cnt]; } else { UpMove = 0; DownMove = 0; } AvgUp = AvgUp + UpMove; AvgDown = AvgDown + DownMove; } AvgUp = AvgUp / 14; AvgDown = AvgDown / 14; if AvgDown > 0 Then { RS = AvgUp / AvgDown; RSI_Val = 100 - (100 / (1 + RS)); } else { RSI_Val = 100; } Cond_Above_MA5 = C > MA5; Cond_Yesterday_Below = C[1] <= MA5_Prev; Cond_Bull_Candle = C > O; BodySize = Abs(C - O); CandleSize = H - L; if CandleSize > 0 Then { Cond_Strong_Bull = BodySize > CandleSize * 0.6; } else { Cond_Strong_Bull = False; } Cond_Volume_Basic = V > Vol_Avg * Vol_Mult; Cond_Volume_Max3 = (V > V[1]) and (V > V[2]); Cond_RSI = (RSI_Val > 50) and (RSI_Val < 70); Cond_Price_Rising = C > C[1]; if C[1] > 0 Then { PriceChange = ((C - C[1]) / C[1]) * 100; Cond_Not_Overheated = PriceChange < 3; } else { Cond_Not_Overheated = False; } MA5_Rising = MA5 > ma(C, MA5_Period)[5]; Cond_MA5_Above_MA20 = MA5 > MA20; if MA5 > 0 Then { Deviation = ((C - MA5) / MA5) * 100; Cond_Proper_Deviation = (Deviation >= -1) and (Deviation <= 3); } else { Cond_Proper_Deviation = False; } TradingValue = C * V; Cond_Liquidity = TradingValue >= 1000000000; Cond_Essential = Cond_Above_MA5 and Cond_Yesterday_Below and Cond_Bull_Candle and Cond_Volume_Basic; Cond_Enhanced = Cond_Strong_Bull and Cond_Volume_Max3 and Cond_RSI and Cond_Price_Rising; Cond_Optimized = Cond_Not_Overheated and MA5_Rising and Cond_MA5_Above_MA20 and Cond_Proper_Deviation and Cond_Liquidity; if Cond_Essential and Cond_Enhanced and Cond_Optimized Then Find(1); 즐거운 하루되세요