업그레이드! 디지털 화폐 선물 마틴 전략

저자:작은 꿈, 창작: 2022-02-07 09:12:36, 업데이트: 2023-09-20 10:11:23

img

업그레이드! 디지털 화폐 선물 마틴 전략

作为一个教学策略,兼顾一定的实战性能当然是最好的。「数字货币期货类马丁策略」在FMZ.COM围观板块也已经展示了小半年了。经历了好几拨风吹雨打,马丁、网格策略有其风险硬伤,参数保守一点也不是不能用。

  • 비안 선물 실물

    img

  • dYdX 디스크

    img

그리고 이 모든 것은, 이 모든 것은, 이 모든 것은, 이 모든 것은, 이 모든 것은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들은, 이 모든 것들이, 이 모든 것들은, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든 것들이, 이 모든

그러나 첫 번째 버전의 전략 디자인은 비교적 단순하며, 인터페이스에는 보유, 총권익 데이터 출력, 수익 곡선만 인쇄되어 수익과 손실을 달성하고 있으며, 부진과 손실을 고려하지 않습니다. 많은 신학생이 구설하여 최적화 표시를 요구했습니다.

이 글은 이 6개월 간의 안정적인 실전 전략을 업그레이드하기 위해 여러분과 함께합니다.

업그레이드 계획

  • 업그레이드 상태 열 표시, 현재 보유 정보를 표시, 데이터의 집합을 인쇄하지 않습니다. 현재 총 이익, 부동의 이익, 실제 이익 (이하 부동의 이익과 손실에 대한 총 이익과 손실) 을 표시
  • 행태 그래프는 현재 꽂혀있는 위치가 표시됩니다.

업그레이드 이전 정책 버전은 정책의 "노트" 페이지에 기록되어 있습니다.

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)

이 전략은 두 가지 매개 변수를 추가했습니다.

img

  • showLine 매개 변수 선택하면, 도화선 클래스 라이브러리를 사용하여 실제 디스크 페이지에 그림을 그릴 수 있으며, 보유 가격,挂单 가격, 현재 가격 곡선을 그릴 수 있습니다.

  • PosField를 지정합니다 각 거래소의 보유 원본 데이터 필드 이름이 다르기 때문에 표시가 필요한 보유 정보 원본 필드를 설정하는 데 사용됩니다. 따라서 표시가 필요한 필드 이름을 지정하는 사용자 지정 매개 변수를 설계합니다. 예를 들어, 내 바이오안의 실제 디스크:

    img

    저는 정보 필드 (거래소 인터페이스 원본 데이터) 에서 보유 정보 데이터를 표시하고 싶습니다.unRealizedProfit소유물, 즉, 보유가 수익과 손실을 달성하지 않았다. ▲SpecifyPosField를 설정하여 unRealizedProfit로 설정할 수 있다. ▲ 상태 탭에서 표시될 수 있다. ▲

    이와 유사한 디자인은 비통일적인 데이터에 대한 정책의 출력을 조정하고 사용자가 자신의 출력 콘텐츠를 사용자 지정할 수있는 옵션을 제공합니다.

업그레이드 정책 후 비안, dYdX의 디스크를 다시 시작합니다.

img

img

이 방법은 거래 진행, 현재 보유 가격, 수익, 손실, 상장 가격 등을 관찰하는 것이 매우 편리합니다. 전략은 위험성을 가지고 있으며, 실제 디스크는 자신의 위험에 따라 제어 매개 변수를 설정하고, 자부심을 가지고 있다. 전략은 공개적으로 교류 학습을 위해만 사용됩니다.


관련

더 많은

AAA386전체적으로, 소스 코드에 있는 n=1은 의미가 없는 것 같군요? 아래에는 n++가 함수 수를 나타내는 것이 아닌가요?

외계인저는 금을 잘하고 있다고 생각합니다. XAUUSD는 상대적으로 폭락하고 폭락했습니다.

자, 다중화폐는 다중화폐가 동시다발적으로 실행될 수 있도록 수익 변수를 변화시켜야 합니다.

작은 꿈"이건 디자인적으로 가능하지만 위험성이 더 커서 n=1이라고 써야지".

작은 꿈예, 서로 다른 거래 쌍의 가격 차이가 매우 높기 때문에 직관적으로 사용할 수 없는 가격 차이가 나타났기 때문에 비율로 설계해야합니다. 가격 차이를 계속 표시하려면 다른 품종의 가격 차이를 별도로 설정하는 대수학적 매개 변수를 설정해야합니다.