교육 전략으로서, 연습을 고려하는 것이 가장 좋습니다.FMZ.COM몇 가지 어려움을 겪은 후에도 마틴게일과 그리드 전략은 자신의 위험과 결함을 가지고 있으며 보수적으로 설정된 매개 변수와 함께 여전히 유용 할 수 있습니다.
바이낸스 선물 봇
dYdX 봇
저는 항상 수익곡선을 만들기 위해 절대적으로 재충전이 없다는 것을 보장합니다.
첫 번째 버전의 전략 디자인은 비교적 간단하고 거칠다. 인터페이스에 하나의 위치와 총 주식 데이터 수출이 있습니다. 이윤 곡선은 실현 된 이익과 손실만을 인쇄하고 부동 손실을 계산하지 않습니다. 많은 새로운 학생들이 불평하고 디스플레이를 최적화하도록 요청했습니다.
이 기사에서는 6개월 동안 안정적이고 실용적인 전략을 업그레이드하기 위해 여러분과 함께 노력하겠습니다.
업그레이드 전 전략 버전은 전략의
이것은 또한 내 개인적인 개발 습관입니다. 그것은 매우 편리합니다FMZ.COM.
업그레이드 시작!
우선, LogStatus
FMZ에 있는 상태 표시줄 데이터를 표시하는 데 사용됩니다.
다음으로, 여기에 큰 코드 조각을 추가합니다.
var tblPos = {
"type" : "table",
"title" : "position",
"cols" : ["position amount", "position direction", "position average price", "position profit and loss", "contract code", "custom feild / " + SpecifyPosField],
"rows" : []
}
var descType = ["long position", "short position"]
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" : "data",
"cols" : ["current total equity", "actual profit and loss", "current price", "buy order price/amount", "sell order price/amount"],
"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)])
// Update the chart data
if (t && showLine) {
_.each(pos, function(p) {
$.PlotLine(descType[p.Type] + "position price", p.Price)
})
$.PlotLine("buy order price", buyOrder.Price)
$.PlotLine("sell order price", sellOrder.Price)
$.PlotLine("current price", t.Last)
}
// Update the status bar data
LogStatus("time:" + _D() + "\n" + "`" + JSON.stringify(tblPos) + "`" + "\n" + "`" + JSON.stringify(tbl) + "`")
이전 거친을 교체LogStatus
export.
LogStatus(_D(), "Current total equity:", currTotalEq, "position:", pos)
이 전략에는 2가지 매개 변수가 추가되었습니다.
showLine 확인하고, 당신은 바트 페이지에서 그리기 위해 라인 드래잉 라이브러리를 사용할 수 있습니다. 그리고 포지션 가격, 대기 주문 가격과 현재 가격 곡선을 그리십시오.
포스 필드를 지정합니다 각 플랫폼의 원시 위치 데이터 필드의 이름이 다르기 때문에 표시되어야하는 위치 정보의 원시 필드를 설정하는 데 사용됩니다. 따라서 여기에서 표시되는 필드 이름을 지정하는 사용자 지정 매개 변수가 설계되었습니다. 예를 들어, 내 바이낸스 봇:
제가 보여드리고 싶은unRealizedProfit
위치 정보 데이터의 정보 필드 (플랫폼 인터페이스의 원료 데이터) 에 속성, 즉, 위치는 이익 또는 손실을 실현하지 않았습니다.
이와 유사한 설계는 전략이 비일관적인 데이터를 적응적으로 수출할 수 있도록 허용하며, 사용자에게 수출 콘텐츠를 사용자 정의할 수 있는 옵션을 제공합니다.
당신은 한눈에 표시해야 하는 데이터를 볼 수 있습니다. 전략의 거래 진행, 현재 위치 가격, 이익과 손실, 주문 가격을 관찰하는 것이 훨씬 편리합니다. 이 전략은 특정 위험을 가지고 있으며, 로봇은 자신의 위험 통제에 따라 특정 매개 변수를 설정하고, 자신의 이익과 손실에 대해 책임을 져야 합니다. 이 전략은 의사 소통과 연구를 위해만 공개됩니다.