//@version=5
library("MyLibrary")
export gaussian_kernel(series float src, int lookback) =>
var float sum = 0.0
var float weight_sum = 0.0
for i = 0 to lookback - 1
weight = exp(-i * i / (2 * lookback * lookback))
sum += src[i] * weight
weight_sum += weight
sum / weight_sum
import qpace as qp
import my_library as pine
ohlcv = qp.Ohlcv.read_csv("btc.csv")
ctx = qp.Ctx(ohlcv, "BTC_USD")
gaussian = pine.indicator.gaussian_kernel(ctx, ohlcv.close, 14)
Error on bar 5000: Function takes too long to execute (> 500ms)
at #main:14
Script is too long. It exceeds 1000 lines of code.
at #main:1001
Your subscription is ending. All running strategies will stop working.
at #random:42069
Cannot backtest on more than 20 000 bars.
at #strategy
//@version=5
library("PineLibrary")
export gaussian_kernel(series float src, int lookback) =>
var float sum = 0.0
var float weight_sum = 0.0
for i = 0 to lookback - 1
weight = exp(-i * i / (2 * lookback * lookback))
sum += src[i] * weight
weight_sum += weight
sum / weight_sum
import my_library as pine
exchange = qp.Exchange("binance")
ohlcv = qp.ohlcv("BTC_USD", "15m", live=True)
def on_bar(bar):
signal = pine.my_strategy(ctx)
exchange.signal(signal)
discord.signal(signal)
telegram.signal(signal)
ohlcv.on_bar(on_bar)
import my_library as pine
optimizer = qp.Optimizer.strategy(pine.my_strategy)
best_params, metrics = optimizer.fit()
pprint(metrics)
{
"sharpe_ratio": 1.5,
"max_drawdown": 0.1,
"win_rate": 0.6,
"profit_factor": 2.5,
}
$ npm install qpace -g
$ qpace login
$ qpace init
$ qpace build python
$ qpace build node
$ qpace build web