🧓 ปู่ชวนไปเที่ยว
🎮 เล่นเกมส์
⏰ Time:
🌡️ Temp: Loading...

📌 การเปลี่ยนแปลงที่สำคัญ v.2.0.3

โดย puk

2025-09-02 02:20

ตัวชี้วัดใหม่:ADX:เพิ่มใน apply_indicators:python df['adx'] = ta.trend.ADXIndicator(high=df['high'], low=df['low'], close=df['close'], window=params['adx_window']).adx() เพิ่มเงื่อนไขใน evaluate_signals:python if last_row['adx'] > params['adx_threshold']: signals.append('BUY_SELL_ADX') signal_desc.append(f"ADX > {params['adx_threshold']}") ใช้ใน timeframe ยาว (4h, 8h, 1d) เพื่อยืนยันแนวโน้มที่แข็งแกร่ง VWAP:เพิ่มฟังก์ชัน calculate_vwap:python def calculate_vwap(df): typical_price = (df['high'] + df['low'] + df['close']) / 3 vwap = (typical_price * df['volume']).cumsum() / df['volume'].cumsum() return vwap เพิ่มเงื่อนไขใน evaluate_signals:python if last_row['close'] > last_row['vwap']: signals.append('BUY_VWAP') signal_desc.append("Price > VWAP") elif last_row['close'] < last_row['vwap']: signals.append('SELL_VWAP') signal_desc.append("Price < VWAP") ใช้ใน timeframe ยาว (4h, 8h, 1d) เพื่อวัดว่าราคาอยู่เหนือหรือใต้ค่าเฉลี่ยถ่วงน้ำหนัก SL และ TP ตาม Timeframe:เพิ่ม timeframe_sl_tp_multipliers:python timeframe_sl_tp_multipliers = { '1m': {'sl': 1.5, 'tp': 1.0}, '5m': {'sl': 1.5, 'tp': 1.0}, '15m': {'sl': 2.0, 'tp': 1.5}, '30m': {'sl': 2.0, 'tp': 1.5}, '1h': {'sl': 2.5, 'tp': 2.0}, '4h': {'sl': 2.5, 'tp': 2.0}, '8h': {'sl': 3.0, 'tp': 2.5}, '1d': {'sl': 3.0, 'tp': 2.5} } ปรับใน backtest และ simulate_trading:python atr = last_row['atr'] if 'atr' in last_row else 1.0 sl_price = entry_price - (atr * multipliers['sl']) # Long tp_price = entry_price + (atr * multipliers['tp']) # Long sl_price = entry_price + (atr * multipliers['sl']) # Short tp_price = entry_price - (atr * multipliers['tp']) # Short ตัวอย่าง: ถ้า ATR = 100 USDT ใน timeframe 1h:SL = 2.5 * 100 = 250 USDT TP = 2.0 * 100 = 200 USDT เลือกตัวชี้วัดตาม Timeframe:เพิ่ม timeframe_indicators:python timeframe_indicators = { '1m': ['rsi', 'stoch', 'macd'], '5m': ['rsi', 'stoch', 'macd'], '15m': ['sma', 'macd', 'bb'], '30m': ['sma', 'macd', 'bb'], '1h': ['sma', 'macd', 'bb', 'adx'], '4h': ['sma', 'adx', 'vwap'], '8h': ['sma', 'adx', 'vwap'], '1d': ['sma', 'adx', 'vwap'] } ปรับ apply_indicators และ evaluate_signals ให้ใช้เฉพาะตัวชี้วัดที่กำหนดสำหรับ timeframe นั้น ปรับจำนวนสัญญาณที่ต้องใช้:1m, 5m: ต้องมี 4 สัญญาณ 15m, 30m: ต้องมี 5 สัญญาณ 1h, 4h, 8h, 1d: ต้องมี 6 สัญญาณ python required_signals = 4 if timeframe in ['1m', '5m'] else 5 if timeframe in ['15m', '30m'] else 6 ลดการแจ้งเตือน "No signal detected":ใน evaluate_signals:python else: if mode != 'backtest': # Skip logging in backtest log_status("No signal detected") ทำให้ log ใน backtest สะอาดขึ้น โดยแสดงเฉพาะสัญญาณ BUY/SELL และการเปิด/ปิด position ผลกระทบของการเปลี่ยนแปลงตัวชี้วัดใหม่:ADX: ช่วยยืนยันแนวโน้มที่แข็งแกร่งใน timeframe ยาว (4h, 8h, 1d) ทำให้สัญญาณ BUY/SELL น่าเชื่อถือมากขึ้นในช่วงที่มีแนวโน้มชัดเจน VWAP: เพิ่มมิติการวิเคราะห์โดยใช้ volume ทำให้เหมาะสำหรับ timeframe ยาวที่ volume มีผลมาก SL และ TP อัตโนมัติ:การใช้ ATR ทำให้ SL/TP ปรับตามความผันผวนของตลาด:Timeframe สั้น (1m, 5m): SL/TP แคบลงเพื่อจับการเคลื่อนไหวเร็ว Timeframe ยาว (8h, 1d): SL/TP กว้างขึ้นเพื่อรองรับการเคลื่อนไหวใหญ่ Risk-to-Reward Ratio ยังคงสมดุล (เช่น 1.5:1 ใน 1m, 1.2:1 ใน 1d) เลือกตัวชี้วัดตาม Timeframe:Timeframe สั้น: เน้นตัวชี้วัดที่ตอบสนองเร็ว (RSI, Stochastic, MACD) Timeframe กลาง: ใช้ตัวชี้วัดที่สมดุล (SMA, MACD, Bollinger Bands) Timeframe ยาว: เน้นตัวชี้วัดที่ยืนยันแนวโน้ม (SMA, ADX, VWAP) ลดจำนวนสัญญาณที่ต้องใช้ใน timeframe สั้น (4 แทน 6) เพื่อเพิ่มโอกาส trade ลดการแจ้งเตือน:ลดความรกของ log ใน backtest ทำให้ง่ายต่อการวิเคราะห์ผลลัพธ์ ยังคงแจ้ง "No signal detected" ใน simulated trading เพื่อให้ทราบสถานะ

💬 ความคิดเห็น 0

🌟 ยังไม่มีความคิดเห็น — คุณจะเป็นคนแรก!

🔑 เข้าสู่ระบบ เพื่อแสดงความคิดเห็น

🔙 Back Home