
Typ : Signal Name : DBS-March
Inputs: Ceil(60), Flr(20),
 {Additional inputs}
 TStop1(0), StopB1(999), StopV1(0),
 TStop2(0), StopB2(999), StopV2(0),
 TAdd3(0), AddB3(999), TStop3(0), StopB3(999), Alpha3(0), Beta3(0),
 TAdd4(0), AddV4(0), TStop4(0), StopV4(0), Alpha4(0), Beta4(0);
Var: X(0), Y(0), ZDelta(0), VarA(0), VarB(0), OldVarA(0), Pos(0), OpLoss(0), OpPro(0), BottDay(0), PeakDay(0),
 {Additional variables}
 Trigger(0), MaxReg(0);
Y = X;
 X = Stddev(Close, 30);
 ZDelta = (X – Y) / X;
If CurrentBar =1 then
 VarA = 20;
OldVarA = VarA;
 VarA = OldVarA * (1 + ZDelta);
 VarA = MaxList(VarA, Flr);
 VarA = MinList(VarA, Ceil);
 VarB = VarA * 0.5;
Buy (“Go Long”) tomorrow at Highest(High, VarA) Stop;
 Sell (“Go Short”) tomorrow at Lowest(Low, VarA) Stop;
 ExitLong (“Exit Long”) tomorrow at Lowest(Low, VarB) Stop;
 ExitShort (“Exit Short”) tomorrow at Highest(High, VarB) Stop;
{Additional trading}
If BigPointValue <> 0 and EntryPrice <> 0 Then Begin
 Trigger = (PositionProfit/BigPointValue) * 100 / EntryPrice;
 MaxReg = (MaxPositionProfit/BigPointValue) * 100 / EntryPrice;
 End;
If TStop1 = 1 Then Begin
 If BarsSinceEntry >= StopB1 and Trigger < StopV1 Then Begin
 If MarketPosition = 1 Then
 ExitLong (“Stop Long 1”) tomorrow at Open Stop;
 If MarketPosition = -1 Then
 ExitShort (“Stop Short 1”) tomorrow at Open Stop;
 End;
 End;
If TStop2 = 1 Then Begin
 If BarsSinceEntry >= StopB2 and Trigger < StopV2 Then Begin
 If MarketPosition = 1 Then
 ExitLong (“Stop Long 2”) tomorrow at Open Stop;
 If MarketPosition = -1 Then
 ExitShort (“Stop Short 2”) tomorrow at Open Stop;
 End;
 End;
If TAdd3 = 1 Then Begin
 If BarsSinceEntry >= AddB3 and 
 Trigger Crosses Over (Alpha3 + Beta3 * BarsSinceEntry) Then Begin
 If MarketPosition = 1 Then
 Buy (“Add Long 3”) tomorrow at Open Stop;
 If MarketPosition = -1 Then
 Sell (“Add Short 3”) tomorrow at Open Stop;
 End;
 End;
If TStop3 = 1 Then Begin
 If BarsSinceEntry >= StopB3 and 
 Trigger Crosses Under (Alpha3 + Beta3 * BarsSinceEntry) Then Begin
 If MarketPosition = 1 Then
 ExitLong (“Stop Long 3”) tomorrow at Open Stop;
 If MarketPosition = -1 Then
 ExitShort (“Stop Short 3”) tomorrow at Open Stop;
 End;
 End;
If TAdd4 = 1 Then Begin
 If MaxReg >= AddV4 and
 Trigger Crosses Over (Alpha4 + Beta4 * MaxReg) Then Begin
 If MarketPosition = 1 Then
 Buy (“Add Long 4”) tomorrow at Open Stop;
 If MarketPosition = -1 Then
 Sell (“Add Short 4”) tomorrow at Open Stop;
 End;
 End;
If TStop4 = 1 Then Begin
 If MaxReg >= StopV4 and
 Trigger Crosses Under (Alpha4 + Beta4 * MaxReg) Then Begin
 If MarketPosition = 1 Then
 ExitLong (“Stop Long 4”) tomorrow at Open Stop;
 If MarketPosition = -1 Then
 ExitShort (“Stop Short 4”) tomorrow at Open Stop;
 End;
 End;
{End additional trading}
Pos = MarketPosition;
 OpLoss = MaxPositionLoss;
 OpPro = MaxPositionProfit;
If OpLoss < OpLoss[1] And Pos <> 0 Then
 BottDay = BarsSinceEntry;
If OpPro > OpPro[1] And Pos <> 0 Then
 PeakDay = BarsSinceEntry;
{Percentage export}
If CurrentBar = 1 Then
 Print(File(“c:\Exam.txt”),”EntryDate”,”,”,”EntryPrice”,”,”,
 “MarketPosition”,”,”,”MaxPositionLoss”,”,”,”BottomDay”,”,”,
 “MaxPositionProfit”,”,”,”PeakDay”,”,”,”PositionProfit”,”,”,”LengthOfTrade”);
If Pos <> Pos[1] And Pos[1] <> 0 Then
 Print(File(“c:\Exam.txt”),EntryDate(1),”,”,EntryPrice(1),”,”,
 MarketPosition(1),”,”,(MaxPositionLoss(1)/BigPointValue)*100/EntryPrice(1),
 “,”,BottDay,”,”,(MaxPositionProfit(1)/BigPointValue)*100/EntryPrice(1),
 “,”,PeakDay,”,”,(PositionProfit(1)/BigPointValue)*100/EntryPrice(1),”,”,
 BarsSinceEntry(1));









