Сбалансированные стратегии "Быка-Быка"

Автор:VIC, Дата: 2022-01-08 19:35:36
Тэги:

  • Контрактная версия стратегии денежного баланса, разработанной Баффетом, по умолчанию делает многоконтракты непосредственно на половину.
  • Биткоин BUSD не имеет фиксированных платежных сборов, что позволяет максимально сократить промежуток между обработкой баланса, чтобы получить максимальную прибыль и возврат платежных сборов.
  • Принцип и код очень просты, и, опираясь на письменность магов, предварительно рассчитывают ставку на одну точку, количество рук для ставки, и теоретически, чем больше капитал, тем более близка доходность к предельному значению.
  • Не рекомендуется запускать ниже 1000 U, ограничения минимального значения заказа приводят к слишком большому разрыву заказов.
  • В этом случае выгода зависит от роста или колебаний цены.
  • Можно скопировать прямую обратную связь.
  • Большой объем средств, недостаток в том, что рынок нуждается в колебаниях или медленном росте, долгосрочный медленный рынок накапливает больше позиций, но не взрывается.
  • В конце концов, после того, как Мартин попробовал свои негативные ожидания, высокая конкуренция с высокими частотными ставками, возможно, возвращение к стоимостным инвестициям - это путь к окончательной победе.
  • Приглашаем кликнуть и поделиться этой стратегией с VX.



/*backtest
start: 2019-12-01 00:00:00
end: 2024-02-07 23:59:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":100000}]
args: [["pricePrecision",2],["amountPrecision",3],["linjie",30]]
*/

function cancelAll() {
    while (1) {
        var orders = _C(exchange.GetOrders)
        if (orders.length == 0) {
            break
        }
        for (var i = 0; i < orders.length; i++) {
            exchange.CancelOrder(orders[i].Id, orders[i].Id)
            Sleep(100)
        }
        Sleep(100)
    }
}
function onexit() {
    //
    cancelAll()
}

function main() {
    exchange.SetContractType("swap")
    exchange.SetPrecision(pricePrecision, amountPrecision) //精度
    exchange.SetMarginLevel(leverage) //杠杆
    //LogProfitReset()
    LogReset(1)
    var buyOrderId
    var sellOrderId
    while (1) {
        var pos = _C(exchange.GetPosition)
        if (pos.length > 0) {
            var Mar = pos[0].Margin //保证金
        } else {
            var Mar = 0
        }

        var MarginLevel = leverage //杠杆
        var account = _C(exchange.GetAccount)
        var Bala = account.Balance //可用余额
        var Bal = Bala - Mar * (MarginLevel - 1) //去掉仓位的余额
        var ticker = _C(exchange.GetTicker)
        var price = ticker.Last //最新价
        var Qian = Mar + Bala
        LogStatus("币价:", price,"权益:",Qian)
        var orders = _C(exchange.GetOrders)
        if (orders.length == 0) { //没有订单
            if (Mar * MarginLevel - Bal > 2 * linjie) { //仓位价值多于余额 //临界价值
                exchange.SetDirection("closebuy")
                var Amount = 0.5 * (Mar * MarginLevel - Bal) / price
                exchange.Sell(-1, Amount)
            } else if (Bal - Mar * MarginLevel > 2 * linjie) { //余额多于仓位价值 //临界价值
                var Amount = 0.5 * (Bal - Mar * MarginLevel) / price
                exchange.SetDirection("buy")
                exchange.Buy(-1, Amount)
            } else {//状态平衡时双向挂单
                var Bprice = price * (Bal - linjie) / (Mar * leverage)
                var BAmount = 0.5 * linjie / Bprice
                exchange.SetDirection("buy")
                buyOrderId = exchange.Buy(Bprice, BAmount)
                var Sprice = price * (Bal - (-linjie)) / (Mar * leverage)
                var SAmount = 0.5 * linjie / Sprice
                exchange.SetDirection("closebuy")
                sellOrderId = exchange.Sell(Sprice, SAmount)
            }


        } else { //有订单
            var isFindBuyId = false
            var isFindSellId = false
            //Log("初始状态")
            for (var i = 0; i < orders.length; i++) {

                if (buyOrderId == orders[i].Id) {
                    isFindBuyId = true
                    //Log("有买单")
                }
                if (sellOrderId == orders[i].Id) {
                    isFindSellId = true
                    //Log("有卖单")
                }
            }
            if (!isFindBuyId || !isFindSellId) { //有一方成交,取消订单进入新循环
                cancelAll()
                var Qian = Mar + Bala
                LogProfit(Qian)
                //LogStatus("币价:", price)
            }

        }
        Sleep(5000)
    }
}

Больше

Хекси8Можно ли разновидность?

VICПосмотрите, как выходит Чан Супербосс.

VICЕсли хозяин захочет, он может настроить монетку.