Самый простой пример: using System; using System.Collections.Generic; using System.Linq; using System.Text; using TSLab.Script; using TSLab.Script.Handlers; using TSLab.Script.Optimization; using TSLab.Script.Helpers;
namespace HourStrategy { public class TestScript : IExternalScript {
#region IExternalScript Members
public void Execute(IContext ctx, ISecurity sec) {
for (int i = 1; i < sec.Bars.Count; i++) { //цена предыдущего закрытия выше текущего if (sec.ClosePrices[i] < sec.ClosePrices[i - 1]) { //проверка , что открыта хотя бы одна позиция if (sec.Positions.LastPositionActive != null) //закрытие "по рынку-то есть по цене открытия i+1 бара" sec.Positions.LastPositionActive.CloseAtMarket(i + 1, "Close"); //Это стоп ордер-стоп цена-закрытие предыдущего бара sec.Positions.BuyIfGreater(i + 1, 1, sec.ClosePrices[i - 1], "Long"); }