Originally Posted By: Stan
Это корявый скрипт!! Скорее всего скаченные где то на форуме. Там ошибка в коде! Где то это уже рассматривалось


Я сам скрипт писал с нуля на C#. Сейчас идет отладка и в процессе возникают вопросы.

Скрипт без сигналов выглядит так
Code:
using System.Collections.Generic;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.Script.Optimization;
using TSLab.Script.Helpers;
using TSLab.DataSource;
using System;

public class HiLoSample : IExternalScript
{
    public virtual void Execute(IContext ctx, ISecurity source)
    {
        // Торговля.
        for (int i = ctx.TradeFromBar + 1; i < barsCount; i++)
        {

            IPosition LE = source.Positions.GetLastActiveForSignal("LE");
            IPosition She = source.Positions.GetLastActiveForSignal("ShE");
            if ()
            { }
            else
            {
                if (LE == null )
                {
                    if () source.Positions.BuyAtMarket(i+1, 1, "LE");
                    else if () source.Positions.BuyAtMarket(i+1 , 1, "LE");
                    else if () source.Positions.BuyAtMarket(i+1 , 1, "LE");
                    else if () source.Positions.BuyAtMarket(i+1 , 1, "LE");
                    else if () source.Positions.BuyAtMarket(i+1 , 1, "LE");
                }
                else if (LE != null)
                {
                    if () 
                    {
                        if () LE.CloseAtMarket(i+1 , "LX");
                        else if () LE.CloseAtMarket(i+1 , "LX");
                        else if () LE.CloseAtMarket(i+1 , "LX");
                        else if () LE.CloseAtMarket(i+1 , "LX");
                        else if () LE.CloseAtMarket(i+1 , "LX");
                    }
                    if () LE.CloseAtMarket(i+1 , "LX");
                    else if () LE.CloseAtMarket(i+1 , "LX");
                    else if () LE.CloseAtMarket(i+1 , "LX");
                }

                if (She == null)
                {
                    if () source.Positions.SellAtMarket(i+1 , 1, "ShE");
                    else if () source.Positions.SellAtMarket(i+1 , 1, "ShE");
                    else if () source.Positions.SellAtMarket(i+1 , 1, "ShE");
                    else if () source.Positions.SellAtMarket(i+1 , 1, "ShE");
                    else if () source.Positions.SellAtMarket(i+1 , 1, "ShE");
                }
                else if (She != null)
                {
                    if () 
                    {
                        if () She.CloseAtMarket(i+1 , "Shx");
                        else if () She.CloseAtMarket(i+1 , "Shx");
                        else if () She.CloseAtMarket(i+1 , "Shx");
                        else if () She.CloseAtMarket(i+1 , "Shx");
                        else if () She.CloseAtMarket(i+1 , "Shx");
                    }
                    if () She.CloseAtMarket(i+1 , "Shx");
                    else if () She.CloseAtMarket(i+1 , "Shx");
                    else if () She.CloseAtMarket(i+1 , "Shx");
                }
            }
        }
    }
}