指定
import ccxt
import pandas as pd
import numpy as np
import talib
import time
# Configuration
exchange = ccxt.binance({
'apiKey': 'VOTRE_API_KEY',
'secret': 'VOTRE_SECRET_KEY',
})
# Paramètres de trading
symbole = 'BTC/USDT'
timeframe = '1h'
montant = 100 # en USDT
stop_loss = 0.98 # 2% de perte maximale
take_profit = 1.03 # 3% de gain
def recuperer_donnees():
ohlcv = exchange.fetch_ohlcv(symbole, timeframe, limit=100)
df = pd.DataFrame(ohlcv, columns=['timestamp', 'open', 'high', 'low', 'close', 'volume'])
df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms')
return df
def calculer_indicateurs(df):
df['ema_50'] = talib.EMA(df['close'].values, timeperiod=50)
df['ema_200'] = talib.EMA(df['close'].values, timeperiod=200)
df['rsi'] = talib.RSI(df['close'].values, timeperiod=14)
return df
def strategie(df):
if df['ema_50'].iloc[-1] > df['ema_200'].iloc[-1] and df['rsi'].iloc[-1] < 70:
return 'acheter'
elif df['ema_50'].iloc[-1] < df['ema_200'].iloc[-1] and df['rsi'].iloc[-1] > 30:
return 'vendre'
else:
return 'neutre'
def trader():
df = recuperer_donnees()
df = calculer_indicateurs(df)
signal = strategie(df)
if signal == 'acheter':
try:
ordre = exchange.create_market_buy_order(symbole, montant)
print(f"Achetés {montant} {symbole}")
except Exception as e:
print(f"Erreur d'achat : {e}")
elif signal == 'vendre':
try:
ordre = exchange.create_market_sell_order(symbole, montant)
print(f"Vendus {montant} {symbole}")
except Exception as e:
print(f"Erreur de vente : {e}")
while True:
trader()
time.sleep(3600) # attendre 1 heure
反馈
1
等级
项目
7
0%
仲裁
8
13%
/
75%
逾期
3
43%
空闲
2
等级
项目
39
23%
仲裁
14
0%
/
93%
逾期
4
10%
空闲
3
等级
项目
477
40%
仲裁
105
40%
/
24%
逾期
81
17%
已载入
发布者: 2 代码
4
等级
项目
0
0%
仲裁
0
逾期
0
空闲
5
等级
项目
0
0%
仲裁
0
逾期
0
空闲
发布者: 8 代码
6
等级
项目
0
0%
仲裁
0
逾期
0
空闲
相似订单
Mamadou Cissé
50+ USD
Spécifiez vos exigences de spécification ici point par point. Essayez de décrire vos besoins de manière brève et claire, afin que votre développeur potentiel soit en mesure d'évaluer correctement sa complexité et son coût, ainsi que le temps d'exécution requis. Une mauvaise description ou une description trop générique aura pour conséquence un manque d’intérêt pour votre commande, ou que vous passerez beaucoup de
项目信息
预算
30 - 200 USD