I like this one:


Code
#include <profile.c>

var rad(var degrees) { return degrees*PI/180; }
var rcos(var degrees) {	return cos(rad(degrees)); }
var rsin(var degrees) {	return sin(rad(degrees)); }

var DecyclerOscillator(var* Close, var HPPeriod1, var HPPeriod2)
{
	return HighPass2(Close, HPPeriod2) - HighPass2(Close, HPPeriod1);
}

var EvenBetterSinewave(vars Close, var HPLength, SSFLength)
{
	var Wave;
	var Pwr;
		
	var* HP = series(HighPass1(Close, HPLength), 2);
	if (HP[0] == 0) HP[0] = 1;
	
	var* Filt = series(Smooth(HP, SSFLength), 3);	
	Wave = SMA(Filt, 3);
	Pwr = (Filt[0]*Filt[0] + Filt[1]*Filt[1] + Filt[2]*Filt[2]) / 3;
	
	return Wave / sqrt(Pwr);
}

function run()
{
	set(PLOTNOW|PARAMETERS|PRELOAD);
	BarPeriod = 1;
	LookBack = 2000;
	StartDate = 20210701;
	EndDate = 20210816;

	Capital = 2000;
	Lots = 1;
	LotAmount = 5;
	Amount = 0;
	MaxLong = 5;
	MaxShort = 5;
	
	vars closes = series(priceClose());
	var close = closes[0];
	
	//var* smooth = series(Smooth(closes, 8));
	//var zma = ZMA(closes, 9);
	//var szma = ZMA(smooth, 6);
	
	//var osc = DecyclerOscillator(closes, 5, 9);
	//var ebsw = EvenBetterSinewave(closes, 4, 8);
	
	var ebsw = EvenBetterSinewave(closes, 4, 7);
	var stoch = StochEhlers(closes, 22, 152, 11);
	var* stochS = series(stoch);
	
	if (
		ebsw > .02
		&& stoch < .8
		&& rising(stochS)
	) enterLong();
	
	if (
		ebsw < -.91
		&& stoch > .2
		&& falling(stochS)
	) enterShort();

	//if (osc < 0) exitLong();	
	//if (osc > 0) exitShort();	
		
	
	// plot("ZMA", zma, MAIN, DARKBLUE);
	// plot("SZMA", szma, MAIN, CYAN);
	
	
	//if (osc > 0) osc = .5; else osc = -.5;
	
	plot("EBSW", ebsw, NEW, CYAN);
	plot("Stoch", stoch, NEW, MAGENTA);
	
	//plot("Decycler", osc, NEW, ORANGE);
	
	
	// plot("EBSW", ebsw, NEW, BLACK);	
}


Quote

Monte Carlo Analysis... Median AR 381%
Win 1800$ MI 1213$ DD 1573$ Capital 2504$
Trades 3236 Win 47.3% Avg +5.6p Bars 60
CAGR 17866.37% PF 1.12 SR 0.00 UI 0% R2 1.00


[Linked Image]



Simple setup.
Plenty of room for improvements.
High signal count.
Almost manageable drawdown.
Scalable.
Fast feedback.
Reasonably consistent.
Magical numbers ain't that magical.