Strategies KB.ZH
Strategies

期货一键对冲插件Hedge-on-two-contracts

小草 · javascript · Portfolio and Arbitrage · 2020-03-24 10:52:08

All strategies →
Filter
—
Sizing
—
Risk control
—
Exit
—

No English write-up in the source (no author description).

Read the Chinese version →

Parameters

ParametersDefaultDescription
Contract_Athis_week交易合约A
Contract_Bquarter交易合约B
Amount10开仓数量
Slip2滑价
Reversefalse反向交易
Source code (22 lines)

function main(){
    exchange.SetContractType(Reverse ? Contract_B : Contract_A)
    var ticker_A = exchange.GetTicker()
    if(!ticker_A){return 'Unable to get quotes'}
    exchange.SetDirection('buy')
    var id_A = exchange.Buy(ticker_A.Sell+Slip, Amount)
    exchange.SetContractType(Reverse ? Contract_B : Contract_A)
    var ticker_B = exchange.GetTicker()
    if(!ticker_B){return 'Unable to get quotes'}
    exchange.SetDirection('sell')
    var id_B = exchange.Sell(ticker_B.Buy-Slip, Amount)
    if(id_A){
        exchange.SetContractType(Reverse ? Contract_B : Contract_A)
        exchange.CancelOrder(id_A)
    }
    if(id_B){
        exchange.SetContractType(Reverse ? Contract_B : Contract_A)
        exchange.CancelOrder(id_B)
    }
    return 'Position: ' + JSON.stringify(exchange.GetPosition())
}