And here is a strategy which uses the Adaptive Cyber Cycle (Cyber Cycle's alpha1 parameter is based on the full Dominant Cycle). To make this strategy profitable you should run it in reverse mode (again: do exactly the opposite what Mr. Ehlers suggests :)) and combine it with a trailing stop exit method which is not included in the code because in TS I simply combine the strategy with the standard PercentTrailing strategy. A good result can be achieved on GBPJPY, time frame 240 min and a percent trailing exit which triggers when the profit exceeds 30 pips and risks 10% from the profit.

/////////////////////////////////////////////////////////////////////
Inputs: Price((H+L)/2) ,alpha(.07), Lag(9), Reverse(false);

Vars: Smooth(0),Cycle(0),Q1(0),I1(0),DeltaPhase(0),MedianDelta(0),DC(0),InstPeriod(0),Period(0),Length(0),Num(0),Denom(0),alpha1(0),Signal(0);

Smooth = (Price + 2*Price[1] + 2*Price[2] + Price[3])/6;
Cycle = (1 -.5*alpha)*(1 - .5*alpha)*(Smooth - 2*Smooth[1] + Smooth[2]) + 2*(1 - alpha)*Cycle[1] - (1 - alpha)*(1 - alpha)*Cycle[2];
If currentbar < 7 then Cycle = (Price - 2*Price[1] + Price[2]) / 4;

Q1 = (.0962*Cycle + .5769*Cycle[2] - .5769*Cycle[4] - .0962*Cycle[6])*(.5 + .08*InstPeriod[1]);
I1 = Cycle[3];
If Q1 <> 0 and Q1[1] <> 0 then DeltaPhase = (I1/Q1 - I1[1]/Q1[1]) / (1 + I1*I1[1]/(Q1*Q1[1]));
If DeltaPhase < 0.1 then DeltaPhase = 0.1;
If DeltaPhase > 1.1 then DeltaPhase = 1.1;
MedianDelta = Median(DeltaPhase, 5);
If MedianDelta = 0 then DC = 15 else DC = 6.28318 / MedianDelta + .5;
InstPeriod = .33*DC + .67*InstPeriod[1];
Period = .15*InstPeriod + .85*Period[1];
alpha1 = 2 / (Period + 1);
Signal = (1 - .5*alpha1)*(1 - .5*alpha1)*(Smooth - 2*Smooth[1] + Smooth[2]) + 2*(1 - alpha1)*Signal[1] - (1 - alpha1)*(1 - alpha1)*Signal[2];
If currentbar < 7 then Signal = (Price - 2*Price[1] + Price[2]) / 4;

If Reverse then begin
If Signal Crosses Over Signal[1] then Buy Next Bar on Open;
If Signal Crosses Under Signal[1] then Sell Short Next Bar on Open;
end Else begin
If Signal Crosses Under Signal[1] then Buy Next Bar on Open;
If Signal Crosses Over Signal[1] then Sell Short Next Bar on Open;
end;

If MarketPosition = 1 and PositionProfit < 0 and BarsSinceEntry > 8 then Sell This Bar;
If MarketPosition = -1 and PositionProfit < 0 and BarsSinceEntry > 8 then Buy To Cover This Bar;
////////////////////////////////////////////////////////////////////////////////