• Тинькофф Банк-лучшие банковские продукты еще выгоднее
    Выбирайте продукт от банка Тинькофф
  • Уважаемые форумчане, друзья и посетители!
    Поступило предложение ( ссылка на обсуждение ) на сбор средств поддержания форума в рабочем состоянии с 1 июня ( оплата хостинга, бэкап ежедневный на другой хостинг и тд), отчетность будет предоставляться ежемесячно. Пока на ЮMoney ( яндекс деньги), доступно картой перевод, далее добавлю другие способы. Сумму перевода указывайте на ваш выбор исходя из своих возможностей.
    Форум продолжает свою работу благодаря Вашим пожертвованиям.

Вопросы программирования

Привет всем!
vladko, спасибо большое за подсказку, всё нормально работает.
Вопрос к уважаемым гуру :
в стратегии используется работа с тотал секундами.
(производятся действия по истечению определённого количества секунд, не смотря на текущие время и дату, поэтому только TotalSeconds)
пробовал так:
time=TimeSpan.FromTicks(DateTime.Now.Ticks).TotalSeconds;
и так:
time = DateTime.Now.Subtract(DateTime.MinValue).TotalSeconds;

Оба метода работают в рилтайме, но на бэктестах не работают.
Подскажите как использовать время, скажем тиков истории?

понимаю что для правильной работы и на рилтйаме и на бэектесте
нужно сделать так:
if (History)
time = DateTime.Now.Subtract(DateTime.MinValue).TotalSeconds;
else
time = ????????????????????
Но не пойму, что нужно влепить вместо вопросиков.
 
На истории конструкции Now не будут работать правильно. Там нужно оперировать значениями Time[0] для каждого тика на 1-тиковом графике. Или же прогонять стратегию на маркетреплее.
 
vladko сказал(а):
На истории конструкции Now не будут работать правильно. Там нужно оперировать значениями Time[0] для каждого тика на 1-тиковом графике . Или же прогонять стратегию на маркетреплее.  
На маркет реплее не очень удобно, т.к хотелось бы "поиграться" с оптимизацией.
Попробовал использовать такой вариант. не работает тоже :(
time = TimeSpan.FromTicks(Time[0].Ticks).TotalSeconds;
 
Хочу проанализировать инструмент (может быть любой) в разрезе времени на рост/падения. То есть бывает ли время когда инструмент, например, в 90% падает с 2 до 3 ночи. Думаю это будет интересно. В принципе это не должно быть сложно, возможно кто то уже это делал. У меня полностью не получается. Я разбиваю весь день на часы и если цена выросла то добавляю водин счетчик, если упала в другой и потом сравниваю. Подскажите може кто то делал что то похожое.
 
Еще один вопрос возможно кто то сталкивался. Хочу попрбывать свою стратегия для Ninja протестировать на Фортсе на Quik. В програмированние не очень силен какой программой это легче и лучше сделать ? Насколько знаю есть TS-Lab кажется тоже на С# но там же не Ninjascript и наверное код нужно будт полностью переписывать.
 
Kotyk сказал(а):
Еще один вопрос возможно кто то сталкивался. Хочу попрбывать свою стратегия для Ninja протестировать на Фортсе на Quik. В програмированние не очень силен какой программой это легче и лучше сделать ? Насколько знаю есть TS-Lab кажется тоже на С# но там же не Ninjascript и наверное код нужно будт полностью переписывать.  
Да, код придется полностью переписывать.
 
Kotyk сказал(а):
Еще один вопрос возможно кто то сталкивался. Хочу попрбывать свою стратегия для Ninja протестировать на Фортсе на Quik. В програмированние не очень силен какой программой это легче и лучше сделать ? Насколько знаю есть TS-Lab кажется тоже на С# но там же не Ninjasc
Пустить фид с квика в ниндзю, записать истоьрию и протестировать. такой вариант не подходит?
 
radsam сказал(а):
Пустить фид с квика в ниндзю, записать истоьрию и протестировать. такой вариант не подходит?  
В принципе для бектестинга подошел бы такой вариант, но потом все равно чтобы запустить на Quik придется переписывать код. Или можно потом торговать на Фортсе через Ninja? Что то в этом я сомневаюсь.
 
Kotyk сказал(а):
Подскажите какие программы на C# подойдут к Quik и наиболее простые ?  
Вопрос не имеет смысла. Если вы имеете в виду какие индикаторы/стратегии ниндзи подойдут для квика, то ответ - никакие.

Kotyk сказал(а):
В принципе для бектестинга подошел бы такой вариант, но потом все равно чтобы запустить на Quik придется переписывать код. Или можно потом торговать на Фортсе через Ninja? Что то в этом я сомневаюсь.  
Теоретически можно торговать из ниндзи на фортсе через квик.
 
Добрый день! Хотел спросить: можно ли в стратегии прописать, чтобы стоп ордер поднимался вместе с ростом прибыли?
Пример: стоплосс - 5 тиков
Рост цены составил 7 тиков, стоплосс поднялся на 5 тиков вверх.
Спасибо!
P.S. я начинающий, если, что не так - попрошу поправить.
 
Подскажите, знающие люди:
Код:
if (Bars.BarsSinceSession == 14 )
                {
                DrawHorizontalLine("Line1" + CurrentBar, Highs[0][HighestBar(Highs[0], 14)], Color.Green);
                V_line =Highs[0][HighestBar(Highs[0], 14)];
             
                DrawHorizontalLine("Line2" + CurrentBar, Lows[0][LowestBar(Lows[0], 14)], Color.Red); 
                N_line =Lows[0][LowestBar(Lows[0], 14)];
                } 
             
             
            if (GetCurrentAsk() >= V_line)
            {
            SetProfitTarget("", CalculationMode.Ticks, PT);
            SetStopLoss("", CalculationMode.Ticks, SL, false);
            EnterLongLimit(N, V_line+3*TickSize, "");
            }  
            if (GetCurrentBid() <= N_line )
            {
            SetProfitTarget("", CalculationMode.Ticks, PT);
            SetStopLoss("", CalculationMode.Ticks, SL, false);
            EnterShortLimit(N, N_line-3*TickSize, "");
              }
Получаю по 2 пары линий с каждой сессии:
Snimok1PNG_5696758_22797628.png

Проблема в том, что условия торгуются по линиям не своей сессии.
Как можно прописать ограничения (внутри дня)?
Как лучше это реализовать?
 
Вижу тут давно никто не появлялся, но все-же спрошу. Как в мастере стратегий подключить АТМ стратегию. Если это не возможно, то какой код вписать, чтобы можно было настроить частичное закрытие и перевод в БУ (стратегия безубытка в АТМ) Например: 3 лота открыли. 1 закрыли 10 пунктов, остальное в БУ, второй 20 и т.д
 
if(Close[0]>Open[0];
Hight[0]>Close[0];
Low[0]==Open[0]) Вопрос к нашим ПРОФИ "Как прописать определённое тело свечи (например два тика) и как прописать длину хвоста и место макс.объёма на хвосте с дыркой
 
Тело свечи - Math.Abs((Close[0]-Open[0])/TickSize)
А максимальный объем свечи так просто не напишешь. Его нужно считать отдельно.
 
if(Close[0]>Open[0];
Hight[0]>Close[0];
Low[0]==Open[0]) Вопрос к нашим ПРОФИ "Как прописать определённое тело свечи (например два тика) и как прописать длину хвоста и место макс.объёма на хвосте с дыркой
что такое хвост с дыркой))?
 
Назад
Верх Низ