Рейтинг Брокеров от Binary Forum
check Перейти
check Перейти
check Перейти
check Перейти
check Перейти


Тестер Стратегий для Thinkorswim

Тема в разделе "Индикаторы", создана пользователем Lawrencevkim, 14 дек 2014.

  1. Lawrencevkim

    Lawrencevkim Thinkorswim Coder

    Регистрация:
    12 июн 2014
    Сообщения:
    1.029
    Симпатии:
    2.258
    Хочу представить вашему внимаю свой тестер стратегий и
    индикаторов для платформы Thinkorswim.

    eb068-clip-52kb.png

    Его нужно использовать в связке с любым индикатором выдающим стрелку как вход, т.е. нужно добавлять часть кода в тестер.
    Для его использования у вас должен быть минимальный навык работы с кодом индикаторов в TOS.

    Описание параметров:
    fc89b-clip-4kb.png

    expiry - количество свечей для экспирации после сигнала (1 = следующая свеча, 2 - вторая по счету и тд)
    secondcandle - вход на вторую свечу после проигрышной без мартина (использовать если expiry=1)
    moneycount - опция расчета потенциальной прибыли/убытка
    invest - размер ставки
    rpi - коэффициент возврата в случае выигрыша

    4e6a8-clip-4kb.png

    timetest - тестирование в выбранные промежутки времени (включить и выключить) часовой пояс - EST (GMT -5)
    trading open1, trading close1 - промежуток первого периода (по умолчанию первые два часа Европы)
    trading open2, trading close2 - промежуток второго периода (по умолчанию первые два часа Америки)

    Пример индикатора для теста (CCI):
    7c030-clip-19kb.png

    Название плота сигналов должны быть UP и DOWN. Результат условия if должна быть 1 или 0.

    На этом пока все. Надеюсь что тем, кто разбирается с кодированием индикаторов для TOS мой тестер будет полезен. Если есть вопросы, постараюсь ответить и помочь в этой теме. Спасибо.

    # by Lawrencevkim


     
    #1 Lawrencevkim, 14 дек 2014
    Последнее редактирование: 17 янв 2015
    FunTrade, Nemo777, Damon Salvatorski и 13 другим нравится это.
  2. kikos

    Регистрация:
    23 сен 2014
    Сообщения:
    4.082
    Симпатии:
    5.865
    Блин друг класно ты замутил! Я нет нет разбераюсь в ТОС и я тебе напесал в другой теме но ты не ответил. Спрошу сейчас ты очень хорошо сечёш в языке тос( просто можно сделать одну стрелку на совподение всех сигналов и будет счастье)
     
    m3ch4nik нравится это.
  3. kikos

    Регистрация:
    23 сен 2014
    Сообщения:
    4.082
    Симпатии:
    5.865
    только что закинул этот индюк в тос но не понял стрелки есть а как прокрутить историю
     
  4. Lawrencevkim

    Lawrencevkim Thinkorswim Coder

    Регистрация:
    12 июн 2014
    Сообщения:
    1.029
    Симпатии:
    2.258
    @kikos, история не крутится, все сигналы и так видно. Совпадение каких индикаторов чтоб давали стрелку?
     
  5. Divine_Light

    Заблокирован

    Регистрация:
    27 ноя 2014
    Сообщения:
    8
    Симпатии:
    0
    Спасибо, полезная штука, вот только было бы супер если бы неограниченное кол-во переменных Plot можно было бы вводить в настройках...
    У меня например в индикаторе 4 разных Plot отвечающих за вывод стрелок и называются DotUp, DotDn, Long, Short.
    Как быть в таком случае? Если первые 2 можно изменить на Up и Down, то как быть со вторыми?

    Как пример, объединить эти http://binary-forum.com/threads/Индикаторы-от-optionclick.168/
    4 индюка в 1 и прописать все переменные Plots в тестер, настроить его, время, входы, ставки и т.д. и уже смотреть на результат.
    Такое возможно?
    И еще, насчет
    secondcandle - вход на вторую свечу после проигрышной без мартина (использовать если expiry=1)
    Тут уместнее будет сделать наоборот, с мартином.
     
  6. Lawrencevkim

    Lawrencevkim Thinkorswim Coder

    Регистрация:
    12 июн 2014
    Сообщения:
    1.029
    Симпатии:
    2.258
    @Divine_Light, если нужно отдельно каждый плот посчитать, то надо четыре раза добавить тестер. Если все вместе, то объединить под одним названием: UP = if DotUp or Long or UP_1 then 1 else 0;


    По Мартину нужно отдельно писать расчеты и сразу забивать какой именно мартин (во сколько раз больше ставка)
     
  7. kikos

    Регистрация:
    23 сен 2014
    Сообщения:
    4.082
    Симпатии:
    5.865
    Привет друг!Скажи а как мне в этот тестер поставить другой индюк наподобе CCI
    declare lower;

    input period = 2;
    input overbought = 165;
    input oversold = 35;

    def RSI = reference RSI(period);
    plot cumRSI = Sum(RSI, 2);

    plot OB = overbought;
    plot OS = oversold;

    OB.SetDefaultColor(Color.RED);
    OS.SetDefaultColor(Color.RED);

    мне надо сверху в коде тестера убрать касаемое CCI и вставить своё? Если тебя не затруднит поставь и выложи код я просто на будущее буду использовать для сравнение!!
     
  8. Lawrencevkim

    Lawrencevkim Thinkorswim Coder

    Регистрация:
    12 июн 2014
    Сообщения:
    1.029
    Симпатии:
    2.258

    Вложения:

  9. kikos

    Регистрация:
    23 сен 2014
    Сообщения:
    4.082
    Симпатии:
    5.865
    Огромное тебе спосибо сейчас немного времени будет свободного посмотрю!!!!!:)
     
  10. Divine_Light

    Заблокирован

    Регистрация:
    27 ноя 2014
    Сообщения:
    8
    Симпатии:
    0
    Понял, спасибо :)
     
  11. Lawrencevkim

    Lawrencevkim Thinkorswim Coder

    Регистрация:
    12 июн 2014
    Сообщения:
    1.029
    Симпатии:
    2.258
    @Divine_Light, а индюки от optionclick все 50 на 50 без доп фильтра какого нибудь
     
  12. Andrei86

    Andrei86 Эксперт

    Регистрация:
    18 май 2014
    Сообщения:
    659
    Симпатии:
    623
    @Lawrencevkim, Спасибо за тестер. Теперь бы еще разобраться с ним. Вроде все поставил как в описании, но не работает почему то. Покажите пожалуйста, что не так в коде.
     

    Вложения:

  13. kikos

    Регистрация:
    23 сен 2014
    Сообщения:
    4.082
    Симпатии:
    5.865
    Привет друг я к тебе тоже с просьбой подскажи где я в коде допустил ошибку! Поставил индюк PercentR (вот оригенал)
    declare lower;

    input length = 14;
    input over_Sold = 20;
    input over_Bought = 80;

    def highest = Highest(high, length);
    def divisor = highest - Lowest(low, length);

    plot "%R" = if divisor equals 0 then 0 else 100 - 100 * (highest - close) / divisor;
    plot OverBought = over_Bought;
    plot OverSold = over_Sold;

    "%R".DefineColor("OverBought", GetColor(5));
    "%R".DefineColor("Normal", GetColor(7));
    "%R".DefineColor("OverSold", GetColor(1));
    "%R".AssignValueColor(if "%R" > over_Bought then "%R".color("OverBought") else if "%R" < over_Sold then "%R".color("OverSold") else "%R".color("Normal"));
    OverBought.SetDefaultColor(GetColor(8));
    OverSold.SetDefaultColor(GetColor(8));

    AddLabel("%R">=OverBought, "Продавать");
    AddLabel("%R"<=OverSold, "Покупать");
    Alert ("%R">=OverBought, "Продавать");
    Alert ("%R"<=OverSold, "Покупать");

    а у меня получается не то только перенёс его в подвал тогда показует в подвале ,как мне исправить чтоб стрелки были на графике[​IMG]
    За ранее спасибо за суету!!!
     

    Вложения:

  14. Andrei86

    Andrei86 Эксперт

    Регистрация:
    18 май 2014
    Сообщения:
    659
    Симпатии:
    623
    Все, сам разобрался.:)
     
    Lawrencevkim нравится это.
  15. Lawrencevkim

    Lawrencevkim Thinkorswim Coder

    Регистрация:
    12 июн 2014
    Сообщения:
    1.029
    Симпатии:
    2.258
    @kikos, да вроде все нормально, только убрал плот линий
     

    Вложения:

    kikos нравится это.
  16. kikos

    Регистрация:
    23 сен 2014
    Сообщения:
    4.082
    Симпатии:
    5.865
    Приогромнейшее тебе спасибо!
     
    Lawrencevkim нравится это.
  17. Andrei86

    Andrei86 Эксперт

    Регистрация:
    18 май 2014
    Сообщения:
    659
    Симпатии:
    623
    @Lawrencevkim, А к KimSignals2 Вы уж сделайте пожалуйста.:)
    И еще можно ли для этого.
     

    Вложения:

  18. kikos

    Регистрация:
    23 сен 2014
    Сообщения:
    4.082
    Симпатии:
    5.865
    Друг я не знаю откуда у тебя этот индюк но скажу тебе что тебя наглым оброзом и жёско надурили , это обычный PriceCanel только сделанны стрелки и увеличен параметр. Я тебе сейчас кину оригенал сделанный мной, а параметор ты меняй сам!
     

    Вложения:

  19. Lawrencevkim

    Lawrencevkim Thinkorswim Coder

    Регистрация:
    12 июн 2014
    Сообщения:
    1.029
    Симпатии:
    2.258
    @kikos, если он его не покупал, то думаю никто его не дурил))
     
  20. Lawrencevkim

    Lawrencevkim Thinkorswim Coder

    Регистрация:
    12 июн 2014
    Сообщения:
    1.029
    Симпатии:
    2.258
    Рекомендую всем для экспериментирования: менять тестирование по периодам, количество свечей для эскпирации и вход на вторую свечу (если эскпирация - 1 свеча)
     

    Вложения:

    Рамазан и Andrei86 нравится это.
Яндекс.Метрика