StopLoss и TakeProfit

Подробнее
7 года 4 мес. назад #949 от pNapalm
pNapalm создал тему: StopLoss и TakeProfit
Добрый день.
Только начинаю изучать AmiBroker и столкнулся со следующей проблемой:
Тестирую на 5-минутной истории простейший сигнал покупки Фьюча РТС при RSI менее 30.
В настройках Бектеста устанавливаю значение стопа 200пп и тейка 500пп.
В отчете тейк и стоп практически всегда совершенно не такие по размеру.
Проблема в том что тейк и стоп учитываются только если Close свечи удовлетворяют условиям стопа или тейка. При этом в отчет записывается результат именно по значению Close.
Если же в настройках тестера для тейка и стопа указать учитывать значения High или Low то и количество профитных и стоповых сделок кардинально меняется и размеры стопа и тейка тоже.
Как сделать так, что если например High свечи был выше тейка и даже если Close был ниже, то сделка закрывается по тейку и в отчет идет профит именно в размере указанного тейка, а не по значению High?
И точно также для стопа - если Low свечи ниже стопа (т.е. если в какой-либо момент времени значения удовлетворяли стопу) то в отчет идет стоп именно в размере указанного стопа?
И третий случай если на одной свече например по теням или по телу свечи были условия и для тейка и для стопа, то считается что сработал стоп.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 4 мес. назад #950 от admin
admin ответил в теме StopLoss и TakeProfit
Скрипт в студию! )

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 4 мес. назад #951 от pNapalm
pNapalm ответил в теме StopLoss и TakeProfit
Сначала было так:

Buy = Cross( RSI(14), 20 );
Sell = Cross( RSI(14), 80 );

Значения SL и TP указывал в настройках Бэктеста. Получалась ерунда полная.
За полдня чтения инструкции и форумов пришел к виду:

Buy = Cross( RSI(14), 20 );
BuyPrice = Open; // Запоминаем цену входа
Sell = 0; // Условий для продажи нет
ApplyStop(stopTypeLoss, stopModePoint, 200, ExitAtStop = 1, Volatile = False, ReEntryDelay = 0); // Стоп лосс, 200пп, выходить немедленно, повторный вход возможен на этой же свечке.
ApplyStop(stopTypeProfit, stopModePoint, 500, ExitAtStop = 1, Volatile = False, ReEntryDelay = 0); // Тейк профит, 500пп, выходить немедленно, повторный вход возможен на этой же свечке.

Вроде работает.
Но хотелось бы сделать так, чтобы условия для TP и SL начинали бы проверяться сразу на свече входа, а не на следующей за ней.
Плюс еще не знаю как сделать так, чтобы если на одной свече выполняются условия и для TP и для SL, то в результаты теста записывался бы SL.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 4 мес. назад - 7 года 4 мес. назад #952 от admin
admin ответил в теме StopLoss и TakeProfit
pNapalm, добрый день.

Есть 2 соображения

1. Работа внутри свечи, чего вы хотите добиться, обычно всегда связана со сложностями на бектесте. Более того, результаты расчета в амиброкере могут противоречить реальной торговле.

Представьте себе такую систему: если цена меньше 120, то шорт, если больше 121, то лонг. и у вас на экране свеча с Hi 122, а с Lo 119. Вопрос - что было раньше
(Lo или Hi) и какая позиция должна быть открыта? Неизвестно. И такие двусмысленности будут практически в любом алгоритме за малым исключением. Поэтому по закрытым свечам понадежней.

2. Насчет apply_stop. Насколько я понимаю, applystop - это код afl, зашитый в амиброкер. Наверное он написан хорошо и правильно, но у меня с ним всегда были какие-то проблемы. Посему написал этот код сам для стопа-лосса и тейк-профита. Когда текст перед глазами, а уровни на графике рисуются, мне понятнее и радостнее. Вот пример для скользящего стопа , а тейк я где-то в этом форуме уже постил. Если сами пишете стоп или тейк - тут у вас полная свобода - какое сработывание нужно, такое и делаете.

Плюс еще не знаю как сделать так, чтобы если на одной свече выполняются условия и для TP и для SL, то в результаты теста записывался бы SL.

Попробуйте поуправлять порядком проверки условий на тп и сл.
Последнее редактирование: 7 года 4 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Модераторы: admin