diff --git a/src/main/kotlin/service/AutoTradingManager.kt b/src/main/kotlin/service/AutoTradingManager.kt index 4138471..c9a2b91 100644 --- a/src/main/kotlin/service/AutoTradingManager.kt +++ b/src/main/kotlin/service/AutoTradingManager.kt @@ -486,22 +486,33 @@ object AutoTradingManager { // ๐ŸŸข [์ถ”๋งค ํƒ€์ ] ๋ณผ๋ฆฐ์ € ํ•˜๋‹จ ํ„ฐ์น˜(1.05๋ฐฐ ์ด๋‚ด) + RSI ๊ณผ๋งค๋„(35 ์ดํ•˜) ๊ตฌ๊ฐ„ if (lowerBand > 0 && currentPrice <= lowerBand * 1.05 && rsiDaily < 35.0) { advice = "๐Ÿ“‰ [์ถ”๋งค ๊ถŒ์žฅ] ๋ณผ๋ฆฐ์ € ๋ฐด๋“œ ํ•˜๋‹จ ํ„ฐ์น˜ ๋ฐ RSI ๊ณผ๋งค๋„(${"%.1f".format(rsiDaily)}). ๊ธฐ์ˆ ์  ๋ฐ˜๋“ฑ ํ™•๋ฅ ์ด ๋งค์šฐ ๋†’์€ ํ†ต๊ณ„์  ๋ฐ”๋‹ฅ๊ถŒ์ž…๋‹ˆ๋‹ค. (๋ฌผํƒ€๊ธฐ ๊ณ ๋ ค)" + TradingLogStore.addAnalyzer( + "๋ณด์œ ์ฃผ์‹[${holding.name}]", + holding.code, + "์ˆ˜์ต๋ฅ ($profit%) -> $advice", true + ) } // ๐Ÿ”ด [์†์ ˆ ํƒ€์ ] ์ถ”์„ธ๊ฐ€ ์™„์ „ํžˆ ๊นจ์กŒ๋Š”๋ฐ, ๋ฐ”๋‹ฅ(๋ณผ๋ฆฐ์ € ํ•˜๋‹จ)๊นŒ์ง€ ํ•œ์ฐธ ๋‚จ์•˜์„ ๋•Œ else if (isTrendBroken && currentPrice > lowerBand * 1.1) { advice = "๐Ÿšจ [์†์ ˆ ๊ฒฝ๊ณ ] 20์ผ ์ถ”์„ธ๊ฐ€ ์™„์ „ํžˆ ๋ฌด๋„ˆ์กŒ์œผ๋ฉฐ, ์•„์ง ๋ฐ”๋‹ฅ(ํ•˜๋‹จ ๋ฐด๋“œ)๋„ ํ™•์ธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ํ•˜๋ฝ(์ง€ํ•˜์‹ค) ์œ„ํ—˜์ด ํฌ๋ฏ€๋กœ ๋ฆฌ์Šคํฌ ๊ด€๋ฆฌ(์†์ ˆ)๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค." + TradingLogStore.addNotice( + "๋ณด์œ ์ฃผ์‹[${holding.name}]", + holding.code, + "์ˆ˜์ต๋ฅ  ์‹ฌ๊ฐ($profit%) -> $advice", + ) } // ๐ŸŸก [๊ด€๋ง] ์–ด์ •์ฉกํ•˜๊ฒŒ ๋ฌผ๋ ค์žˆ๋Š” ์ƒํƒœ else { advice = "โณ [๊ด€๋ง ์œ ์ง€] ๋šœ๋ ทํ•œ ๋ฐ˜๋“ฑ ์‹œ๊ทธ๋„(๋ฐ”๋‹ฅ)์ด๋‚˜ ์น˜๋ช…์  ํˆฌ๋งค ์‹œ๊ทธ๋„์ด ์—†์Šต๋‹ˆ๋‹ค. ์กฐ๊ธˆ ๋” ์ง€์ผœ๋ด…๋‹ˆ๋‹ค." + TradingLogStore.addAnalyzer( + "๋ณด์œ ์ฃผ์‹[${holding.name}]", + holding.code, + "์ˆ˜์ต๋ฅ ($profit%) -> $advice", false + ) } // ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ UI ๋กœ๊ทธ์— ๋„์›Œ ๋Œ€ํ‘œ๋‹˜์ด ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ - TradingLogStore.addNotice( - "๋ณด์œ ์ฃผ์‹[${holding.name}]", - holding.code, - "์ˆ˜์ต๋ฅ  ์‹ฌ๊ฐ($profit%) -> $advice", - ) + } } else { // -5% ์ด๋‚ด์˜ ์ž์ž˜ํ•œ ์†์‹ค์€ ๋ณ„๋„ ๋ถ„์„ ์—†์ด ์กฐ์šฉํžˆ ๋„˜๊ธฐ๊ฑฐ๋‚˜ ์•ฝ์‹ ๋กœ๊ทธ๋งŒ ๋‚จ๊น€