# 発注

place_order(price, qty, code, trd_side, order_type=OrderType.NORMAL, adjust_limit=0, trd_env=TrdEnv.REAL, acc_id=0, acc_index=0, remark=None, time_in_force=TimeInForce.DAY, fill_outside_rth=False, aux_price=None, trail_type=None, trail_value=None, trail_spread=None, session=Session.NONE, jp_acc_type=SubAccType.JP_GENERAL, position_id=NONE)

  • 概要

    発注

    提示

    Python API は同期的ですが、ネットワークの送受信は非同期です。place_order の応答データパケットと約定プッシュコールバックまたは注文プッシュコールバックの間隔が非常に短い場合、place_order のデータパケットが先に返されるにもかかわらず、コールバック関数が先に呼び出されることがあります。例:注文プッシュコールバックが先に呼び出され、その後に place_order API が返されることがあります。

  • パラメータ

    パラメータ 説明
    price float 注文価格
    qty float 注文数量
    code str 銘柄コード
    trd_side TrdSide 取引方向
    order_type OrderType 注文タイプ
    adjust_limit float 価格微調整幅
    trd_env TrdEnv 取引環境
    acc_id int 取引口座 ID
    acc_index int 取引口座リスト内の口座インデックス
    remark str 備考
    time_in_force TimeInForce 有効期限
    fill_outside_rth bool プレ/アフターマーケットを許可するかどうか
    aux_price float トリガー価格
    trail_type TrailType トレーリングタイプ
    trail_value float トレーリング金額/パーセント
    trail_spread float 指定スプレッド
    session Session 米国株取引時間帯
    jp_acc_type SubAccType 日本口座タイプ
    position_id int ポジションID
  • 戻り値

    パラメータ 説明
    ret RET_CODE API呼び出し結果
    data pd.DataFrame ret == RET_OK の場合、注文リストを返す
    str ret != RET_OK の場合、エラー説明を返す
    • 注文リストフォーマットは以下の通り:
      フィールド タイプ 説明
      trd_side TrdSide 取引方向
      order_type OrderType 注文タイプ
      order_status OrderStatus 注文ステータス
      order_id str 注文番号
      code str 銘柄コード
      stock_name str 銘柄名
      qty float 注文数量
      price float 注文価格
      create_time str 作成日時
      updated_time str 最終更新日時
      dealt_qty float 約定数量
      dealt_avg_price float 約定平均価格
      last_err_msg str 最新のエラー説明
      remark str 発注時の備考識別子
      time_in_force TimeInForce 有効期限
      fill_outside_rth bool プレ/アフターマーケットを許可するかどうか(香港株プレマーケットオークションおよび米国株プレ/アフターマーケットに使用)
      aux_price float トリガー価格
      trail_type TrailType トレーリングタイプ
      trail_value float トレーリング金额/パーセント
      trail_spread float 指定スプレッド
      session Session 取引注文時間帯(米国株にのみ使用)
  • Example

from moomoo import *
pwd_unlock = '123456'
trd_ctx = OpenSecTradeContext(filter_trdmarket=TrdMarket.US, host='127.0.0.1', port=11111, security_firm=SecurityFirm.FUTUINC)
ret, data = trd_ctx.unlock_trade(pwd_unlock)  # 本番口座で発注する場合は先にロック解除が必要です。ここではデモ口座での発注のため、ロック解除を省略できます。
if ret == RET_OK:
    ret, data = trd_ctx.place_order(price=510.0, qty=100, code="US.AAPL", trd_side=TrdSide.BUY, trd_env=TrdEnv.SIMULATE, session=Session.NONE)
    if ret == RET_OK:
        print(data)
        print(data['order_id'][0])  # 発注の注文番号を取得
        print(data['order_id'].values.tolist())  # list に変換
    else:
        print('place_order error: ', data)
else:
    print('unlock_trade failed: ', data)
trd_ctx.close()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  • Output

       code stock_name trd_side order_type order_status           order_id    qty  price          create_time         updated_time  dealt_qty  dealt_avg_price last_err_msg remark time_in_force fill_outside_rth session aux_price trail_type trail_value trail_spread currency
0  US.AAPL        苹果        BUY     NORMAL   SUBMITTING  38196006548709500  100.0  420.0  2021-11-04 11:38:19  2021-11-04 11:38:19        0.0              0.0                               DAY              N/A       N/A    N/A     N/A         N/A          N/A      USD
38196006548709500
['38196006548709500']
1
2
3
4
5

APIレート制限

  • 同一口座 ID(acc_id)につき、30秒以内に発注APIを最大15回までリクエスト可能です。また、連続するリクエストの間隔は 0.02 秒以上必要です。
  • 本番口座で発注APIを呼び出す前に、ロック解除が必要です。デモ口座ではロック解除は不要です。

ご注意

  • 各注文タイプに対応する必須パラメータ:こちらをご覧ください
  • 各証券会社は取引品目ごとに1回の注文の株数を制限しており、制限を超えると発注が失敗します。こちらをご覧ください
  • 空売り可能な銘柄について、現在ロック機能に対応していないため、同一銘柄のロングポジションとショートポジションを同時に保有することはできません。
  • 空売り可能な銘柄決済操作を行う場合、ポジションの方向を自分で判断し、反対方向の同数量の注文を提出して決済を完了する必要があります。
  • 空売り可能な銘柄ドテン操作を行う場合、2つのステップが必要です:1. まずポジションの方向を判断し、反対方向の同数量の注文を提出して決済を完了します。2. 反対方向の注文を提出し、逆方向の注文を完了します。
    例:A が現在 HK.HSI2012 先物契約の買いポジションを1枚保有している場合、ドテンするには、まず HK.HSI2012 を1枚売って決済し、さらに HK.HSI2012 を1枚売ってショートポジションを建てる必要があります。
  • 米国株の全時間帯取引は指値注文にのみ対応しており、注文期限は当日有効または取消まで有効を選択できます。全時間帯を選択すると、1回の指値注文で複数の時間帯(夜間取引、プレマーケット、立会時間中、アフターマーケット)の取引に参加できます。全時間帯の取引時間は日曜日から木曜日の 20:00 ~ 翌日 20:00(米国東部時間)です。
  • 米国株デモ取引不対応プレ/アフターマーケット与夜間取引。