| Overall Statistics |
|
Total Trades 8 Average Win 12.41% Average Loss -4.06% Compounding Annual Return -7.655% Drawdown 17.500% Expectancy 0.014 Net Profit -0.810% Sharpe Ratio 0.126 Probabilistic Sharpe Ratio 36.950% Loss Rate 75% Win Rate 25% Profit-Loss Ratio 3.06 Alpha 0.131 Beta 0.338 Annual Standard Deviation 0.491 Annual Variance 0.241 Information Ratio 0.441 Tracking Error 0.604 Treynor Ratio 0.182 Total Fees $1659.96 Estimated Strategy Capacity $450000.00 Lowest Capacity Asset BTCUSD E3 |
namespace QuantConnect
{
public class HyperActiveFluorescentOrangeFly : QCAlgorithm
{
private string ticker = "BTCUSD";
private int startingCash = 100000;
int fastPeriod = 45;
int mediumPeriod = 95;
public decimal price;
public decimal usd; //amount of USD in our cash book
ExponentialMovingAverage fastMA;
ExponentialMovingAverage mediumMA;
public override void Initialize()
{
//fastPeriod = Convert.ToInt32(GetParameter("fastPeriod"));
//mediumPeriod = Convert.ToInt32(GetParameter("mediumPeriod"));
SetStartDate(2021, 06, 01);
//SetEndDate(2015,1,1);
//SetBrokerageModel(BrokerageName.Bitfinex, AccountType.Margin);
SetBrokerageModel(BrokerageName.Bitfinex, AccountType.Cash);
//SetCash(startingCash);
//SetAccountCurrency("USDT");
SetCash(100000);
//var _crypto = AddCrypto(ticker, Resolution.Hour, Market.Bitfinex, true, 1);
var _crypto = AddCrypto(ticker, Resolution.Hour, Market.Bitfinex);
//_crypto.BuyingPowerModel = SecurityMarginModel(3.3)
fastMA = EMA(ticker, fastPeriod, Resolution.Hour);
mediumMA = EMA(ticker, mediumPeriod, Resolution.Hour);
SetBenchmark(ticker);
SetWarmUp(200);
}
/// OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
/// Slice object keyed by symbol containing the stock data
public override void OnData(Slice data)
{
if (!mediumMA.IsReady) {
return;
}
price = data[ticker].Price;
if (!Portfolio.Invested )
{
if (fastMA > mediumMA) {
SetHoldings(ticker, 1);
}
}
else
{
if (fastMA < mediumMA)
{
Liquidate();
}
}
Plot("MA", "FAST", fastMA);
Plot("MA", "MEDIUM", mediumMA);
Plot("MA", "Price", price);
}
}
}