» » Торговые роботы своими руками. Урок 04
июль 12 2016

Торговые роботы своими руками. Урок 04

В дальнейшем его можем усовершенствовать. Напишите, как вы хотите (видите его использование), я покажу как это запрограммировать. Сделать аналогичный торговый робот, но для Sell это домашнее задание.
Также на видео я показываю, как экспортировать созданные вами индикаторы (стратегии), как их устанавливать и самое главное показываю, как понять почему индикатор (стратегия) не устанавливается. Что там внутри архива….

ТАМ МОЖЕТ БЫТЬ ВШИТ ВРЕДОНОСНЫЙ КОД!!!

В результате урока вы научитесь, строить торговую стратегию на любых индикаторах (почти на любых). Если что-то не получается, напишите подробнее. Все равно где, можно тут под статьей в комментариях, можно в контакте, в фейсбуке или под видео. Я обязательно увижу и это может стать темой следующего занятия. Видео уроки буду готовить еженедельно. Буду подбирать материал и в выходные его выкладывать. Так что следите за новостями…
Просьба к вам, если не трудно поделиться этой информацией, покажите, что она вам интересна и нужна. Это будет стимулом для меня, делать новые уроки, стараться их сделать более полными и насыщенными. Я это уже давно все знаю и умею, они (уроки) нужны вам. Поэтому жмите кнопки, ставьте лайки, делитесь информацией…
Заранее благодарю С. Привалов

Комментарии

  1. Константин

    Константин

    17 июля 2016 22:24 Гости
    Сергей, добрый день!

    Подскажите, пожалуйста, почему кусок кода ниже работает таким образом, что открывает позицию по рынку при движении вверх SMA до момента смены направления движения SMA (где происходит закрытие, и открытие позиции вниз), хотя по логике вещей, код должен открывать новые позиции (или наращивать старую) на каждом новом баре. Получается, так работает сама функция EnterLong? В описании к ней не увидел этого свойства.
    И второй момент как раз касается того, что получается в этой функции зашито закрытие открытых позиций, поскольку мы не вызываем отдельно функцию закрытия.
    
    /// Called on each bar update event (incoming tick)
            /// </summary>
            protected override void OnBarUpdate()
            {
                // Condition set 1
                if (SMA(N)[1] < SMA(N)[0])
                {
                    EnterLong(DefaultQuantity, "");
                }
    
                // Condition set 2
                if (SMA(N)[1] > SMA(N)[0])
                {
                    EnterShort(DefaultQuantity, "");
                }
            }
    
    1. Константин

      Константин

      19 июля 2016 15:53 Гости
      Добрый день!
      Вопрос снимается, все есть в help по скриптам на NT.
  2. Константин

    Константин

    18 июля 2016 09:24 Гости
    Можно ли применить торгового робота к торгам в режиме Demo?
    В данном уроке Вы выбирали режим Симуляции, и открыв второй график получали на нем результат работы робота в режиме реального времени на искусственных данных. При подключении Demo и получении реальных котировок по инструменту у меня не получилось отобразить на графике результат работы робота. Возможно, есть какие-то дополнительные настройки?
    И сразу вопрос - в боевом режиме также не получится использовать робота для торговли?

    Еще один вопрос - в видео используется раскрашенная SMA. Подскажите, пожалуйста, каким образом раскрашивается кривая.
  3. Prival

    Prival

    19 июля 2016 08:25 Администраторы
    Да 100% можно применить на демо и в боевом режиме тоже. Что то не так у вас, посмотрите внимательно, может просто галочку не поставили запустить робота. Единственное ограничение что мне известно, это если Нинзя куплена в минимальном варианте, там нет возможности торговать роботами на реальном счете. На демо таких ограничений нет. Через 2 недели вернусь из отпуска если не получится постучитесь в скайп, там можно демонстрировать экран, разберемся вместе в чем причина.
    1. Константин

      Константин

      19 июля 2016 15:58 Гости
      Сергей, спасибо за ответ!
  4. Константин

    Константин

    11 августа 2016 13:27 Гости
    Сергей, добрый день!

    Прошу подсказать где ошибка.
    Есть кусок кода, в котором открывается позиция лонг, а далее ставится лимитный ордер на выход. При выполнении функции ExitLongLimit соответствующий объект iOrder остается в значении null. Также при вызове свойства AvgFillPrice присвоенного ранее объекта iOrder всегда получается 0.

    
     public class SKS001v1 : Strategy
     {
     #region Variables
     // Wizard generated variables
     private double sL = 100; // Default setting for SL
     private int contracts = 2; // Default setting for Contracts
     private IOrder entryOrder = null; //рыночный ордер
     private IOrder entryOrdersL = null; //ордер стоп-лос
    
     // User defined variables (add any user defined variables below) 
     double oppos_price = 0; // цена открытия позиции
     double stlos_price = 0; // цена стоп-лоса
     #endregion
    
     /// <summary>
     /// This method is used to configure the strategy and is called once before any strategy method is called.
     /// </summary>
     protected override void Initialize()
     {
     Add(SMA(N));
     SetProfitTarget("", CalculationMode.Ticks, TP);
     SetStopLoss("", CalculationMode.Ticks, SL, false);
    
     CalculateOnBarClose = false;
     }
    
     /// <summary>
     /// Called on each bar update event (incoming tick)
     /// </summary>
     protected override void OnBarUpdate()
     {
     entryOrder = EnterLong(contracts); //значение entryOrder присваивается
     oppos_price = entryOrder.AvgFillPrice; // но AvgFillPrice дает почему-то всегда 0 ???
     stlos_price = oppos_price - sL;
     entryOrdersL = ExitLongLimit(contracts,stlos_price); // значение entryOrdersL остается null ???
     }
     }
    
    1. Prival

      Prival

      15 августа 2016 13:51 Администраторы
      он не будет пустым когда выполнится
  5. Гость Alex

    Гость Alex

    10 ноября 2016 21:33 Гости
    Сергей приветствую вас .
    Подскажите для реала NT 7 , NT8 подходит ? то есть будет работать точно и корректно ?
    лично у вас есть работающие роботы на реле на СМЕ ?
    Какова цена курса ?
    1. Prival

      Prival

      10 ноября 2016 21:38 Администраторы
      NT7 и NT8 лучшие с моей точки зрения для работы и именно для реала. Я достаточно много платформ перебрал. NT8 по моей информации к концу месяца уже будет полностью готова для реала. Хотя есть кто уже и сейчас работает на ней.
      По поводу курсов постучитесь в скайп, поговорим. Видео есть, очень много, но они не оформлены ввиде красивого курса. Руки не доходят все аккуратно сделать. Порядка 80 видео у меня есть посвещенные программированию роботов

Оставить комментарий

  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent