Специальные параметры стратегий
Стратегия "MoonStrike" и её параметры
Задача стратегии — поймать "прострел" цены вниз и выставить ордер как можно быстрее, чтобы успеть совершить покупку.
К импульсному движению цены ("прострелу") может привести, например, срабатывание стоп-ордеров множества трейдеров при пробое какого-либо значимого уровня. Но стратегия может сработать не всегда, поскольку нужно успеть откупить падение раньше других биржевых ботов. Огромную роль в этом играет минимальный пинг с биржей и отсутствие лагов.
Именно поэтому рекомендуется запускать терминал Moonbot на выделенном сервере (VDS) с локацией Токио в Японии. Также имеет смысл повысить приоритет приложения Moonbot (в новых версиях при запуске терминала "от администратора" приоритет “выше среднего” ставится автоматически).
Общие параметры
-
MStrikeDepth: поле для указания глубины прострела в процентах (по умолчанию 10%, можно ставить 0.1% и выше).
Как измеряется: -
Считается LastBidEMA (за 4 тика) по следующей формуле: если на предпоследнем тике BID, меньше чем LastBidEMA, то LastBidEMA принимается равным BID на предпоследнем тике, то есть при падении цены LastBidEMA будет равно BID в книге ордеров 2 сек назад.
Если на предпоследнем тике BID больше, чем LastBidEMA, то считается обычное EMA (за 4 тика).
Таким образом, при падении цены LastBid будет всегда минимальным, при росте будет плавно расти; -
Считается глубина от LastBidEMA до минимума прострела цены на момент детекта;
Замечание 1: ловит также ситуацию “рост и сразу падение” (для исключения можно порекомендовать: считать EMA от BID, но это приведёт к ловле медленных падений, аналогично стратегии Drops);
Замечание 2: трейды с биржи поступают в терминал по очереди, то есть прострел цены начинает отрисовываться на грачике сверху вниз не мгновенно. Вследствие этого, в какой-то момент, когда "прострел" стал ниже MStrikeDepth, произойдет детект, а тем временем цена может пойти ещё ниже. Для исключения этих ситуация - см. настройку параметра MStrikeBuyDelay. -
MStrikeVolume: поле для указания минимального объёма прострела на момент детекта;
-
MStrikeAddHourlyDelta: поле для указания добавочного процента к величине MStrikeDepth за каждый процент часовой дельты.
Пример:
если MStrikeAddHourlyDelta=0,05 (%), MStrikeDepth = 10 (%) и 3-х часовая дельта монеты 20%, то детект глубины прострела будет не от 10%, а от 10%+(20*0.05)=11%. Так как со временем 3-х часовая дельта меняется, то и глубина детекта прострела тоже будет автоматически пересчитываться. Это означает, что если 3-х часовая дельта будет снижаться, то глубина детекта прострела будет меньше, но не ниже MStrikeDepth, а если 3-х часовая дельта будет увеличиваться — то больше; -
MStrikeAdd15minDelta: поле для указания добавочного процента к величине MStrikeDepth за каждый процент 15-и минутной дельты. Аналогично вышеописанному примеру;
-
MStrikeAddMarketDelta: поле для указания добавочного процента к величине MStrikeDepth за каждый процент дельты Маркета. Аналогично вышеописанному примеру;.
-
MStrikeAddBTCDelta: поле для указания добавочного процента к величине MStrikeDepth за каждый процент часовой дельты BTC. Аналогично вышеописанному примеру;
-
MStrikeBuyDelay: поле для указания времени задержки выставления Buy-ордера в миллисекундах. Казалось бы, это противоречит идее стратегии, однако в ситуации, когда трейды после детекта продолжают рисовать движение цены ещё ниже, эта настройка может помочь. Между детектом и выставлением ордера вставляется задержка, во время которой продолжается измерение ценового "прострела".
⚠️ Важно!
Общие параметры SellPrice и BuyPrice ОТСУТСТВУЮТ в этой стратегии! Вместо них введены параметры MStrikeBuyLevel и MStrikeSellLevel; -
MStrikeBuyLevel: поле для указания процента выставления Buy-ордера от зафиксированной глубины прострела. Если значение равно 0, то Buy-ордер выставляется в самом низу прострела, если 50% — то Buy-ордер выставляется в середине прострела;
-
MStrikeBuyRelative: галочка YES/NO.
Если значение установлено в YES, то расчёт производится так, как описано в MStrikeBuyLevel.
Если значение установлено в NO, то Buy-ордер будет выставлен на конкретный процент от цены до детекта прострела.
Примеры: -
Если MStrikeBuyRelative = YES и MStrikeBuyLevel = 5, то Buy-ордер выставится на относительные 5% выше от глубины прострела;
-
Если MStrikeBuyRelative = NO и MStrikeBuyLevel = -5, то Buy-ордер выставится на абсолютные -5% от цены до детекта прострела.
-
MStrikeSellLevel: поле для указания процента выставления Sell-ордера от глубины прострела, а не от цены покупки.
Например:
если зафиксировали прострел на 10%, а при этом MStrikeSellLevel = 80 (%), то в этом случае Sell-ордер будет выставлен на 80% относительно 10% прострела, то есть на 8% выше нижней зафиксированной цены прострела; -
MStrikeSellAdjust: галочка YES/NO.
Если значение установлено в YES, то расчёт цены продажи рассчитывается как минимум из трёх чисел: глубина прострела, расчётная цена покупки и фактическая покупка. Рекомендуется включать этот параметр для неглубоких прострелов (1…3%) и выключать для глубоких (от 5%); -
MStrikeDirection: меню с выбором направления выставления Buy ордера:
-
Both - в обе стороны симметрично
-
OnlyLong - только лонг
-
OnlyShort - только шорт.
Настройки Both и OnlyShort работают только на фьючерсах. -
MStrikeWaitDip: галочка YES/NO.
Установка значения в YES означает, что Moonbot будет ждать, пока не появится трейд с ценой выше (или для шорта - ниже), чем предыдущий любого направления, например, для лонга: если случился прострел из Sell ордеров, то как только появляется Buy или Sell с ценой выше — то происходит детект. Ждём не более 10 секунд: если вдруг трейд так и не появился, то Buy-ордер не будет выставлен.
При срабатывании стратегии MoonStrike в лог пишутся следующие значения:
-
значение LastBidEMA;
-
минимальная зафиксированная цена "прострела" на момент выставления ордера;
-
глубина "прострела" в процентах;
-
объем "прострела";
-
цена Buy ордера;
-
заранее вычисленная цена продажи.
Например:
04:13:00.097 BCD: MoonStrike LastBID: 0.00029700 min.Price: 0.00029500 Depth: 0.7% StrikeVol: 0.295 BTC BuyPrice: 0.00029500 sell +0.7% SellPrice: 0.00029699
⚠️ Внимание!
В стратегии MoonStrike на вкладке Buy conditions размер ордера в параметре OrderSize должен быть задан в явном виде.
Если указать OrderSize=0, то размер ордера не будет браться из настроек на главном окне терминала Moonbot (с фиксированных кнопок или ползунка) и кроме этого не будет детектов по этой стратегии.