0 احصل على هذا الرسم احصل على هذا الرسم import pandas as pd import numpy as np # Super Trend hesaplama fonksiyonu def calculate_super_trend(data, atr_period, multiplier): tr = data['High'] - data['Low'] atr = tr.rolling(atr_period).mean() super_trend_upper = data['High'] - (multiplier * atr) super_trend_lower = data['Low'] + (multiplier * atr) data['SuperTrend'] = (super_trend_upper + super_trend_lower) / 2 return data # Bollinger Bands hesaplama fonksiyonu def calculate_bollinger_bands(data, window, num_std_dev): rolling_mean = data['Close'].rolling(window=window).mean() rolling_std = data['Close'].rolling(window=window).std() data['BollingerUpper'] = rolling_mean + (rolling_std * num_std_dev) data['BollingerLower'] = rolling_mean - (rolling_std * num_std_dev) return data # Veriyi yükle data = pd.read_csv('your_data.csv') data['Date'] = pd.to_datetime(data['Date']) data.set_index('Date', inplace=True) # Super Trend ve Bollinger Bands hesaplama atr_period = 14 multiplier = 1.0 bollinger_window = 20 num_std_dev = 2.0 data = calculate_super_trend(data, atr_period, multiplier) data = calculate_bollinger_bands(data, bollinger_window, num_std_dev) # Al-Sat kararları data['Buy_Signal'] = np.where(data['Close'] > data['SuperTrend'], 1, 0) data['Sell_Signal'] = np.where(data['Close'] < data['SuperTrend'], -1, 0) data['Buy_Signal'] = np.where(data['Close'] > data['BollingerUpper'], 1, data['Buy_Signal']) data['Sell_Signal'] = np.where(data['Close'] < data['BollingerLower'], -1, data['Sell_Signal']) # Al-Sat sinyallerini birleştirme data['Signal'] = data['Buy_Signal'] + data['Sell_Signal'] # Veriyi gösterme print(data)
إخلاء المسؤولية لا يُقصد بالمعلومات والمنشورات أن تكون، أو تشكل، أي نصيحة مالية أو استثمارية أو تجارية أو أنواع أخرى من النصائح أو التوصيات المقدمة أو المعتمدة من TradingView. اقرأ المزيد في
شروط الاستخدام .