Dmitry Beresnev
commited on
Commit
Β·
db46b9f
1
Parent(s):
a7ddd73
refactor AsyncTradingGridGenerator and cmd
Browse files
src/services/async_trading_grid_calculator.py
CHANGED
|
@@ -272,6 +272,7 @@ class AsyncTradingGridGenerator:
|
|
| 272 |
message = f"""π― <b>TRADING GRID {ticker.upper()}</b>
|
| 273 |
{strategy_info['emoji']} <b>Strategy:</b> {strategy.upper()}
|
| 274 |
{strategy_info['description']}
|
|
|
|
| 275 |
π <b>CURRENT INDICATORS:</b>
|
| 276 |
π° Price: <code>${indicators['current_price']:.2f}</code> {trend_emoji}
|
| 277 |
π RSI: <code>{indicators['rsi']:.1f}</code> {rsi_status}
|
|
@@ -279,16 +280,18 @@ class AsyncTradingGridGenerator:
|
|
| 279 |
π― ATR: <code>${indicators['atr']:.2f}</code>
|
| 280 |
π» Support: <code>${indicators['support']:.2f}</code>
|
| 281 |
πΊ Resistance: <code>${indicators['resistance']:.2f}</code>
|
|
|
|
| 282 |
π <b>GRID METRICS:</b>
|
| 283 |
π΅ Capital: <code>${metrics['total_capital']:.2f}</code>
|
| 284 |
π Max drawdown: <code>{metrics['max_drawdown']:.2f}%</code>
|
| 285 |
π― Orders: <code>{metrics['number_of_orders']}</code>
|
| 286 |
π° Potential: <code>${metrics['potential_profit']:.2f}</code>
|
| 287 |
π Margin: <code>{metrics['profit_margin']:.2f}%</code>
|
|
|
|
| 288 |
π― <b>TOP-{min(5, len(df))} LEVELS:</b>
|
| 289 |
-
|
| 290 |
-
|
| 291 |
-
|
| 292 |
# Add top-5 levels
|
| 293 |
for i in range(min(5, len(df))):
|
| 294 |
row = df.iloc[i]
|
|
|
|
| 272 |
message = f"""π― <b>TRADING GRID {ticker.upper()}</b>
|
| 273 |
{strategy_info['emoji']} <b>Strategy:</b> {strategy.upper()}
|
| 274 |
{strategy_info['description']}
|
| 275 |
+
|
| 276 |
π <b>CURRENT INDICATORS:</b>
|
| 277 |
π° Price: <code>${indicators['current_price']:.2f}</code> {trend_emoji}
|
| 278 |
π RSI: <code>{indicators['rsi']:.1f}</code> {rsi_status}
|
|
|
|
| 280 |
π― ATR: <code>${indicators['atr']:.2f}</code>
|
| 281 |
π» Support: <code>${indicators['support']:.2f}</code>
|
| 282 |
πΊ Resistance: <code>${indicators['resistance']:.2f}</code>
|
| 283 |
+
|
| 284 |
π <b>GRID METRICS:</b>
|
| 285 |
π΅ Capital: <code>${metrics['total_capital']:.2f}</code>
|
| 286 |
π Max drawdown: <code>{metrics['max_drawdown']:.2f}%</code>
|
| 287 |
π― Orders: <code>{metrics['number_of_orders']}</code>
|
| 288 |
π° Potential: <code>${metrics['potential_profit']:.2f}</code>
|
| 289 |
π Margin: <code>{metrics['profit_margin']:.2f}%</code>
|
| 290 |
+
|
| 291 |
π― <b>TOP-{min(5, len(df))} LEVELS:</b>
|
| 292 |
+
```
|
| 293 |
+
β Price Size Drop Type
|
| 294 |
+
"""
|
| 295 |
# Add top-5 levels
|
| 296 |
for i in range(min(5, len(df))):
|
| 297 |
row = df.iloc[i]
|
src/telegram_bot/telegram_bot_service.py
CHANGED
|
@@ -171,8 +171,8 @@ class TelegramBotService:
|
|
| 171 |
response += "π€ AI-powered trading insights\n"
|
| 172 |
response += "π Powered by OpenRouter and Gemini API\n\n"
|
| 173 |
response += "π€ /news_iter TICKER - News feed iterating\n\n"
|
| 174 |
-
response += "π‘ <i>Note: Risk analysis is experimental and may not be accurate. Use at your own risk!</i
|
| 175 |
-
response += "/predict TICKER - Stock price prediction (e.g., /predict AAPL)\n"
|
| 176 |
response += "/grid TICKER CAPITAL STRATEGY\n"
|
| 177 |
response += " - Generate trading grid (e.g., /grid AAPL 10000 conservative)\n"
|
| 178 |
|
|
|
|
| 171 |
response += "π€ AI-powered trading insights\n"
|
| 172 |
response += "π Powered by OpenRouter and Gemini API\n\n"
|
| 173 |
response += "π€ /news_iter TICKER - News feed iterating\n\n"
|
| 174 |
+
response += "π‘ <i>Note: Risk analysis is experimental and may not be accurate. Use at your own risk!</i>\n\n"
|
| 175 |
+
response += "/predict TICKER - Stock price prediction (e.g., /predict AAPL)\n\n"
|
| 176 |
response += "/grid TICKER CAPITAL STRATEGY\n"
|
| 177 |
response += " - Generate trading grid (e.g., /grid AAPL 10000 conservative)\n"
|
| 178 |
|