pft_man:
Добрый день. У меня такой вопрос. Немного изменил эту стратегию, логика работы таже, за исключением того, что расчёты происходят не по событию окончания свечки, а по событию изменения свечки. Как только цена достигает определённого уровня, регистрируется и отправляется ордер. С тестовым квиком всё работает, но с боевым квиком как только исполняется ордер (заключается сделка), сразу всё падает, появляется новое окно No Source Available и появляется вот такая ошибка. Причём ни на какую-то конкретную строку в коде она не указывает. Никак не могу разобраться, с чем это связано?
В Вашей стратегии встречается код:
this.AddInfoLog("trailing-stop = {0}, current step = {1}, level = {3}",
trailingStop.ToString(), currentStep.ToString(), level.ToString());
Ошибка, о которой Вы пишите возникает из за того, что не найдено значение {3} для строки форматирования. Т.е. у Вас три аргумента передается:
trailingStop.ToString(), currentStep.ToString(), level.ToString()
а в строке форматирования требуется и четвертый элемент (индекс 3).
Чтобы код работал, нужно исправить строку форматирования (видимо, по ошибке вклинился индекс 3 в место 2), правильно так:
this.AddInfoLog("trailing-stop = {0}, current step = {1}, level = {2}",
trailingStop.ToString(), currentStep.ToString(), level.ToString());
И таких кусков кода у Вас несколько.