0 Bu tabloyu alın Bu tabloyu alın 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)
Feragatname Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, işlem veya diğer türden tavsiye veya tavsiyeler anlamına gelmez ve teşkil etmez.
Kullanım Şartları 'nda daha fazlasını okuyun.