指定

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
开发者 1
等级
(5)
项目
7
0%
仲裁
8
13% / 75%
逾期
3
43%
空闲
2
开发者 2
等级
(28)
项目
39
23%
仲裁
14
0% / 93%
逾期
4
10%
空闲
3
开发者 3
等级
(297)
项目
476
40%
仲裁
105
40% / 24%
逾期
81
17%
繁忙
发布者: 2 代码
4
开发者 4
等级
项目
0
0%
仲裁
0
逾期
0
空闲
5
开发者 5
等级
项目
0
0%
仲裁
0
逾期
0
空闲
发布者: 8 代码
6
开发者 6
等级
项目
0
0%
仲裁
0
逾期
0
空闲

项目信息

预算
30 - 200 USD