4
フォロー
13
フォロワー

シミュレーションディスク環境

作成日:: 2022-04-05 17:52:26, 更新日:: 2022-04-05 17:54:46
comments   0
hits   1087

紹介: この戦略は,Python言語を使用して,リッドディスクをサポートするアモロディックディスク環境を作成します.

環境設定:

def main():
    IFsign()
    SimSign()
    while True:
        SimGo()

IFsign函数初期化環境,実行時に1回しかロードされず,変数を作成する SimSign函数にはオブジェクトが含まれています. SimGo函数で模擬アカウントの値を計算し,ループを実行する必要があります.

データ構造:

Order オーダー構造は,exchange[0].GetOrder() 関数が返される

{
    Id          : 123456,        // 交易单唯一标识
    Price       : 1000,          // 下单价格
    Amount      : 10,            // 下单数量
    DealAmount  : 10,            // 成交数量
    AvgPrice    : 1000,          // 成交均价
    Side        : "BUY"          // 订单方向,常量里的订单类型有:BUY,SELL
    Type        : "LONG",        // 订单类型,常量里的订单类型有: LONG,SHORT,NULL
    profit      : 0,             // 订单收益,现货均返回NULL
    feeCcy      : 1,             // 订单手续费
}

Account アカウント情報:exchange[0].GetAccount() 関数は返される.

{
    Balance         : 1000,      // 可用计价币数量
    FrozenBalance   : 0,         // Balance表示的资产用于挂单的冻结数量
    Stocks          : 1,         // 可用交易币数量
    FrozenStocks    : 0          // Stocks表示的资产用于挂单的冻结数量
}

Position 期貨取引において保有するポジション情報[0].GetPosition() 関数は,このPosition構造の配列を返します.

{
    MarginLevel     : 10,        // 持仓杆杠大小
    Amount          : 100,       // 持仓量
    FrozenAmount    : 0,         // 仓位冻结量,用于平仓挂单时的临时冻结仓位数量
    Price           : 10000,     // 持仓均价
    Profit          : 0,         // 持仓浮动盈亏
    Type            : "LONG",    // LONG为多头仓位,SHORT为空头仓位
    Margin          : 1          // 仓位占用的保证金
}

APIのドキュメント:

この関数は,exchange[交易对序号]オブジェクト呼び出し

exchange[0].Buy(price,account)

Buy関数は,以下のように使えます.購入する,呼び出されてから注文IDを返します. 参数値:Priceは注文価格,数値タイプ. Amountは注文数量,数値タイプ.

def main():
    id = exchange[0].Buy(100, 1)
    Log("id:", id)

exchange[0].Sell(Price, Amount)

この関数は,販売券,呼び出されてから注文IDを返します. 参数値:Priceは注文価格,数値タイプ. Amountは注文数量,数値タイプ.

def main():
    id = exchange[0].Sell(100, 1)
    Log("id:", id)

exchange[0].CancelOrder(Id)

CancelOrder関数はキャンセル,呼び出し後にIdの注文をキャンセルする。パラメータ値:Idは注文番号。

def main():
    id = exchange[0].Sell(99999, 1)
    exchange[0].CancelOrder(id)

exchange[0].GetOrder(Id)

GetOrder関数は完成した注文を取得する,呼び出されてあるIdの注文情報を返し,参数を満たさずにすべての注文情報を返します. 参数値:Idは取得が必要な注文番号で,参数Idは整数型

def main():
    order = exchange[0].GetOrder()

exchange[0].GetOrders(Id)

GetOrders関数は待機した注文の取得,呼び出されてあるIdの注文情報を返し,参数を満たさずにすべての注文情報を返します. 参数値:Idは取得が必要な注文番号で,参数Idは整数型

def main():
    orders = exchange[0].GetOrders()

exchange[0].GetAccount()

GetAccount関数はアカウントの情報┃ 返される値は:Account構造構造体。

def main():
    account = exchange[0].GetAccount()

exchange[0].GetPosition()

GetPosition関数は現在のポジション情報〔返される値:position構造数列〕 〔返される値:position構造数列〕 〔返される値:position構造数列〕 〔返される値:position構造数列〕 〔返される値:position構造数列〕[]。

def main():
    exchange[0].SetContractType("swap")
    exchange[0].SetMarginLevel(10)
    exchange[0].SetDirection("buy")
    exchange[0].Buy(10000, 2)
    position = exchange[0].GetPosition()

exchange[0].SetMarginLevel(…)

この関数は,縦軸のサイズを設定する〇 参数値:数値タイプ。

def main():
    exchange[0].SetMarginLevel(10)

exchange[0].SetDirection(…)

SetDirection 関数は,exchange を設定する[0] 購入または交換[0].Sell関数は実行されます.期貨の注文方向: 参数値: 文字列型:

下位関数 SetDirection関数のパラメータ設定の方向 注記
exchange[0].Buy “buy” 買い物をする
exchange[0].Buy “closesell” 空き株を買った
exchange[0].Sell “sell” 空き倉庫を売却する
exchange[0].Sell “closebuy” 株式を売却する

パラメータDirectionはbuy,closebuy,sell,closesellの4つのパラメータを取ることができる。

def main():
    exchange[0].SetContractType("swap")
    exchange[0].SetMarginLevel(5)
    exchange[0].SetDirection("buy")
    exchange[0].Buy(10000, 2)
    exchange[0].SetMarginLevel(5)
    exchange[0].SetDirection("closebuy")
    exchange[0].Sell(1000, 2)

exchange[0].SetContractType(…)

SetContractType関数は,契約の種類を設定する≫ 参数値: 文字列型≫ ContractTypeは任意の文字列にすることができます.

def main():
    exchange[0].SetContractType("this_week")

exchange[0].SetServiceCharge()

SetServiceCharge関数は,手数料を設定する〇 参数値:数値タイプ。

def main():
    # 设置0.25%手续费
    exchange[0].SetServiceCharge(0.00025)

exchange[0].SetBalance()

SetBalance関数はバランスを設定する〇 参数値:数値タイプ。

def main():
    # 设置余额为10000
    exchange[0].SetBalance(10000)

exchange[0].SetSpread()

SetSpread関数は設定の差〇 参数値:数値タイプ。

def main():
    # 设置点差为0.005%
    exchange[0].SetSpread(0.005)

ポリシーアドレス