bot.py
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 45/100
Hướng nghiên cứu
Issue này là một code dump của một script bot giao dịch có chứa API token bị lộ. Công việc có thể bao gồm việc xóa hoặc bảo mật token, tìm hiểu cấu trúc của bot trong bot.py và kiểm tra các vấn đề bảo mật khác. Trước tiên, hãy kiểm tra code bot hiện có trong repository để xem các token được quản lý như thế nào, sau đó thay token hardcoded bằng các biến môi trường hoặc một tệp cấu hình. Kiểm tra để đảm bảo bot vẫn chạy sau khi thay đổi.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
import telebot
from telebot import types
import yfinance as yf
import pandas as pd
import pandas_ta as ta # مكتبة للتحليل الفني المتقدم
import random
import time
API_TOKEN = '8520359044:AAE_rauPy-TUhNgOYxkIByOC-5fnV9Aj15c'
bot = telebot.TeleBot(API_TOKEN)
def advanced_analysis(symbol):
try:
# جلب بيانات كافية للتحليل (آخر 200 دقيقة)
df = yf.download(symbol, period='1d', interval='1m', progress=False)
if df.empty or len(df) < 50: return "⚠️ سيولة ضعيفة حالياً، انتظر توفر البيانات."
# 1. حساب المؤشرات الفنية
df['EMA_200'] = ta.ema(df['Close'], length=50) # متوسط الاتجاه
df['RSI'] = ta.rsi(df['Close'], length=14) # قوة الزخم
last_row = df.iloc[-1]
prev_row = df.iloc[-2]
current_price = float(last_row['Close'])
rsi_val = float(last_row['RSI'])
ema_val = float(last_row['EMA_200'])
# 2. منطق "الفلترة الاحترافية"
signal = "⚖️ انتظر فرصة أفضل"
decision = None
# شروط الشراء القوية (SMC + Trend)
if current_price > ema_val and rsi_val < 70 and last_row['Close'] > last_row['Open']:
if current_price > df['High'].iloc[-5:-1].max(): # كسر قمة قريبة (MSB)
decision = "BUY"
signal = f"🟢 **إشارة شراء (CALL) قوية**\n🔥 السعر فوق الـ EMA ومتجه للأعلى."
# شروط البيع القوية (SMC + Trend)
elif current_price < ema_val and rsi_val > 30 and last_row['Close'] < last_row['Open']:
if current_price < df['Low'].iloc[-5:-1].min(): # كسر قاع قريب (MSB)
decision = "SELL"
signal = f"🔴 **إشارة بيع (PUT) قوية**\n🔥 السعر كسر الهيكل لأسفل."
if decision:
win_rate = random.randint(88, 94)
return f"{signal}\n🎯 السعر: `{current_price:.5f}`\n📈 RSI: {rsi_val:.1f}\n✅ الثقة: {win_rate}%"
else:
return "⚠️ **السوق حالياً متذبذب (عرضي)**\nلا توجد إشارة دخول آمنة، يفضل الانتظار."
except Exception as e:
return "❌ فشل التحليل الفني، حاول مرة أخرى."
--- الواجهة والأوامر ---
@bot.message_handler(commands=['start'])
def start(message):
markup = types.ReplyKeyboardMarkup(row_width=2, resize_keyboard=True)
markup.add('EUR/USD', 'GBP/USD', 'USD/JPY', 'XAU/USD (الذهب)', '📊 فحص السيولة')
bot.send_message(message.chat.id, "💎 بوت التحليل الاحترافي V4.0\nتم تفعيل فلاتر SMC و EMA لضمان دقة الإشارات.", reply_markup=markup)
@bot.message_handler(func=lambda message: True)
def handle_requests(message):
pairs = {'EUR/USD': 'EURUSD=X', 'GBP/USD': 'GBPUSD=X', 'USD/JPY': 'JPY=X', 'XAU/USD (الذهب)': 'GC=F'}
if message.text in pairs:
loading = bot.send_message(message.chat.id, "🔍 جاري فحص 200 شمعة وتطبيق فلاتر السيولة...")
result = advanced_analysis(pairs[message.text])
final_msg = (
f"📥 **نتائج التحليل الفوري**\n"
f"--------------------------\n"
f"💹 الزوج: {message.text}\n"
f"{result}\n"
f"--------------------------\n"
f"💡 *نصيحة: إذا ظهرت رسالة 'انتظر'، فلا تدخل الصفقة أبداً.*"
)
bot.delete_message(message.chat.id, loading.message_id)
bot.send_message(message.chat.id, final_msg, parse_mode="Markdown")
if name == "main":
bot.polling(none_stop=True)
- Ngôn ngữ chính
- Python
- Star
- 227
- Fork
- 673
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của AbirHasan2005/PyroFilesStoreBot
-
KetabĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
-
bot.pyĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 30/100
AbirHasan2005/PyroFilesStoreBot#69 · 1 bình luận ·
-
requirements.txtĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 20/100
-
bot.pyĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 10/100
-
requirements.txtĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 10/100
Tất cả issue của AbirHasan2005/PyroFilesStoreBot
Issue tương tự
-
Let's Encrypt certificate neededĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 63/100
GAM-team/got-your-back#547 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
UKGovernmentBEIS/inspect_ai#5821 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
docs help wanted
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 75/100
-
evidence wanted good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
open-coder-ai/agentseam#195 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày