using System.Collections.Generic; using System.Text; using System.Drawing; using WealthLab; using WealthLab.Indicators; namespace WealthLab.Strategies { public class MyStrategy : WealthScript { protected override void Execute() { for(int bar = GetTradingLoopStartBar(1); bar < Bars.Count; bar++) { if (IsLastPositionActive) { Position p = LastPosition; if (p.EntrySignal.Contains("Group3|")) { double Stop = p.EntryPrice * (1 - 1 / 100.0d); SellAtStop(bar + 1, p, Stop, "Group3"); } if (p.EntrySignal.Contains("Group4|")) { double Stop_2 = p.EntryPrice * (1 + 1 / 100.0d); CoverAtStop(bar + 1, p, Stop_2, "Group4"); } if (p.EntrySignal.Contains("Group1|")) { double Target = p.EntryPrice * (1 + 1 / 100.0d); SellAtLimit(bar + 1, p, Target, "Group1"); } if (p.EntrySignal.Contains("Group2|")) { double Target_1 = p.EntryPrice * (1 - 1 / 100.0d); CoverAtLimit(bar + 1, p, Target_1, "Group2"); } } else { Position p = LastPosition; {if (Positions.Count == 0) { BuyAtMarket(bar + 1, "Group1|Group3|");} else {if (LastActivePosition != null) { if ( p.PositionType == PositionType.Long ) { if (LastActivePosition.NetProfitAsOfBar(bar) <= 0) { ShortAtMarket(bar + 1, "Group2|Group4|");} else { BuyAtMarket(bar + 1, "Group1|Group3|");} } else {if (LastActivePosition.NetProfitAsOfBar(bar) <= 0) { BuyAtMarket(bar + 1, "Group1|Group3|");} else { ShortAtMarket(bar + 1, "Group2|Group4|");} } } } } } } } } }