Блог им. Merten |Индикатор BullBearPower как правильно использовать?

Приветствую, коллеги!

После того, как я опубликовал свой индикатор https://smart-lab.ru/blog/634737.php, многие задавали вопрос: «Как правильно его использовать?». На самом деле, с индикатором можно экспериментировать, но я все таки расскажу, как он используется моими ботами. Сразу сделаю оговорку, мои боты помимо индикатора, используют фильтры для определения состояния рынка: LONG, SHORT, FLAT и используют индикатор в зависимости от того в какой фазе находится рынок. Но все же, не зависимо от этого, есть общие правила для совершения сделок:
  • Боты дожидаются, когда цена войдет в зону. Для продажи это зона выше SellPrice. Для покупки ниже BuyPrice.
  • После того, как цена вошла в зону, боты начинают отслеживать изменение силы покупателей и продавцов.
  • Для покупки необходимо, что бы сумма изменений силы покупателей была больше суммы изменений силы продавцов, а так же цена Offer была выше значения BuyPrice
  • Для продажи необходимо, что бы сумма изменений силы продавцов была больше суммы изменений силы покупателей, а цена Bid была ниже значения SellPrice
Собственно это основные условия для сделок покупки и продажи, остальное в работе ботов это дополнительные фильтры, которые улучшают точность входов.

( Читать дальше )

Блог им. Merten |Индикатор BullBearPower

Приветствую, коллеги!

Не думал, что будет такой интерес к моему посту https://smart-lab.ru/blog/634217.php , а точнее к индикатору, о котором в нем написано. Много сообщений в личку, не успеваю. Поэтому просто выкладываю код индикатора. Написан в QLua. Копируйте, вставляйте, запускайте и пользуйтесь! ВАЖНО: Для нормальной работы индикатора нужно, что бы была открыта таблица обезличенных сделок и шел поток данных по вашему инструменту!!!

p_CLASSCODE = «SPBFUT» --Код класса
p_SECCODE = «SiU0» --Код инструмента

function OnInit()

frame_60min = CreateDataSource (p_CLASSCODE, p_SECCODE, INTERVAL_H1)
frame_5min = CreateDataSource (p_CLASSCODE, p_SECCODE, INTERVAL_M5)

Index_60min = nil
Index_5min = nil

LastPrice = nil

IsRun = true

end

function main()

CreateTable()

while IsRun do

if Index_60min ~= frame_60min:Size() then

Index_60min = frame_60min:Size()

end

if Index_5min ~= frame_5min:Size() then

Index_5min = frame_5min:Size()

Transaq = 0
BuyWay = 0
SellWay = 0

end

if LastPrice ~= frame_60min:C(Index_60min) then

LastPrice = frame_60min:C(Index_60min)

BuySignal(frame_60min, Index_60min)
SellSignal(frame_60min, Index_60min)

if BuySpeed ~= nil and SellSpeed ~= nil then

if LastPrice < BuyPrice and BuySpeed > SellSpeed then

SetCell(t_id, 1, 4, «Buy»)

elseif LastPrice > SellPrice and SellSpeed > BuySpeed then

SetCell(t_id, 1, 4, «Sell»)

else

SetCell(t_id, 1, 4, «None»)

end

end

end

sleep(10)

end



( Читать дальше )

Блог им. Merten |Делюсь наработками

Приветствую, коллеги!

Скучно! Боты торгуют — я отдыхаю! Но мой мозг требует «пищи», поэтому решил доработать индикатор, который я описывал в этом блоге https://smart-lab.ru/blog/633889.php Добавил к нему еще один элемент из своих ботов. Это так называемый индикатор лучшей локальной цены покупки и продажи. Данный индикатор рассчитывает вероятный минимум по заданному тайм-фрэйму, другими словами минимум текущей свечи. Причем он динамичный и изменяет свое значение в зависимости от текущего изменения цены. Что показывает индикатор:

Делюсь наработками
  • BullPower — сила с которой совершают сделки покупатели
  • BearPower — сила с которой совершают свои сделки продавцы
  • BuyPrice — расчетная цена покупки
  • SellPrice — расчетная цена продажи
  • Recommendation — рекомендация покупать или продавать
Данный индикатор предназначен для открытия и закрытия позиции по наиболее лучшей цене в оптимальный момент времени. Где и как можно использовать данный индикатор? К примеру, вам нужно войти или выйти из рынка и вы приблизительно знаете по какой цене. Дожидаетесь соответствующего сигнала индикатора «Buy» или «Sell» и совершаете сделку. Или же можно использовать так. Дождались нужного сигнала и установили стоп-ордер на уровень BuyPrice или SellPrice. Почему так? Потому что рынок может пойти ниже/выше и значение BuyPrice/SellPrice будет меняться. И что бы получить лучшую цену, нужно использовать, что то типа трейлинг стопа. Появилось значение Buy — поставили стоп ордер на покупку, нет рекомендации, рынок пошел ниже — сняли. Опять появилась рекомендация, опять поставили и т. д. Что касается эффективности по торговле с помощью стоп ордеров, то я сделал небольшой бэк тест по контракту Si (период с 15 июня по вчерашний день) вот что получилось:

( Читать дальше )

....все тэги
UPDONW
Новый дизайн