4
집중하다
13
수행원

시뮬레이션 디스크 환경

만든 날짜: 2022-04-05 17:52:26, 업데이트 날짜: 2022-04-05 17:54:46
comments   0
hits   1087

소개: 이 전략은 실제 디스크를 지원하는 디스크 모형 환경을 만들기 위해 파이썬을 사용합니다.

환경 구성:

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

IFsign함수 초기화 환경, 실행 시 한 번만 로드되며, 변수를 생성한다 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() 함수는 이 위치 구조의 배열을 반환한다.

{
    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)

Sell 함수는 아래와 같습니다.판매권, 호출된 후에 주문 ID를 반환한다. 변수 값:Price는 주문 가격, 수량 타입이다. Amount는 주문 수량, 수량 타입이다.

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

exchange[0].CancelOrder(Id)

CancelOrder 함수는주문 취소, 호출 후 어떤 Id의 주문을 취소한다.

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

exchange[0].GetOrder(Id)

GetOrder 함수는완료된 주문을 가져오기, 호출된 후 어떤 Id의 주문 정보를 반환하고, 매개 변수를 채우지 않고 모든 주문 정보를 반환한다.

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

exchange[0].GetOrders(Id)

GetOrders 함수는미완성 주문을 가져오기, 호출된 후 어떤 Id의 주문 정보를 반환하고, 매개 변수를 채우지 않고 모든 주문 정보를 반환한다.

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

exchange[0].GetAccount()

GetAccount 함수는계정 정보를 얻습니다.。값을 반환한다:Account 구조 구조체。

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

exchange[0].GetPosition()

GetPosition 함수는현재 포지션 정보를 얻을 수 있습니다.。 반환값:position 구조의 배열。 포지션이 없는 경우 null 배열을 반환합니다.[]。

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(…)

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” 매매한 지점

디렉션 파라미터는 buy, closebuy, sell, closesell 네 개의 파라미터를 사용할 수 있다.

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)

정책 주소