diegobeyl/backtesting
2
1
2import requests
3import json
4
5url = "http://127.0.0.1:8000/api/backtest/run"
6payload = {
7 "config": {
8 "symbol": "BTCUSD",
9 "timeframe": "H1",
10 "donchian_period": 1,
11 "risk_percent": 1.0,
12 "initial_capital": 10000.0,
13 "break_margin_d1": 0.4,
14 "break_margin_w1": 2.0,
15 "break_margin_mn": 3.0,
16 "trade_direction": "BOTH",
17 "lookbehind": 0,
18 "stop_resets_support": True,
19 "commission": 0.1,
20 "slippage": 2,
21 "trailing_mode": "FAST",
22 "leverage": 30,
23 "bars": 500
24 }
25}
26
27print("Sending backtest request...")
28response = requests.post(url, json=payload)
29if response.status_code == 200:
30 data = response.json()
31 metrics = data.get('metrics', {})
32 print(f"Success: {data.get('success')}")
33 print(f"Total Return: {metrics.get('total_return')}")
34 print(f"Total Return %: {metrics.get('total_return_percent')}")
35 print(f"Final Equity: {metrics.get('final_equity')}")
36 print(f"Initial Capital: {metrics.get('start_equity')}")
37else:
38 print(f"Error: {response.status_code}")
39 print(response.text)
40 