* Не является брокером, нет реальных торговых счетов. Предлагаем исключительно инструмент для работы. . 

Для такого способа дополнительного заработка можно использовать схему TerminalCoin 20+.* Метод описывается далее по тексту.

Простая стратегия для биржи криптовалют

В данной статье мы разберем одну из наиболее простых стратегий для понимания и для практической работы - стратегию для биржи криптовалют на пересечении двух скользящих средних. При правильной настройке параметров торговой стратегии для криптовалютной биржи - на пересечении двух скользящих средних, - а также грамотном менеджменте, данная простая стратегия может быть достаточно прибыльной. Даже на самых простых индикаторах, таких как Moving Average, можно построить прибыльную торговую стратегию или так называемую торговую систему. Общие принципы того, как пользоваться индикатором Moving Average, знает каждый. Конечно, используя стратегию, можно торговать в ручном режиме. Для этого нужно, чтобы оператор наблюдал за сигналами индикатора и, зная правила поведения, которые описывает стратегия, выполнял их в точности. Но все же лучше выбранную торговую систему автоматизировать и использовать для торговли эксперта (бота), который может всю работу провести в автоматическом режиме, самостоятельно. Самый простой способ заработка на рынке криптовалют - использование ботов.

Описание торговой стратегии, основанной на двух индикаторах Moving Average

Все гениальное - просто. Именно этого принципа стоит придерживаться во время торговли на рынке криптовалют. Рассматриваемая торговая стратегия основана на таком же принципе. Практически во всех стратегиях разных рынков, явно или скрыто, присутствуют Moving Average. Так или иначе, они подразумевают определение тренда по скользящим средним. В общем случае - продажу, когда цена находится ниже Moving Average, а покупку - когда выше.

 

 

Торговая стратегия с пересечением двух скользящих средних — простая система, которая основана на пересечении двух стандартных индикаторов (Moving Average) с разными периодами - быстрым и медленным, назовем их Fast и Slow. Работать скользящие средние будут в зависимости от выбранного вами временного интервала. То есть работать стратегия будет в тех временных интервалах, которые вы выберете для конкретного графика цены (чарта) и к которому прикрепите эксперта (бота).

Вход в рынок.

Правила для торговли по простой стратегии на пересечении двух скользящих средних.
После пробития одного из мувингов другим (пересечение 2-х скользящих средних), нужно немного подождать — выдержать паузу и дождаться закрытия текущей свечи. Пробитие нам будет сигнализировать следующее. Если цены на графике зафиксировались в таком пересечении, и быстрый (Fast) пересек медленный (Slow) сверху вниз, значит тренд нисходящий - тогда входим в рынок на продажу (sell). Если же наоборот (снизу вверх.) — можно покупать (buy). Быстрый Moving Average (Fast) - это среднее значение цены на определенном промежутке, которое должно быть меньше, чем среднее значение цены на промежутке, использованном для медленного Moving Average (Slow).

Вход в рынок по стратегии двух скользящих средних смотрите на рисунках ниже.

 

Открытие сделки на продажу (sell), когда быстрый Moving Average (Fast) пересекает медленный (Slow) сверху вниз.

 

 

Открытие сделки на покупку (buy), когда быстрый Moving Average (Fast) пересекает медленный (Slow) снизу вверх.

 

 

Выход из рынка.

Желательно использовать дополнительные меры защиты.
Стоп-лосс при этом размещаем немного ниже недавно образовавшегося донышка или пика. Также можно так: Stop Loss устанавливаем для buy сделки за high последней свечи перед пересечением, для sell — наоборот (low последней свечи перед пересечением). Или выход по сигналу в противоположном направлении, именно данный подход реализован в боте.

Возможны несколько вариантов фиксации прибыли по стратегии с пересечением двух скользящих средних:

1. Простой способ — выставляем Take Profit на расстояние 1.5 — 3 Stop Loss.
2. Держать сделку до получения обратного сигнала и выходить по рынку в этой точке (может быт как плюс, так и минус профит).
3. Сеточный вариант или Мартингейл, как частный случай сеточного подхода к торговле.

Допродажа / допокупка. Серия сделок.

В случае, если ваш вход в позицию оказался неудачным, цена развернулась против вашей позиции, то что вам мешает поискать еще место для открытия нового ордера? Дождитесь, когда снова появится сигнал, после соблюдения выше перечисленных правил, и открывайте новый ордер. Только теперь это уже серия ордеров, и закрывать надо суммарную позицию в суммарном профите. Адекватное наращивание позиции положительно скажется на конечном результате. Если при этом увеличивать размер лота в прогрессии, тогда это будет система по принципу Мартингейла.

В данной стратегии для рынка криптовалют конечно есть и некоторые недостатки, вот главные из них:

— ложные сигналы, которые может подавать данная торговая система при завершении тренда;
— из-за запаздывания индикатора Moving Average также задерживаются и торговые сигналы, в определенных рыночных условиях такая задержка является критичной и приводит к потере значительной части движения;
— скользящее среднее - трендовый индикатор, соответственно, данная торговая стратегия подходит только для трендовых рынков и не работает в "боковике" (рендже, флете) из-за большого количества ложных сигналов.

Но есть, конечно, и очень важные преимущества:

— это тот факт, что торгуя по данной стратегии, вы будете всегда следовать тренду, несмотря на желания неопытного трейдера торговать против основного тренда;
— подойдет для торговли на любых криптовалютных парах;
— очень простая в применении торговая стратегия для рынка криптовалют;
— использует простой набор технических инструментов;
— дает четкие и однозначные сигналы для входа и выхода из позиции;

Торговый робот "Moving Fast-Slow" для работы на криптовалютной бирже.

По описанной выше стратегии сделан демонстрационный торговый робот "Moving Fast-Slow" для работы на криптовалютной бирже. При разработке данной стратегии были учтены технические моменты, которые позволяют сделать экспертную систему более совершенной и универсальной. Управление ботом осуществляется через его входные параметры, которые задают конкретные настройки для бота, под ваши потребности. Эти настройки зависят, прежде всего, от выбранного подхода к торговле, от депозита, криптовалютной пары, временного промежутка а также других факторов. От грамотной настройки бота зависит профит следующей торговли.

Данные настройки можно разделить на несколько групп.

Группа первая. Настройки, связанные с индикаторами Moving Average - используются для генерации сигнала.

LimitBars - Ограничения исторического количества баров, для которых рассчитываются скользящие средние. Ограничения нужно задавать всегда. Они используется как для упрощения расчетов в реальном времени, так и расчетов на разумном историческом диапазоне изменения цены.
FastLength - Длина (Length) быстрого Moving Average (Fast), или количество баров для усреднения цены и отображения на графике средней линии.
FastShift - Сдвиг (Shift) быстрого Moving Average (Fast), или количество баров для сдвига назад усредненной ценовой линии.
SlowLength - Длина (Length) медленного Moving Average (Slow), или количество баров для усреднения цены и отображения на графике средней линии.
SlowShift - Сдвиг (Shift) медленного Moving Average (Slow), или количество баров для сдвига назад усредненной ценовой линии.

Отступление. Как настраивать главное - сигнальные индикаторы? Какие параметры выбрать?

В различных книгах по техническому анализу и других источниках много различных вариантов значений скользящих средних. Но не всегда понятно, почему именно такой период и откуда он взялся. Но это не единственный способ подбора периода, очень многие трейдеры предпочитают использовать для этого числа из ряда Фибоначчи, а также многое другое. Так что все периоды уже давным давно подобраны и перепробованы. Думаете, это может сыграть на руку? Ведь можно использовать самые известные и используемые периоды, ими же пользуется огромное количество трейдеров, а значит, это возможность видеть то же самое, что и они! Не надо думать о том, что если используют все, значит это работает. В этом заключается ошибка. На практике Moving Average нужно подбирать самостоятельно, исходя из главных зависимостей: от валютной пары, временного промежутка и тенденции цены. То есть, чтобы такая торговая система себя отработала в профит, необходимо постоянно корректировать параметры длин скользящих средних. И только так можно добиться профитной торговой системы. Используя бота, написанного на языке LCRYP, вы можете реализовать любую стратегию и сразу увидеть ее просчет на исторических данных.

Группа вторая. Настройки рисков. Используется для создания грамотного мани-менеджмента.

TypeCalculateValute - Перерасчет объема.

Группа третья. Настройки сетки или Мартингейла, как рискованного частного случая сеточного подхода к торговле.

OnMartin - Позволяет работать с системой Мартингейла (обобщенное название). На самом деле дает возможность торговать не одной сделкой, как в классическом случае, а сеткой сделок (последовательной и по сигналам в каждом узле).
StepMartin - Шаг для системы сетки. То есть сетка будет формироваться по сигналу, но с шагом (расстояние от ордера к ордеру) не менее, чем указанное значение.

Группа четвертая. Настройки, связанные с направлением работы и закрытием.

Dir - Задает направление открытия ордеров или на buy, или на sell. То есть торговля может вестись только в указанном направлении - или на покупку, или на продажу. Или в две стороны.
CloseLoss - Позволяет закрывать ордера с отрицательным профитом при появлении сигнала в противоположную сторону. Если включен этот параметр, система Мартингейла (сетки) не может работать. Поскольку при откате цены против нашего ордера будет закрыт ордер и следующий ордер сетки не сможет открыться.
ProfitIsSignal - Создает дополнительный сигнал на закрытие при достижении профита PipsProfit. Аналог Take Profit.
PipsProfit - Профит для закрытия (если включено ProfitIsSignal). В случае использования Мартингейла (или сеточной системы), ProfitIsSignal обязательно включен. Поскольку закрывать нам нужно серию ордеров, и именно этот сигнал будет закрывать серию.

Группа пятая. Дополнительные настройки

TypeCalculateValute - Задает способ пересчета объема. Например, можно задавать все объемы в BTC и они будут перечисляться в нужное значение по текущему курсу или задавать в той валюте, в которой ведется торговля.
LevelShiftPrice - Задает отступ от цены. Например, сигнал появился на определенном уровне, задавая отступ, ордер выставится на расстоянии отступления от реальной цены сигнала.

Описание принципа работы бота.

Весомая часть работы бота - это отображение сигнальных индикаторов на экране чарта. Бот будет работать именно на том временном промежутке, на который настроен чарт, и это необходимо учитывать в процессе работы. Бот отображает два Moving Average на экране чарта, а также стрелками показывает точное направление сигналов, которые генерируют скользящие средние (Moving Average) по заданным правилам. Основное для понимания - это, конечно, стрелки. Поскольку они показывают конкретные места, где появляются ордера и будут выставляться сигналы в реальном времени.
Одна из частей работы бота - это отображение на указанном промежутке исторических данных сигналов, с учетом правил открытия/закрытия ордеров: сеточный (серия ордеров) или метод Мартингейла (серия ордеров с прогрессирующим лотом), или классический (с одним ордером) метод работы. Также существует определенная аналитическая часть в цифрах, которую бот отображает на экране чарта по заданным параметрам, с помощью которых можно оценить прибыльность и другие параметры работы бота на заданном промежутке исторических данных.
Вторая часть - работа в реальном времени и управление ордерами с запрограммированными правилами мани-менеджмента. Бот пытается смоделировать в реальном времени ту стратегию, которая уже отображена на заданном историческом периоде. Для реальных данных бот также отображает аналитику, которую можно увидеть на экране чарта, хотя эта аналитика касается результата вашей общей торговли на заданном промежутке времени.
Если с первой частью все просто, то вторая часть - работа в реальном времени - имеет свою проблематику. Например - может пропасть связь с сетью или просто выключиться компьютер. Может быть перегружена сама биржа и долгое время не давать выставить ваш ордер. Все эти моменты создают некую погрешность в реальной работе, что следует иметь ввиду. Для защиты от различных возникающих в реальном времени проблем, могут быть задействованы определенные механизмы, которые, в принципе, можно использовать. Например, когда происходит закрытие ордера, для этого дается несколько попыток. Если ордер не открылся - будут также задействованы дополнительные попытки открыть ордер, чтобы максимально согласовать (приблизить) реальные сигналы с заданными сигналами торговой системы, т.е. теми, которые отображаются на историческом промежутке. Еще одной весомой преградой является отсутствие четкой прямой связи с биржей. То есть, мы не можем точно знать, сработал наш ордер или нет, для чего приходится определенное время сканировать биржу и ждать подтверждения выполнения ордера. Если такое подтверждение не пришло - нужно повторить попытку. Основная сигнальная система наследует описанную выше, на основе двух скользящих средних.
Реализована система закрытия группы ордеров в общем плюсе, как с возможностью использования обычной сетки, так и с возможностью использования рискованного принципа Мартингейла (в каждом узле происходит увеличение объема ордера). Система Мартингейла позволяет закрывать серию на более мелких откатах цены. Все рычаги управления ботом заданы через входные параметры. Их детальное описание можно увидеть выше. Для создания дополнительного функционала или усовершенствования существующего бот представлен в виде исходного кода, который можно изменять по вашим пожеланиям.

Рассмотрим конкретный пример настроек

Ограничение исторических данных

LimitBars = 1000 означает, что для анализа будут использованы 1000 последних баров на том таймфрейме (M1,M2,M3 ... H1,H2,H3 ... D7,D14,D30), на котором установлен бот. Именно на установленном таймфрейме и будет происходить работа. Если таймфрейм переключить, то желательно также подбирать другие настройки Moving Average для выбранного таймфрейма.

Способ расчета риска

TypeMM=0 - система расчета рисков не используется, а значение интерпретируется буквально, то есть как заданный объем. Возможные значения, заданные на перспективу:

0 - результирующее значение будет интерпретировано как объем без расчетов (ValueMM - объем);
1 - результирующий объем рассчитывается согласно балансу (ValueMM - риск);
2 - результирующий объем рассчитывается согласно балансу (баланс фиксируется таким, какой был на начальной позиции) (ValueMM - риск);
3 - результирующее значение будет интерпретировано как объем, но с прогрессией относительно количества ордеров (ValueMM - риск, IterMM - коэффициент для линейной прогрессии);
4 - результирующий объем рассчитывается согласно балансу с прогрессией относительно количества ордеров (ValueMM - риск, IterMM - коэффициент для линейной прогрессии);
5 - результирующий объем рассчитывается согласно балансу (баланс фиксируется таким, какой был на начальной позиции) и с прогрессией относительно количества ордеров (ValueMM - риск, IterMM - коэффициент для линейной прогрессии);
6 - результирующее значение будет интерпретировано как объем, но с прогрессией относительно количества ордеров (ValueMM - риск, IterMM - экспонента прогрессии);
7 - результирующий объем рассчитывается согласно балансу и с прогрессией относительно количества ордеров (ValueMM - ризик, IterMM - экспонента прогрессии);
8 - результирующий объем рассчитывается согласно балансу (баланс фиксируется таким, какой был на начальной позиции) и с прогрессией относительно количества ордеров (ValueMM - риск, IterMM - экспонента прогрессии).

Величина объема

ValueMM=0.001 - величина объема, с которым будет открываться ордер (в случае, если TypeMM=0).

Два значения, которые ограничивают объем.

Если будет использоваться не конкретно заданный объем, а риск, который будет рассчитывать объем в зависимости от депозита, то значения VolumeMinMM, VolumeMaxMM ограничат его константами минимума и максимума. Если вы просто работаете с одинаковым объемом, можете эти значения ставить одинаковыми.
VolumeMinMM=0.001 - минимально возможное значение объема. Т.е. если рассчетное или заданное значение будет меньше VolumeMinMM, то реальное значение установится на заданное в этом параметре.
VolumeMaxMM=0.001 - максимально возможное значение объема. Т.е.если рассчетное или заданное значение будет больше VolumeMaxMM, то реальное значение установится на заданное в этом параметре.
Например, если ETH/BTC - это рабочая пара, мы можем задать VolumeMinMM=0.001, а VolumeMaxMM=0.1, что будет означать, что возможные значения объема, которые имеет право делать робот, будут в пределах 0.001-0.1 BTC и эквивалент на такую же сумму ETH. Если параметре TypeCalculateValute установлен в значении 3.

Способ увеличения объема

IterMM=0. Способ увеличения объема в зависимости от позиции. Не используется при простой установке лота. Понадобится при сложных вариантах расчета риска (TypeMM>0), сеточных или по Мартингейлу.

Размер депозита.

StartDepoMM=10 - депозит, согласно которому будет вестись расчет риска. Не используется при простой установке лота. Например, если ETH/BTC - это рабочая пара, то у нас должно быть при значении StartDepoMM=10 (10 - сумма в ВТС и эквивалент данной суммы в ЕТН). Хотя фактические цифры могут быть большими или меньшими. Главное - что робот будет думать, что цифры именно такие и все расчеты объемов будет вести, учитывая именно указанные подставные, которые мы укажем в параметре StartDepoMM. Это обеспечит правильный прогресс для серии ордеров, особенно для случая Мартингейла.

Настройки, связанные с индикаторами Moving Average - используются для генерации сигнала

FastLength=6 - длина (Length) быстрого Moving Average (Fast), или количество баров для усреднения цены и отображения на графике средней линии. Разумные величины 3..50.
FastShift=0 - сдвиг (Shift) быстрого Moving Average (Fast), или количество баров для сдвига назад усредненной ценовой линии. Сдвигает график мувинга назад относительно ценового графика, при желании можно использовать.
SlowLength=12 - длина (Length) медленного Moving Average (Slow), или количество баров для усреднения цены и отображения на графике средней линии. Разумные величины 6..100.
SlowShift=0 - сдвиг (Shift) медленного Moving Average (Slow), или количество баров для сдвига назад усредненной ценовой линии. Сдвигает график мувинга назад относительно ценового графика, при желании можно использовать.

Позволяет работать с системой Мартингейла (обобщенное название)

OnMartin=1 - дает возможность торговать не одной сделкой, как в классическом случае, а сеткой сделок (последовательной и по сигналам в каждом узле). Если OnMartin=0, то функция выключена и работа ведется с одним ордером. Детальнее "Сеточный режим".

Шаг для системы сетки

StepMartin=0.0008 - то есть сетка будет формироваться по сигналу, но с шагом (расстояние от ордера к ордеру) не менее, чем указанное значение. Если используется сетка, то каждый следующий ордер выставляется согласно сигналу, но расстояние по оси цены должно быть не меньше, чем данное значение, в данном случае минимальное расстояние между двумя соседними ордерами составляет 0.0008. Это значение является разницей по оси Y (цен) на чарте, между двумя соседними ордерами.

Профит для закрытия

PipsProfit=0.0008 - Профит для закрытия, если включено ProfitIsSignal=1. В случае использования сетки или Мартингейла обязательно должен быть включен (ProfitIsSignal=1). В случае же работы с одной позицией и если будет включено это значение, то будет возможно два способа закрытия. Один - по сигналу, и один - когда профит достигнет заданного значения. Конкретно для понимания сама цифра, как и в случае StepMartin, означает просто изменение цены. В случае, если один ордер, то изменение для него. В случае, если серия ордеров, то изменение цены относительно нулевой линии (безубытка для серии ордеров).

Создает дополнительный сигнал на закрытие

ProfitIsSignal=0 - создает дополнительный сигнал на закрытие при достижении профита PipsProfit. Если равно нулю, то дополнительный сигнал выключен. Если ProfitIsSignal=1, то работает дополнительный сигнал на закрытие в профите, указанном в параметре PipsProfit, в данном случае, если ордер будет в плюсе и разница будет больше или равна 0.0008, то произойдет закрытие ордера.

Направление открытия ордеров

Dir=1 - задает разрешение на то, в каком направлении будут открыватся ордера - или на buy, или на sell. Dir=1 позволяет работать роботу только на покупку (buy). Возможные значения:

0 - направление не определено - нет принудительного ограничения направления. Следовательно, какой будет сигнал от сигнального индикатора, туда и будет открыт ордер.
1 - направление на buy - если от сигнального индикатора придет сигнал на sell, он будет проигнорирован и будет ожидаться сигнал на buy; сигнал на sell будет принят лишь как закрывающий для открытого на buy ордера.
-1 - направление на sell - если от сигнального индикатора придет сигнал на buy, он будет проигнорирован и будет ожидаться сигнал на ;сигнал на buy будет принят лишь как закрывающий для открытого на sell ордера.

Закрывать ордера с отрицательным профитом

CloseLoss=0 - Позволяет закрывать ордера с отрицательным профитом при появлении сигнала в противоположную сторону. Если включен этот параметр, система Мартингейла (сетки) не может работать. Поскольку при откате цены против нашего ордера будет закрыт ордер и следующий ордер сетки не сможет открыться. CloseLoss=0 - функция выключена и ордер не закроется в минусе при появлении соответствующего сигнала. CloseLoss=1 - функция включена и ордер закроется в минусе при появлении соответствующего сигнала.

Отступ от цены

LevelShiftPrice=0.00001 - задает отступ от цены. Например, сигнал появился на определенном уровне, задавая отступ; ордер выставится на расстоянии отступления от реальной цены сигнала.
Данный параметр позволяет немного выигрывать на откате цен, но если он будет слишком велик и цена не дойдет до нужного отката, то ордер может просто не сработать по сигналу и сигнал будет пропущен. Если сигнал на buy, то ордер будет установлен на 0.00001 отметку на оси цены ниже, чем появился сигнал, т.е. он будет установлен ниже, чем существующая цена и соответственно сработает, если цена опустится до такой отметки. Если сигнал на sell, то ордер будет выставлен на 0.00001 от метку на оси цены выше, чем существующая цена и соответственно сработает, если цена поднимется до такой отметки.

Задает способ пересчета объема

TypeCalculateValute=3 - например, можно задавать все объемы в BTC и они будут перечисляться в нужное значение по текущему курсу или задавать в той валюте, в которой ведется торговля. В данном случае объем валюты для ордера будет задаваться в ВТС.

Возможные значения:

0 - объем воспринимать в значении первой валюты в валютной паре;
1 - объем воспринимать в значении второй валюты в валютной паре;
2 - объем воспринимать в долларовом эквиваленте; независимо от того, работа с какими парами ведется. Все объемы будут задаваться в долларах, а по факту при выставлении ордера пересичтываться в эквивалентную сумму в конкретной валюте, с которой ведется работа.
3 - объем воспринимать в эквиваленте биткойна (BTC). Независимо от того, с какими парами ведется работа, все объемы будут задаваться в ВТС, а по факту при выставлении ордера пересичтываться в эквивалентную сумму в конкретной валюте, с которой ведется работа.

Более детально о технической стороне реализации бота можно прочитать в статье справки: Эксперт Bot Moving Fast-Slow.

Назад

TerminalCoin

2018-09-05 21:50:53