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

Lawrencevkim

Thinkorswim Coder
Модератор
Регистрация
12.06.14
Сообщения
1,181
Реакции
1,865
Lawrencevkim не предоставил никакой дополнительной информации.
Хочу представить вашему внимаю свой тестер стратегий и
индикаторов для платформы 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


Скрытое содержимое могут видеть только пользователь группы : Н/Д
 
Последнее редактирование:

Vladimir01

Новичок
Регистрация
04.04.14
Сообщения
22
Реакции
0
Vladimir01 не предоставил никакой дополнительной информации.
Помогите с тестером для
input length = 6;
def up = open <= close;
def down = open >= close;
plot c1 = sum(up,length)==length;
plot c2 = sum(down,length)==length;
c1.setPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
c2.setPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
Alert(condition = c1, text = "cond1", "alert type" = Alert.BAR, sound = Sound.Ding);
Alert(condition = c2, text = "cond2", "alert type" = Alert.BAR, sound = Sound.Ding);
 

Lawrencevkim

Thinkorswim Coder
Модератор
Регистрация
12.06.14
Сообщения
1,181
Реакции
1,865
Lawrencevkim не предоставил никакой дополнительной информации.

Вложения

  • NewStudy20STUDY.ts
    6.4 КБ · Просмотры: 57

sergei2304

Новичок
Регистрация
12.10.14
Сообщения
2
Реакции
0
sergei2304 не предоставил никакой дополнительной информации.
Друзья приветствую! Опять у меня неполадки с очередным индикатором стрелки рисует, а считать них не хочет. помогите пожалуйста .)))
 

Вложения

  • NewStudy0STUDY.ts
    5.9 КБ · Просмотры: 19

Lawrencevkim

Thinkorswim Coder
Модератор
Регистрация
12.06.14
Сообщения
1,181
Реакции
1,865
Lawrencevkim не предоставил никакой дополнительной информации.

Вложения

  • NewStudy0STUDY.ts
    5.9 КБ · Просмотры: 56

dandrejjj

Новичок
Регистрация
15.03.14
Сообщения
58
Реакции
48
dandrejjj не предоставил никакой дополнительной информации.
Lawrencevkim помоги пожалуйста с тестером на этот индюк. Заранее благодарю
 

Вложения

  • Новый текстовый документ (2).txt
    1.5 КБ · Просмотры: 39

asl123

Местный
Регистрация
08.02.15
Сообщения
427
Реакции
602
asl123 не предоставил никакой дополнительной информации.

Lawrencevkim

Thinkorswim Coder
Модератор
Регистрация
12.06.14
Сообщения
1,181
Реакции
1,865
Lawrencevkim не предоставил никакой дополнительной информации.

kupu11

Модератор
Регистрация
24.11.14
Сообщения
1,338
Реакции
1,493
kupu11 не предоставил никакой дополнительной информации.
это же мастер опшн, известный художник)) поищи в теме этого индюка я приделывал к нему тестер для прикола
художник художником, но у меня по нему более чем удачно получается торговать) почему все так не любят художественные индюки)) только что в тестере не прогнать)
 

VitaliySlon

Местный
Регистрация
16.03.15
Сообщения
243
Реакции
166
VitaliySlon не предоставил никакой дополнительной информации.
подскажите, что я не так сделал, тестер то считает, то нет вот пример вроде все одинаковое, может что-то неправильно сделал, только начал учиться прикручивать тестер upload_2015-6-28_15-40-32.png
вот индюк
 

Вложения

  • New_STUDY.ts
    6.2 КБ · Просмотры: 25

asl123

Местный
Регистрация
08.02.15
Сообщения
427
Реакции
602
asl123 не предоставил никакой дополнительной информации.
Может NaN получаться, например, от деления на ноль. Можно так попробовать:

def Up1 = if Price crosses below LowerLR and ShadowFilt then 1 else 0;
plot Up= if isnan(Up1) then 0 else Up1;

def Down1 = if Price crosses above UpperLR and ShadowFilt then 1 else 0;
plot Down = if isnan(Down1) then 0 else Down1;
 

kif

Модератор
Регистрация
20.08.14
Сообщения
4,543
Реакции
3,816
kif не предоставил никакой дополнительной информации.
подскажите, что я не так сделал, тестер то считает, то нет вот пример вроде все одинаковое, может что-то неправильно сделал, только начал учиться прикручивать тестер Посмотреть вложение 18942
вот индюк
Тестер не понимает языковые значения такие как "crosses above, crosses below и.т.д." поэтому их нужно заменять математическими знаками ">, <, =, <=, и.т.д "
 

Вложения

  • New_STUDY.ts
    6.2 КБ · Просмотры: 41

asl123

Местный
Регистрация
08.02.15
Сообщения
427
Реакции
602
asl123 не предоставил никакой дополнительной информации.
Тестер не понимает языковые значения такие как "crosses above, crosses below и.т.д." поэтому их нужно заменять математическими знаками ">, <, =, <=, и.т.д "
Вообще-то тестеру это по фиг. Он не знает как вычислялись Up и Down - он использует уже вычисленные значения. Единственная проблема в тестере - он не понимает NaN - если встречается хоть одно NaN, то все ITM, OTM, itmrate становятся NaN.
 

kif

Модератор
Регистрация
20.08.14
Сообщения
4,543
Реакции
3,816
kif не предоставил никакой дополнительной информации.
Вообще-то тестеру это по фиг. Он не знает как вычислялись Up и Down - он использует уже вычисленные значения. Единственная проблема в тестере - он не понимает NaN - если встречается хоть одно NaN, то все ITM, OTM, itmrate становятся NaN.
На счёт NaN я знаю, а вот почему он не хочет считать если в плотах прописаны "crosses above, crosses below" вот это я понять не могу.
 

kikos

Старейшина
Регистрация
23.09.14
Сообщения
4,554
Реакции
6,126
kikos не предоставил никакой дополнительной информации.
художник художником, но у меня по нему более чем удачно получается торговать) почему все так не любят художественные индюки)) только что в тестере не прогнать)
Я то же смотрю бывает такии индюки! Там главное не убрать рисовку а сделать так чтоб стрела остовалась когда входиш!!!
 

asl123

Местный
Регистрация
08.02.15
Сообщения
427
Реакции
602
asl123 не предоставил никакой дополнительной информации.
На счёт NaN я знаю, а вот почему он не хочет считать если в плотах прописаны "crosses above, crosses below" вот это я понять не могу.
Я думаю, что они тоже могут давать NaN, если предыдущее значение неизвестно.
 

VitaliySlon

Местный
Регистрация
16.03.15
Сообщения
243
Реакции
166
VitaliySlon не предоставил никакой дополнительной информации.
Может NaN получаться, например, от деления на ноль. Можно так попробовать:

def Up1 = if Price crosses below LowerLR and ShadowFilt then 1 else 0;
plot Up= if isnan(Up1) then 0 else Up1;

def Down1 = if Price crosses above UpperLR and ShadowFilt then 1 else 0;
plot Down = if isnan(Down1) then 0 else Down1;

Спасибо все получилось.

Тестер не понимает языковые значения такие как "crosses above, crosses below и.т.д." поэтому их нужно заменять математическими знаками ">, <, =, <=, и.т.д "

не, так тоже не заработал, но все равно спасибо
 

fitri

Заблокирован
Регистрация
02.09.14
Сообщения
20
Реакции
0
fitri не предоставил никакой дополнительной информации.
[QUOTE = "VitaliySlon, post: 88464, member: 8974"] tell me what I did wrong, the tester thinks, there's kind of an example are all the same, might have done something wrong, just started to learn to fasten the tester Посмотреть вложение 18942
 

VitaliySlon

Местный
Регистрация
16.03.15
Сообщения
243
Реакции
166
VitaliySlon не предоставил никакой дополнительной информации.
Верх Низ