Блог им. InsiderHSE

Как отобразить сделки в Wealth-Lab?

Всем привет! Столкнулся с тем, что нужно отобразить список сделок в какой-либо программе для наглядности. То есть у меня есть txt файл, вида:

время; покупка/продажа; цена; объем
время; покупка/продажа; цена; объем
.......................................................
время; покупка/продажа; цена; объем

Нужно нанести эти сделки на график. Можно просто маркерами, но в идеале желательно чтобы программа понимала, что это сделки и считала p&l.

Пробовал использовать для этого Wealth-Lab, но не могу разобраться, как там совершать сделки по определенной конкретной цене? если использовать BuyAtLimit, то он, например, в случае если свеча открылась ниже этой цены, ок купит по цене открытия, а не по моей цене. Может кто знает, как загнать туда сделки строго по определенным ценам? Или может есть другие подходящие программы для моей задачи? Амиброкер?

Просьба, если не сложно, поднять на главную, т.к. вопрос думаю может быть интересен не только мне.

На всякий случай, привожу код WL, который использую:

public class HistoryDeal
    {
        public DateTime Time;
        public double Price;
        public int Volume;
        public string Type;
    }
    
    public class MyStrategy: WealthScript
    {
        protected override void Execute()
        {
            ClearDebug();
            string[] text = File.ReadAllLines(«C:/Users/Юзер/Desktop/WLD/Trades.txt»);
            HistoryDeal[] deals = new HistoryDeal[text.Length];
            for(int i = 0; i < text.Length; i++)
            {
                string[] parts = text[i].Split(';');
                HistoryDeal d = new HistoryDeal();
                d.Time = DateTime.FromOADate(Double.Parse(parts[0]));
                d.Type = parts[1];
                d.Price = Double.Parse(parts[2]);
                d.Volume = Int32.Parse(parts[2]);
                deals[i] = d;
            }
            
            int j = 0;
            for(int bar = 1; bar < Bars.Count-1; bar++)
            {
                if(j>=deals.Length-1) continue;
                while(deals[j].Time < Date[bar])
                {
                    j++;
                    if(j>=deals.Length) continue;
                }
                while(deals[j].Time < Date[bar+1])
                {
                    if(deals[j].Type == «Buy»)
                    {
                        if (IsLastPositionActive)
                        {
                            bool rez = CoverAtLimit(bar,LastPosition,deals[j].Price);
                        }
                        else
                        {
                            Position rez = BuyAtLimit(bar,deals[j].Price);
                        }
                    }
                    else if(deals[j].Type == «Sell»)
                    {
                        if (IsLastPositionActive)
                        {
                            bool rez = SellAtLimit(bar,LastPosition,deals[j].Price);
                        }
                        else
                        {
                            Position rez = ShortAtLimit(bar,deals[j].Price);
                        }
                    }
                    j++;
                }
            }
        }
    }
39 | ★1

Читайте на SMART-LAB:
Фото
S&P 500: Момент истины для быков
Индекс S&P 500 после короткой коррекции вновь пошёл на штурм исторической области сопротивления 6924–6942. Покупатели решительно атакуют этот...
Фото
Инвест идея по тренду длиной в 1 день или бесконечность - шанс заработать с минимальным риском?
Новый год — время новых инвест идей спекулятивного характера Держите одну из них (сам взял сегодня на спекулятивный счет, скину если алюминий...
Чего ждать в новом 2026 году? #SOFL_тренды
Во первых, поздравляем всех наших читателей с наступившим 2026 годом, а во вторых, возвращаемся с интересными постами, чтобы вам было, что почитать...

теги блога InsiderHSE

....все тэги



UPDONW
Новый дизайн