2026-06-14 17:48:44 +01:00
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
import pandas as pd
|
2026-06-21 17:56:41 +01:00
|
|
|
from backtestingfx import Backtest, Strategy
|
2026-06-14 17:48:44 +01:00
|
|
|
from dotenv import load_dotenv
|
|
|
|
|
from lse import LSE
|
|
|
|
|
|
|
|
|
|
load_dotenv()
|
|
|
|
|
|
|
|
|
|
client = LSE(api_key=os.environ["LSE_API_KEY"])
|
|
|
|
|
|
|
|
|
|
rows = client.candles("EUR/USD", "1h", limit=2000)
|
|
|
|
|
df = pd.DataFrame(rows)
|
|
|
|
|
df.to_csv("data/EURUSD_1H.csv", index=False)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class BuyEveryBar(Strategy):
|
|
|
|
|
def next(self):
|
|
|
|
|
self.close_all()
|
2026-06-21 17:56:41 +01:00
|
|
|
self.buy(0.1)
|
2026-06-14 17:48:44 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
df = pd.read_csv("data/EURUSD_1H.csv")
|
|
|
|
|
|
|
|
|
|
bt = Backtest(df, BuyEveryBar, cash=10000.0, commission=0.0, spread=0.0001)
|
|
|
|
|
stats = bt.run()
|
|
|
|
|
|
2026-06-21 17:56:41 +01:00
|
|
|
print(stats)
|