원클릭으로
auto-trader
Automated trading with strategy execution, risk management, position sizing, and stop-loss/take-profit.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Automated trading with strategy execution, risk management, position sizing, and stop-loss/take-profit.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Complete market analysis for Crypto, Forex, and Stocks with RSI, MACD, trends, and trading recommendations.
Binary Options trading via BinaryFaster. Execute CALL/PUT trades, manage positions, track results.
Regulatory compliance across jurisdictions. KYC status, tax reporting, trading restrictions, and legal guidelines.
Social trading - copy the best traders automatically. Track whales, influencers, and top performers.
DeFi yield hunting across protocols. Find the best APY, auto-compound, manage LP positions, and optimize gas.
Derivatives trading - options, futures, and perpetuals. Advanced strategies for hedging and leverage.
| name | auto-trader |
| description | Automated trading with strategy execution, risk management, position sizing, and stop-loss/take-profit. |
| metadata | {"openclaw":{"emoji":"🤖","requires":{"bins":["python3"],"pip":["ccxt","ta","pandas"]}}} |
Automated trading execution with risk management.
⚠️ WARNING: Automated trading involves significant risk. Always test with small amounts first!
Trading config in ~/.kit/auto-trader.json:
{
"exchange": "binance",
"sandbox": true,
"risk": {
"max_position_pct": 5,
"max_daily_loss_pct": 3,
"default_stop_loss_pct": 2,
"default_take_profit_pct": 4
},
"strategies": ["rsi_reversal", "ma_crossover"],
"symbols": ["BTC/USDT", "ETH/USDT"]
}
python3 -c "
account_balance = 10000 # USD
risk_per_trade_pct = 2 # Risk 2% per trade
entry_price = 45000 # BTC entry
stop_loss_price = 44000 # Stop loss
risk_amount = account_balance * (risk_per_trade_pct / 100)
price_risk = entry_price - stop_loss_price
position_size = risk_amount / price_risk
print('📊 POSITION SIZE CALCULATOR')
print('=' * 50)
print(f'Account Balance: \${account_balance:,.2f}')
print(f'Risk per Trade: {risk_per_trade_pct}% (\${risk_amount:,.2f})')
print(f'Entry Price: \${entry_price:,.2f}')
print(f'Stop Loss: \${stop_loss_price:,.2f}')
print(f'Price Risk: \${price_risk:,.2f} per unit')
print()
print(f'✅ Position Size: {position_size:.6f} BTC')
print(f'✅ Position Value: \${position_size * entry_price:,.2f}')
"
python3 -c "
import ccxt
import ta
import pandas as pd
# Strategy: Buy when RSI < 30, Sell when RSI > 70
symbol = 'BTC/USDT'
exchange = ccxt.binance()
ohlcv = exchange.fetch_ohlcv(symbol, '1h', limit=100)
df = pd.DataFrame(ohlcv, columns=['timestamp', 'open', 'high', 'low', 'close', 'volume'])
df['rsi'] = ta.momentum.RSIIndicator(df['close'], 14).rsi()
current_rsi = df['rsi'].iloc[-1]
current_price = df['close'].iloc[-1]
print(f'📊 RSI STRATEGY: {symbol}')
print('=' * 50)
print(f'Price: \${current_price:,.2f}')
print(f'RSI(14): {current_rsi:.1f}')
print()
if current_rsi < 30:
print('🟢 SIGNAL: BUY (RSI oversold)')
print(f' Entry: \${current_price:,.2f}')
print(f' Stop Loss: \${current_price * 0.98:,.2f} (-2%)')
print(f' Take Profit: \${current_price * 1.04:,.2f} (+4%)')
elif current_rsi > 70:
print('🔴 SIGNAL: SELL (RSI overbought)')
else:
print('⚪ NO SIGNAL: RSI in neutral zone (30-70)')
"
python3 -c "
import ccxt
import ta
import pandas as pd
symbol = 'BTC/USDT'
exchange = ccxt.binance()
ohlcv = exchange.fetch_ohlcv(symbol, '4h', limit=100)
df = pd.DataFrame(ohlcv, columns=['timestamp', 'open', 'high', 'low', 'close', 'volume'])
df['ema_12'] = ta.trend.ema_indicator(df['close'], 12)
df['ema_26'] = ta.trend.ema_indicator(df['close'], 26)
current = df.iloc[-1]
previous = df.iloc[-2]
price = current['close']
print(f'📊 MA CROSSOVER STRATEGY: {symbol}')
print('=' * 50)
print(f'Price: \${price:,.2f}')
print(f'EMA(12): \${current[\"ema_12\"]:,.2f}')
print(f'EMA(26): \${current[\"ema_26\"]:,.2f}')
print()
# Check for crossover
if previous['ema_12'] < previous['ema_26'] and current['ema_12'] > current['ema_26']:
print('🟢 SIGNAL: BUY (Golden Cross - EMA12 crossed above EMA26)')
elif previous['ema_12'] > previous['ema_26'] and current['ema_12'] < current['ema_26']:
print('🔴 SIGNAL: SELL (Death Cross - EMA12 crossed below EMA26)')
elif current['ema_12'] > current['ema_26']:
print('📈 TREND: Bullish (EMA12 > EMA26) - Hold/Look for entries')
else:
print('📉 TREND: Bearish (EMA12 < EMA26) - Stay out or short')
"
python3 -c "
import ccxt
# Configuration
EXCHANGE_CONFIG = {'apiKey': 'YOUR_KEY', 'secret': 'YOUR_SECRET', 'sandbox': True}
SYMBOL = 'BTC/USDT'
SIDE = 'buy'
RISK_PCT = 2 # 2% of account
exchange = ccxt.binance(EXCHANGE_CONFIG)
balance = exchange.fetch_balance()
account_value = balance['USDT']['free']
# Calculate position size
ticker = exchange.fetch_ticker(SYMBOL)
price = ticker['last']
risk_amount = account_value * (RISK_PCT / 100)
stop_loss_distance = price * 0.02 # 2% stop
position_size = risk_amount / stop_loss_distance
print(f'📊 EXECUTING TRADE')
print('=' * 50)
print(f'Symbol: {SYMBOL}')
print(f'Side: {SIDE.upper()}')
print(f'Entry: \${price:,.2f}')
print(f'Size: {position_size:.6f}')
print(f'Value: \${position_size * price:,.2f}')
print(f'Stop Loss: \${price * 0.98:,.2f}')
print(f'Take Profit: \${price * 1.04:,.2f}')
print()
# Uncomment to execute
# order = exchange.create_market_buy_order(SYMBOL, position_size)
# print(f'✅ Order executed: {order[\"id\"]}')
print('⚠️ DRY RUN - Uncomment to execute real trade')
"
python3 -c "
import ccxt
import time
# Trailing stop: moves stop up as price increases
symbol = 'BTC/USDT'
entry_price = 45000
trailing_pct = 2 # 2% trailing distance
exchange = ccxt.binance()
highest_price = entry_price
stop_price = entry_price * (1 - trailing_pct/100)
print(f'📊 TRAILING STOP: {symbol}')
print(f'Entry: \${entry_price:,.2f}')
print(f'Trailing: {trailing_pct}%')
print('=' * 50)
# Simulation loop
for i in range(10):
ticker = exchange.fetch_ticker(symbol)
current_price = ticker['last']
# Update trailing stop if price moved up
if current_price > highest_price:
highest_price = current_price
stop_price = highest_price * (1 - trailing_pct/100)
pnl_pct = ((current_price - entry_price) / entry_price) * 100
print(f'Price: \${current_price:,.2f} | High: \${highest_price:,.2f} | Stop: \${stop_price:,.2f} | P&L: {pnl_pct:+.2f}%')
if current_price <= stop_price:
print(f'🛑 STOP HIT at \${stop_price:,.2f}')
break
time.sleep(5)
"
python3 -c "
# Mock trade data - load from log in practice
trades = [
{'symbol': 'BTC/USDT', 'side': 'buy', 'entry': 45000, 'exit': 46000, 'size': 0.1},
{'symbol': 'ETH/USDT', 'side': 'buy', 'entry': 2500, 'exit': 2450, 'size': 1.0},
{'symbol': 'SOL/USDT', 'side': 'buy', 'entry': 100, 'exit': 108, 'size': 5.0},
]
print('📊 DAILY TRADING REPORT')
print('=' * 50)
total_pnl = 0
wins = 0
losses = 0
for trade in trades:
if trade['side'] == 'buy':
pnl = (trade['exit'] - trade['entry']) * trade['size']
else:
pnl = (trade['entry'] - trade['exit']) * trade['size']
total_pnl += pnl
if pnl >= 0:
wins += 1
else:
losses += 1
emoji = '🟢' if pnl >= 0 else '🔴'
print(f'{emoji} {trade[\"symbol\"]:12} {trade[\"side\"]:4} \${pnl:+,.2f}')
print()
print('=' * 50)
win_rate = (wins / len(trades)) * 100 if trades else 0
print(f'Total Trades: {len(trades)}')
print(f'Win Rate: {win_rate:.0f}% ({wins}W / {losses}L)')
print(f'Total P&L: \${total_pnl:+,.2f}')
"
Before enabling auto-trading:
| Rule | Setting |
|---|---|
| Max position size | 5% of account |
| Max daily loss | 3% of account |
| Default stop loss | 2% |
| Default take profit | 4% (2:1 R:R) |
| Max open trades | 3 |
| Type | Use Case |
|---|---|
| Market | Immediate execution |
| Limit | Better price, may not fill |
| Stop Market | Emergency exit |
| Stop Limit | Controlled exit price |
| OCO | Take profit + stop loss together |
All trades logged to ~/.kit/trades/:
{
"id": "trade_001",
"timestamp": "2026-02-09T14:30:00Z",
"symbol": "BTC/USDT",
"side": "buy",
"entry_price": 45000,
"exit_price": 46000,
"size": 0.1,
"pnl": 100,
"strategy": "rsi_reversal"
}