Стратегии и роботы > Трендовые индикаторы

Обсуждение, описание стратегий и роботов, идеи для стратегий
ilya0610
Сообщения: 16
Зарегистрирован: 03 май 2018, 21:20

Трендовые индикаторы

Непрочитанное сообщение ilya0610 » 23 май 2018, 18:45

Добрый день,

Как использовать трендовые индикаторы для открытия позиции в лонг?
Допустим, если у нас восходящий тренд, то открываем позицию и выставляем значения take_profit на проценте от открытой позиции, если тренд поменял свое направление и опустился ниже на 5 процентов от предыдущей позиции, то открыть еще одну позицию в лонг и новый take_profit.

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 361 раз
Контактная информация:

Re: Трендовые индикаторы

Непрочитанное сообщение evge » 24 май 2018, 19:41

1. Появился сигнал открываем позицию EnterLong(Lot) на количество Lot
2. Можно сразу после EnterLong(Lot) поставить BRS заявку, BreakingStop() с тейком в 1% и стопом большим
3. Если второй вариант не подходит, то просто проверяем CurrentPLper() >= 1%. Минус этого метода в том, что пока бар не закрыт он не работает. Т.е. проверка будет проходить только между итерациями OnUpdate();
4. Проверяем CurrentPLper() < -5%, делаем всё тоже самое с пункта 2 или 3 на выбор

пример в коде:

Код: Выделить всё

/**

**/

function Initialize()
{
   StrategyName = "LongTest";
   AddParameter("Lot", 1, "", 1);
   AddInput("I", Inputs.Candle, 1, true, "");
   LongLimit = 10;
   ShortLimit = -10;
}

function OnUpdate()
{

// здесь мы определяем что надо открывать позицию, т.е. получаем сигнал от индикаторов или другим способом.
var isLong = EMA(I, 10) > SMA(I, 100);

// Если сигнал и нет позиции - открываем Long на количество = Lot
if (isLong && CurrentPosition() == 0)
   {
   EnterLong(Lot);
   }
   
// 1% прибыль или более - закрываем позицию
if (CurrentPLper() >= 1)
   {
   ClosePosition();
   }

// более -5% убытка - увеличиваем позицию Long ещё на количество = Lot
if (CurrentPLper() < -5)
   {
   EnterLong(Lot);
   }
}
никогда такого не было и вот опять


Вернуться в «Стратегии и роботы»

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и 10 гостей