バックテスト
Rhaiのエントリー/イグジットロジックでOHLCVシリーズ上の戦略を実行し、Sharpe、Sortino、ドローダウン、勝率、利益因子、PnL、取引数を取得。
バックテストは価格シリーズ(OHLCV)、Rhaiの戦略(インラインまたはファイル)、オプションのインジケーター、初期資本、パラメータを取ります。パフォーマンス指標を返します:Sharpe、Sortino、最大ドローダウン、勝率、利益因子、合計PnL、取引数。セッション間で比較するため結果を保存します。
戦略 (Rhai)
戦略はRhaiスクリプトで、価格(close[0])、インジケーター(ind["name"][0])、現在のポジションを読み取り、決定を返します:long()、short()、flat()またはdecision(...)。
// 例:移動平均クロスオーバー
if ind["ema_short"][0] > ind["ema_long"][0] {
long()
} else if ind["ema_short"][0] < ind["ema_long"][0] {
short()
} else {
flat()
}
実験比較機能
ベース実験(対照)とN個のバリアントを定義し、それぞれ1つの要素を入れ替えます:戦略、インジケーター、fee_pct、パラメータ。他は固定したままバリアントを並行実行します。
検索と永続化
すべてのバックテストはスペックと指標と共に保存されます。検索はフィルター(フィールド、演算子、値)とソートをサポート — セッション間で実験を比較する基盤:例えばSharpeが1.0より大きく、ドローダウンが20%未満でフィルター。