简化版多平台对冲稳定套利
www.fmz.com
该策略的原始版本,您可以在以下网址找到它:https://www.fmz.com/bbs-topic/2279 它包含关于代码。
这个较短的版本仅用于学习目的,由于我们网站的技术改进,您的大多数复杂策略都可以极大地节省编码部分的时间。我们目前正在重建我们的 API 函数,我们会让它们更易于阅读和更有效地执行,除了基本函数之外,我们将在某个特定函数中收集更多方法,而不是调用该函数,它会执行一个严肃的伟大动作。
这是简化版:
var preSumBalance = 0
var initSumBalance = 0
function UpdateAccount(isFirst){
var msg = \"\"
var sumStocks = 0
var sumBalance = 0
for(var i = 0; i < exchanges.length; i++){
if(exchanges[i].needUpdate == true || isFirst == true){
exchanges[i].account = _C(exchanges[i].GetAccount)
exchanges[i].needUpdate = false
if(isFirst == true){
initSumBalance += (exchanges[i].account.Balance + exchanges[i].account.FrozenBalance)
exchanges[i].SetPrecision(_CurrencyPrecision, _BaseCurrencyPrecision)
}
}
sumStocks += (exchanges[i].account.Stocks + exchanges[i].account.FrozenStocks)
sumBalance += (exchanges[i].account.Balance + exchanges[i].account.FrozenBalance)
msg += exchanges[i].GetName() + \"coin:\" + exchanges[i].account.Stocks + \"Frozen coin:\" + exchanges[i].account.FrozenStocks + \"money:\" + exchanges[i].account.Balance + \"Frozen money:\" + exchanges[i].account.FrozenBalance + \"\\n\"
}
LogStatus(_D(), \"Total Coins:\" + sumStocks, \"Total Money:\" + sumBalance, \"\\n\", msg)
if(preSumBalance != sumBalance){
LogProfit(sumBalance - initSumBalance, preSumBalance = sumBalance)
}
}
function main(){
UpdateAccount(true)
while(1){
for(var i = 0; i < exchanges.length; i++){
for(var j = 0; j < exchanges.length; j++){
if(i == 0 && j == 0){
for(var m = 0; m < exchanges.length; m++){
exchanges[m].thread = exchanges[m].Go(\"GetTicker\")
}
for(var n = 0; n < exchanges.length; n++){
exchanges[n].ticker = exchanges[n].thread.wait()
}
}
if(exchanges[i].GetName() != exchanges[j].GetName() && exchanges[i].ticker && exchanges[j].ticker && exchanges[i].ticker.Buy - exchanges[j].ticker.Sell > _HedgePrice){
if(exchanges[i].account.Stocks > _HedgeAmount && exchanges[j].account.Balance / ((exchanges[i].ticker.Buy + exchanges[j].ticker.Sell) / 2) > _HedgeAmount){
var sellId_I = exchanges[i].Sell((exchanges[i].ticker.Buy + exchanges[j].ticker.Sell) / 2, _HedgeAmount, exchanges[i].GetName())
var buyId_J = exchanges[j].Buy((exchanges[i].ticker.Buy + exchanges[j].ticker.Sell) / 2, _HedgeAmount, exchanges[i].GetName())
exchanges[i].needUpdate = exchanges[j].needUpdate = true
}
}
}
}
UpdateAccount(false)
Sleep(300) // test
}
}
买好币上币库:https://www.kucoin.com/r/1f7w3