Type/to search
8
Follow
1365
Followers
обновление! Стратегия Мартингейла для фьючерсов на криптовалюту
Discussions
Created 2022-02-07 09:12:36  Updated 2024-12-02 21:32:43
 5
 4318

img

обновление! Стратегия Мартингейла для фьючерсов на криптовалюту

В качестве стратегии обучения, конечно, лучше всего учитывать определенные практические достижения. «Стратегия Мартина для криптовалютных фьючерсов» отображается в разделе «Наблюдение» FMZ.COM уже почти полгода. Пройдя через множество взлетов и падений, было обнаружено, что стратегии Мартина и сетки имеют свои риски и недостатки, и консервативные параметры не означают, что их нельзя использовать.

  • Фьючерсы Binance в прямом эфире

    img

  • dYdX в прямом эфире

    img

Г-н Мэн гарантирует, что для «изготовления» кривой доходности (ручной головки) не требуется абсолютно никакой перезарядки.

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

В этой статье давайте усовершенствуем эту стратегию, которая применяется на практике уже полгода.

План обновления

  • Обновлен дисплей строки состояния для отображения информации о текущем местоположении вместо вывода набора данных. Отображает текущий общий капитал, плавающую прибыль и убыток, а также фактическую прибыль и убыток (общую прибыль и убыток, включая плавающую прибыль и убыток)
  • Отображается график рынка и текущая позиция отложенного ордера.

Версия политики до обновления записывается на странице примечаний политики.

img

Это также моя привычка личного развития. Очень удобно записывать каждую деталь разработки стратегии и итерации на FMZ.COM.

Начните обновление!
Сначала давайте оптимизируем отображение "строки состояния". Студенты, знакомые с документами по разработке FMZ, знают, что данные строки состояния отображаются на FMZ с помощьюLogStatusфункция. Затем мы находим эту точку входа и начинаем проектировать код.

img

Далее добавьте сюда большой фрагмент кода:

var tblPos = { "type" : "table", "title" : "持仓", "cols" : ["持仓数量", "持仓方向", "持仓均价", "持仓盈亏", "合约代码", "自定义字段 / " + SpecifyPosField], "rows" : [] } var descType = ["多头仓位", "空头仓位"] for (var posIndex = 0 ; posIndex < pos.length ; posIndex++) { tblPos.rows.push([pos[posIndex].Amount, descType[pos[posIndex].Type], pos[posIndex].Price, pos[posIndex].Profit, pos[posIndex].ContractType, SpecifyPosField == "" ? "--" : pos[posIndex].Info[SpecifyPosField]]) } var tbl = { "type" : "table", "title" : "数据", "cols" : ["当前总权益", "实际盈亏", "当前价格", "买单价格/数量", "卖单价格/数量"], "rows" : [] } var buyOrder = null var sellOrder = null for (var orderIndex = 0 ; orderIndex < orders.length ; orderIndex++) { if (orders[orderIndex].Type == ORDER_TYPE_BUY) { buyOrder = orders[orderIndex] } else { sellOrder = orders[orderIndex] } } var realProfit = currTotalEq - totalEq if (exchange.GetName() == "Futures_Binance") { _.each(pos, function(p) { realProfit += parseFloat(p.Info.unRealizedProfit) }) } var t = exchange.GetTicker() tbl.rows.push([currTotalEq, realProfit, t ? t.Last : "--", (buyOrder.Price + "/" + buyOrder.Amount), (sellOrder.Price + "/" + sellOrder.Amount)]) // 更新图表数据 if (t && showLine) { _.each(pos, function(p) { $.PlotLine(descType[p.Type] + "持仓价格", p.Price) }) $.PlotLine("买单挂单价格", buyOrder.Price) $.PlotLine("卖单挂单价格", sellOrder.Price) $.PlotLine("当前价格", t.Last) } // 更新状态栏数据 LogStatus("时间:" + _D() + "\n" + "`" + JSON.stringify(tblPos) + "`" + "\n" + "`" + JSON.stringify(tbl) + "`")

Заменить предыдущую нефтьLogStatusВыход

LogStatus(_D(), "当前总权益:", currTotalEq, "持仓:", pos)

Стратегия добавляет 2 параметра:

img

  • Параметры showLine
    Если этот флажок установлен, вы можете использовать библиотеку рисования линий для рисования на реальной торговой странице цены позиции, цены отложенного ордера и кривой текущей цены.

  • Укажите параметр PosField
    Он используется для установки исходных полей информации о позиции, которые необходимо отобразить, поскольку названия исходных полей данных позиций различны для каждой биржи. Поэтому здесь мы разрабатываем настраиваемый параметр, чтобы указать имя поля, которое будет отображаться.
    Например, мой реальный счет Binance:

    img

    Я хочу отобразить поле «Информация» данных о местоположении (исходные данные интерфейса обмена)unRealizedProfitАтрибут, то есть нереализованная прибыль и убыток позиции. Вы можете установить параметр SpecifyPosField на unRealizedProfit. Он будет отображаться в строке состояния.

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

Перезапустите реальную торговлю Binance и dYdX после обновления стратегии

img

img

Вы можете видеть, что данные, которые необходимо отобразить, понятны с первого взгляда. Гораздо удобнее наблюдать за ходом торговли по стратегии, текущей ценой позиции, прибылью и убытком, а также ценой отложенного ордера.
Эта стратегия имеет определенные риски. Пожалуйста, установите конкретные параметры в соответствии с вашим собственным контролем риска и несите собственные прибыли и убытки. Стратегия раскрывается только для общения и обучения.

Related Recommendations
Comment
All comments (5)

    梦总,源码里的n=1好像并没有体现出意义?下面并没有n++体现加仓次数?

    4 years ago

    可以设计上,不过感觉风险比较大,所以就写死n=1了。

    4 years ago

    梦总 我觉得做黄金不错 XAUUSD 相对来说暴涨暴跌真没有币圈这么猛

    4 years ago

    多品种啊,梦总~首先利润变量那个参数要改成比例才可以多币种同时跑吧

    4 years ago

    是的,因为不同交易对,价格相差甚远,不能直观的用价格差表示了,需要用百分比来设计。如果要继续用价格差表示,需要设置一个数组参数,分开设置这些不同品种的价格差。

    4 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)