# 簡易プログラム実行

# Python サンプル

# ステップ1:OpenD のダウンロード・インストール・ログイン

こちらを参考に、OpenD のダウンロード、インストール、ログインを完了してください。

# ステップ2:Python API のダウンロード

  • 方法1:cmd で直接 pip を使用してインストール。

    • 初回インストール:Windows $ pip install moomoo-api、Linux/Mac $ pip3 install moomoo-api
    • アップグレード:Windows $ pip install moomoo-api --upgrade、Linux/Mac $ pip3 install moomoo-api --upgrade
  • 方法2:moomoo 公式サイトから最新バージョンの Python API をダウンロードしてください。

# ステップ3:新規プロジェクトの作成

PyCharm を開き、Welcome to PyCharm ウィンドウで New Project をクリックします。既にプロジェクトを作成済みの場合は、そのプロジェクトを開いてください。

demo-newproject

# ステップ4:新規ファイルの作成

プロジェクト配下に新しい Python ファイルを作成し、以下のサンプルコードをファイルにコピーします。
サンプルコードの機能は、相場スナップショットの確認とデモ取引の発注です。

from moomoo import *

quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)  # 相場オブジェクトの作成
print(quote_ctx.get_market_snapshot('HK.00700'))  # 香港株 HK.00700 のスナップショットデータを取得
quote_ctx.close() # オブジェクトをクローズ。接続数の枯渇を防止


trd_ctx = OpenSecTradeContext(host='127.0.0.1', port=11111)  # 取引オブジェクトの作成
print(trd_ctx.place_order(price=500.0, qty=100, code="HK.00700", trd_side=TrdSide.BUY, trd_env=TrdEnv.SIMULATE))  # デモ取引で発注(本番環境の場合は事前に取引パスワードのロック解除が必要)

trd_ctx.close()  # オブジェクトをクローズ。接続数の枯渇を防止
1
2
3
4
5
6
7
8
9
10
11

# ステップ5:ファイルの実行

右クリックで実行すると、以下のような成功時の戻り情報が表示されます。

2020-11-05 17:09:29,705 [open_context_base.py] _socket_reconnect_and_wait_ready:255: Start connecting: host=127.0.0.1; port=11111;
2020-11-05 17:09:29,705 [open_context_base.py] on_connected:344: Connected : conn_id=1; 
2020-11-05 17:09:29,706 [open_context_base.py] _handle_init_connect:445: InitConnect ok: conn_id=1; info={'server_version': 218, 'login_user_id': 7157878, 'conn_id': 6730043337026687703, 'conn_key': '3F17CF3EEF912C92', 'conn_iv': 'C119DDDD6314F18A', 'keep_alive_interval': 10, 'is_encrypt': False};
(0,        code          update_time  last_price  open_price  high_price  ...  after_high_price  after_low_price  after_change_val  after_change_rate  after_amplitude
0  HK.00700  2020-11-05 16:08:06       625.0       610.0       625.0  ...               N/A              N/A               N/A                N/A              N/A

[1 rows x 132 columns])
2020-11-05 17:09:29,739 [open_context_base.py] _socket_reconnect_and_wait_ready:255: Start connecting: host=127.0.0.1; port=11111;
2020-11-05 17:09:29,739 [network_manager.py] work:366: Close: conn_id=1
2020-11-05 17:09:29,739 [open_context_base.py] on_connected:344: Connected : conn_id=2; 
2020-11-05 17:09:29,740 [open_context_base.py] _handle_init_connect:445: InitConnect ok: conn_id=2; info={'server_version': 218, 'login_user_id': 7157878, 'conn_id': 6730043337169705045, 'conn_key': 'A624CF3EEF91703C', 'conn_iv': 'BF1FF3806414617B', 'keep_alive_interval': 10, 'is_encrypt': False};
(0,        code stock_name trd_side order_type order_status  ... dealt_avg_price  last_err_msg  remark time_in_force fill_outside_rth
0  HK.00700       腾讯控股      BUY     NORMAL   SUBMITTING  ...             0.0                                 DAY              N/A

[1 rows x 16 columns])
2020-11-05 17:09:32,843 [network_manager.py] work:366: Close: conn_id=2
(0,        code stock_name trd_side      order_type order_status  ... dealt_avg_price  last_err_msg  remark time_in_force fill_outside_rth
0  HK.00700       腾讯控股      BUY  ABSOLUTE_LIMIT    SUBMITTED  ...             0.0                                 DAY              N/A

[1 rows x 16 columns])
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20