커뮤니티
조건검색문의드립니다
아래검색식 오류수정좀 부탁드립니다 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. 오류다수.png (0.07 MB)
답변 1
예스스탁 예스스탁 답변
2025-12-01 10:54:33