import ccxt
import pandas as pd
# Set up exchange and symbol
exchange = ccxt.binance()
symbol = 'EUR/USD'
# Set up MA parameters
short_term_ma_period = 50
long_term_ma_period = 200
# Define the bot's logic
def ma_crossover_bot(data):
# Calculate short-term and long-term MA
short_term_ma = data['close'].rolling(window=short_term_ma_period).mean()
long_term_ma = data['close'].rolling(window=long_term_ma_period).mean()
# Check for buy signal
if short_term_ma.iloc[-1] > long_term_ma.iloc[-1] and short_term_ma.iloc[-2] < long_term_ma.iloc[-2]:
return 'Buy'
# Check for sell signal
elif short_term_ma.iloc[-1] < long_term_ma.iloc[-1] and short_term_ma.iloc[-2] > long_term_ma.iloc[-2]:
return 'Sell'
# No signal, do nothing
else:
return 'Do Nothing'
# Set up the bot to run on each new candle
def run_bot():
data = exchange.fetch_ohlcv(symbol, timeframe='1m')
df = pd.DataFrame(data, columns=['time', 'open', 'high', 'low', 'close', 'volume'])
signal = ma_crossover_bot(df)
if signal == 'Buy':
exchange.place_order(symbol, 'buy', 0.1)
elif signal == 'Sell':
exchange.place_order(symbol, 'sell', 0.1)
# Run the bot
run_bot()
```
import pandas as pd
# Set up exchange and symbol
exchange = ccxt.binance()
symbol = 'EUR/USD'
# Set up MA parameters
short_term_ma_period = 50
long_term_ma_period = 200
# Define the bot's logic
def ma_crossover_bot(data):
# Calculate short-term and long-term MA
short_term_ma = data['close'].rolling(window=short_term_ma_period).mean()
long_term_ma = data['close'].rolling(window=long_term_ma_period).mean()
# Check for buy signal
if short_term_ma.iloc[-1] > long_term_ma.iloc[-1] and short_term_ma.iloc[-2] < long_term_ma.iloc[-2]:
return 'Buy'
# Check for sell signal
elif short_term_ma.iloc[-1] < long_term_ma.iloc[-1] and short_term_ma.iloc[-2] > long_term_ma.iloc[-2]:
return 'Sell'
# No signal, do nothing
else:
return 'Do Nothing'
# Set up the bot to run on each new candle
def run_bot():
data = exchange.fetch_ohlcv(symbol, timeframe='1m')
df = pd.DataFrame(data, columns=['time', 'open', 'high', 'low', 'close', 'volume'])
signal = ma_crossover_bot(df)
if signal == 'Buy':
exchange.place_order(symbol, 'buy', 0.1)
elif signal == 'Sell':
exchange.place_order(symbol, 'sell', 0.1)
# Run the bot
run_bot()
```
Penafian
Maklumat dan penerbitan adalah tidak dimaksudkan untuk menjadi, dan tidak membentuk, nasihat untuk kewangan, pelaburan, perdagangan dan jenis-jenis lain atau cadangan yang dibekalkan atau disahkan oleh TradingView. Baca dengan lebih lanjut di Terma Penggunaan.
Penafian
Maklumat dan penerbitan adalah tidak dimaksudkan untuk menjadi, dan tidak membentuk, nasihat untuk kewangan, pelaburan, perdagangan dan jenis-jenis lain atau cadangan yang dibekalkan atau disahkan oleh TradingView. Baca dengan lebih lanjut di Terma Penggunaan.