Risk On Risk Off Trading Strategy (Amibroker Code)

You find the original article by clicking here.

Trading rules in plain English

  • We make a risk on risk off “index” of junk bonds (JNK), gold (GLD), Brazilian stocks (EWZ), Swiss Francs (FXF), Japanese Yen (FXY), and Bitcoin (BTC).
  • When at least three of the mentioned assets are over its 200-day moving average, we are in “risk on” mode.
  • When less than three assets are above its 200-day moving average, the mode is “risk off”.

Amibroker code

setOption("initialEquity",100000);
Leverage=1 ;
SetOption("accountmargin",100/leverage);
SetPositionSize(99.75*leverage,spsPercentOfEquity);
setOption("MaxOpenPositions",1);
setOption("holdminbars",1);
SetTradeDelays( 0, 0, 0, 0 ); 

Fremmed=Foreign("JNK","close",fixup=1);
Fremmed2=Foreign("GLD","close",fixup=1);
//Fremmed3=Foreign("EWZ","close",fixup=1);
Fremmed4=Foreign("SPY","close",fixup=1);
//Fremmed5=Foreign("FXF","close",fixup=1);
//Fremmed6=Foreign("FXY","close",fixup=1);
Fremmed7=Foreign("EEM","close",fixup=1);
Fremmed8=Foreign("BTC-USD","close",fixup=1);

fremmedjnk = IIf(fremmed>MA(fremmed,oddis),1,0);
fremmedgld = IIf(fremmed2>MA(fremmed2,oddis),1,0);
//fremmedewz = IIf(fremmed3>MA(fremmed3,oddis),1,0);
fremmedspy = IIf(fremmed4>MA(fremmed4,oddis),1,0);
//fremmedfxf = IIf(fremmed5>MA(fremmed5,oddis),1,0);
//fremmedfxy = IIf(fremmed6>MA(fremmed6,oddis),1,0);
fremmedeem = IIf(fremmed7>MA(fremmed7,oddis),1,0);
fremmedbtc = IIf(fremmed8>MA(fremmed8,oddis),1,0);


AllAdded=sum(fremmedjnk+fremmedgld+fremmedspy+fremmedeem+fremmedbtc,1);
Plot(AllAdded,"Test Sector",colorRed,styleLine);

Buy = AllAdded>=3  ;
BuyPrice=Close;
Sell = AllAdded<2 ;
SellPrice=Close;