В ниндзе во вкладке просмотра результатов многое криво или я не догнал. Зачем, скажите, это линия средней доходности? Внешний вид графика страшный. В других пунктах падающего списка появляются микротреугольники, которые хрен разглядишь
Не хватает графика с посделочным эквити, а не по дням как на скрине… В общем, вопрос: существует ли прожка, экспортирующая все данные из Ниндзи в тот же ексель, например, но в наглядном виде (с более наглядными графиками и по сделкам)?
Пират-трейд не предлагать, там многое криво, бедно и проект не развивается уже давно
День добрый Уважаемые господа
Хочу рассказать небольшую историю про то как мы писали софт для сферы трейдинга.
Это история покажет какие ошибки могут возникнуть.
Уверен кому-то будет полезно!
Я не писатель и не могу описать все детали по, этому буду предельно краток
Мы небольшой компанией решили как- то написать софт, для торговли на рынке американских фьючерсов. Дело было где-то в начале 2013 года, в тот момент уже была куча решений по типу TS-Lab и прочей лабуды, но если подумать, то приходит понимание того, что ты зависишь от компании, которая написала платформу для алготрейдинга и их техподдержки, которая нех…я не хочет работать.
И от тех идей, которые в принципе эта платформа позволит реализовать, ведь сначала кажется, что можно все, но наделе серьезную вещь там не реализуешь.
Поэтому, на ум приходит только нанимать программиста и писать свой софт с нуля. Только так ты будешь уверен в софте и безотказной работе, и если будут ошибки, то в этом виноват будешь ты сам.
//Читаем их Excel данные в массив List getParamsFromExcel(string filePath) { //С какой строки начинаем читать данные int start_from_row = 2; //Индекс колонки с Тикером int symbol_index = 1; //Индекс колонки с типом ордера int order_type_index = 2; //Индекс колонки с ценой входа int entry_price_index = 4; //Индекс колонки с ценой стопа int stop_price_index = 5; //Индекс колонки с временем входа int entry_time_index = 7; int current_index = start_from_row; //Текущий символ графика string read_symbol = Bars.Symbol; //Текущий считанный из Excel символ string current_symbol; //Список параметров считанный из Excell List result; result = new List(); //Переменная Excel приложение Excel.Application xlApp; //Переменная рабочая книга Excel.Workbook xlWorkBook; //Переменная рабочий лист Excel.Worksheet xlWorkSheet; //Переменная диапазон Excel.Range range; //Инициализируем переменные xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Open(filePath); xlWorkSheet = xlWorkBook.Worksheets.get_Item(1); range = xlWorkSheet.UsedRange; //Считываем тикер из Excel current_symbol = (string)(range.Cells[current_index, symbol_index] as Excel.Range).Value2; //Читаем тикеры, пока не наткнемся на пустую строку while(current_symbol != null) { //Если считанный тикер совпадает с тикером графика, на котором запустили робота if(read_symbol == current_symbol) { //Читаем и добавляем параметры ордера result.Add(new OrderParams { ePrice = Convert.ToDouble((range.Cells[current_index, entry_price_index] as Excel.Range).Value2), sPrice = Convert.ToDouble((range.Cells[current_index, stop_price_index] as Excel.Range).Value2), eTime = DateTime.FromOADate((range.Cells[current_index, entry_time_index] as Excel.Range).Value2), pType = ((string)(range.Cells[current_index, order_type_index] as Excel.Range).Value2 == "Short" ? PositionType.Short : PositionType.Long) }); } current_index++; //Считываем очередной тикер current_symbol = (string)(range.Cells[current_index, symbol_index] as Excel.Range).Value2; } //Закрываем рабочую книгу xlWorkBook.Close(true, null, null); //Выходим из приложения xlApp.Quit(); //Уничтожаем созданные объекты releaseObject(xlWorkSheet); releaseObject(xlWorkBook); releaseObject(xlApp); return result; } //Уничтожаем переданный объект private void releaseObject(object obj) { try { System.Runtime.InteropServices.Marshal.ReleaseComObject(obj); obj = null; } catch (Exception ex) { obj = null; } finally { GC.Collect(); } }
На сегодня невозможно получить демо счет и торговать через NinjaTrader новым клиентам брокера АМР ( логин и пароль не приходит на почту от CQG , лично проверил)); однако, для тех кто ранее открывался, будут поддерживать до их логического конца ( слив, вывод, и т. далее), а он будет.., пошлая карма брокера всеж вещь материальная и заразная… и она отразиться на их клиентах.
ИМХО, если начальство АМР хамит своему стратегическому партнеру NinjaTrader™, LLC, что говорить о простых клиентах в случае чего-то..., пошлют нах и плюнут в спину..
Ниже подробности конфликта, ссылка на форумы: Большого Майкла и Горячей линии NinjaTrader.