1 Grab this chart Grab this chart import pandas as pd import pandas_datareader.data as web import ta import matplotlib.pyplot as plt from datetime import datetime # Fetch historical data def fetch_data(symbol, start, end): df = web.DataReader(symbol, 'yahoo', start, end) return df # Calculate indicators def apply_indicators(df): # Moving Averages df['SMA50'] = ta.trend.sma_indicator(df['Close'], window=50) df['SMA200'] = ta.trend.sma_indicator(df['Close'], window=200) # RSI df['RSI'] = ta.momentum.rsi(df['Close'], window=14) # MACD macd = ta.trend.MACD(df['Close']) df['MACD_diff'] = macd.macd_diff() return df # Identify entry points def identify_entries(df): conditions = [ (df['SMA50'] > df['SMA200']), # SMA50 above SMA200 (df['RSI'] > 50), # RSI above 50 (df['MACD_diff'] > 0) # MACD histogram positive ] df['Entry'] = (conditions[0] & conditions[1] & conditions[2]) return df # Plotting def plot_data(df): plt.figure(figsize=(14, 7)) plt.plot(df['Close'], label='Close Price') plt.plot(df['SMA50'], label='50-Day SMA') plt.plot(df['SMA200'], label='200-Day SMA') # Highlight entry points entries = df[df['Entry']] plt.scatter(entries.index, entries['Close'], color='g', label='Entry Point', marker='^', s=100) plt.title('XAUUSD Entry Points') plt.legend() plt.show() # Main function def main(): symbol = 'XAUUSD=X' start = datetime(2020, 1, 1) end = datetime.now() df = fetch_data(symbol, start, end) df = apply_indicators(df) df = identify_entries(df) plot_data(df) return df # Run the script df = main()
Disclaimer The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the
Terms of Use .