File size: 2,294 Bytes
4c3edc4
 
 
be76f2f
4c3edc4
be76f2f
4c3edc4
 
 
 
be76f2f
4c3edc4
be76f2f
4c3edc4
 
be76f2f
4c3edc4
 
 
 
 
 
be76f2f
4c3edc4
 
be76f2f
4c3edc4
 
 
 
be76f2f
4c3edc4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
be76f2f
 
4c3edc4
be76f2f
4c3edc4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import google.generativeai as genai
from PIL import Image
import io
import gradio as gr
import os

# ⚙️ إعدادات Gemini API
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")  # سيتم وضعه في HuggingFace Secrets
genai.configure(api_key=GEMINI_API_KEY)
model = genai.GenerativeModel("gemini-pro-vision")

# 🧠 تعليمات للذكاء الاصطناعي ليتصرف كخبير تداول
SYSTEM_PROMPT = """
أنت محلل تداول محترف ولديك خبرة 10 سنوات في أسواق الفوركس والعملات الرقمية.
قم بتحليل الصورة التالية وأجبني بما يلي:

1. ما هو الاتجاه الحالي؟ (صعودي / هبوطي / جانبي)
2. مستويات الدعم والمقاومة الرئيسية.
3. المؤشرات الفنية: RSI, MACD, Bollinger Bands...
4. اقتراح صفقة: نقطة الدخول، وقف الخسارة، الربح المستهدف.
5. الإطار الزمني المناسب ونسبة المخاطرة/العائد.
6. اسم الاستراتيجية وتفسيرها.

قدم إجابتك باللغة العربية بشكل احترافي وتعليمي.
"""

# 📊 الدالة الرئيسية لتحليل الصورة
def analyze_chart(image):
    if image is None:
        return "❌ لم يتم تحميل أي صورة."
    
    try:
        img = Image.open(io.BytesIO(image))
        response = model.generate_content([SYSTEM_PROMPT, img])
        
        if response.text:
            return response.text
        else:
            return "⚠️ لم يتم العثور على تحليل لهذه الصورة."
    except Exception as e:
        return f"❌ حدث خطأ أثناء التحليل: {str(e)}"

# 🖥️ واجهة Gradio
interface = gr.Interface(
    fn=analyze_chart,
    inputs=gr.Image(type="bytes", label="تحميل مخطط التداول"),
    outputs=gr.Markdown(label="تحليل الذكاء الاصطناعي"),
    title="🤖 منصة تحليل التداول الذكية",
    description="ارسل مخططًا وسيقوم الذكاء الاصطناعي بتحليله وتقديم صفقات احترافية.",
    theme="default"
)

# تشغيل التطبيق
if __name__ == "__main__":
    interface.launch()