Vereinfachte Fassung der Multi-Plattform Hedging Stabilisation Arbitrage-Strategie (nur für Studienzwecke)

Schriftsteller:Gutes, Erstellt: 2018-08-30 10:28:43, Aktualisiert: 2023-11-14 21:08:18

img

Die in Artikel 4 Absatz 1 Buchstabe a der Verordnung (EU) Nr. 575/2013 aufgeführten Risikopositionen werden von den zuständigen Behörden des Mitgliedstaats, in dem die Risikopositionen gemäß Artikel 4 Absatz 1 der Verordnung (EU) Nr. 575/2013 ausgewiesen werden, ermittelt.www.fmz.comDie ursprüngliche Version dieser Strategie finden Sie unter:https://www.fmz.com/bbs-topic/2279Es enthält sehr spezifische Kommentare zum Code.

Diese kürzere Version ist nur für Studienzwecke, aufgrund unserer Websites technologische Verbesserung, die meisten Ihrer komplizierten Strategien können enorm Zeit sparen auf der Codierung Teil. Wir sind derzeit der Wiederaufbau unserer API-Funktion, werden wir sie leichter zu lesen und effektiver auszuführen, zusätzlich zu der grundlegenden Funktion, werden wir mehr Methode in einer bestimmten Funktion zu sammeln, als wenn Sie einmal die Funktion angerufen, wird es eine ernsthafte große Aktion durchführen.

Hier ist die vereinfachte Fassung:

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
    }
}

Verwandt

Mehr

Der Wert der ZinsspanneZane

Kleine TräumeDas ist gut!