Type/to search
8
Follow
1365
Followers
치받이! 암호화폐 선물을 위한 마팅게일 전략
Discussions
Created 2022-02-07 09:12:36  Updated 2024-12-02 21:32:43
 5
 4319

img

치받이! 암호화폐 선물을 위한 마팅게일 전략

교육 전략으로 특정 실제 성과를 고려하는 것이 가장 좋습니다. "암호화폐 선물을 위한 마틴 전략"은 FMZ.COM 시청 섹션에 거의 반년 동안 표시되었습니다. 많은 우여곡절을 거친 끝에 마틴 전략과 그리드 전략에는 위험과 단점이 있으며, 보수적인 매개변수가 이 전략을 사용할 수 없다는 것을 알게 되었습니다.

  • 바이낸스 퓨처스 라이브

    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 매개변수
    이 옵션을 체크하면 선 그리기 라이브러리를 사용하여 실제 거래 페이지에 포지션 가격, 보류 주문 가격, 현재 가격 곡선을 그릴 수 있습니다.

  • SpecifyPosField 매개변수
    각 거래소마다 포지션의 원본 데이터 필드의 이름이 다르므로, 표시되어야 하는 포지션 정보의 원본 필드를 설정하는 데 사용됩니다. 따라서 여기서는 표시할 필드 이름을 지정하기 위해 사용자 지정 매개변수를 디자인합니다.
    예를 들어, 내 Binance 실제 계정은 다음과 같습니다.

    img

    거래소 인터페이스의 원본 데이터인 위치정보 데이터의 Info 필드를 표시하고 싶습니다.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)