# 異常取引アラート設定
- Python
- Proto
- C#
- Java
- C++
- JavaScript
set_option_event_alert(op, alert_list=None)
説明
オプション異常取引アラートの新規追加、修正、削除、有効化/無効化を行います。
パラメータ
パラメータ 型 説明 op AlertOpType 操作タイプ ADD=新規追加、DELETE=削除、MODIFY=修正、ENABLE=有効化、DISABLE=無効化、DELETE_ALL=全削除alert_list OptionEventAlertItem または list[OptionEventAlertItem] アラート条目 新規追加時は key 不要、修正/削除時は key 必須OptionEventAlertItem 各フィールド:
フィールド 型 説明 key int アラート一意識別子(修正/削除/有効化/無効化時必須) enable bool アラートスイッチ option_market OptionMarket 監視するオプション市場(三択一) watchlist_group_name str ウォッチリストグループ名(三択一) underlying str 指定原資産コード、例: 'US.AAPL'(三択一)option_type OptionType オプションタイプ(CALL/PUT) side_type_list list[EventTickerType] 約定方向リスト order_type_list list[AlertOrderType] 注文タイプリスト market_cap_range_min float 原資産時価総額下限 market_cap_range_max float 原資産時価総額上限 market_cap_min_inclusive bool 原資産時価総額下限が閉区間かどうか(デフォルト True) market_cap_max_inclusive bool 原資産時価総額上限が閉区間かどうか(デフォルト True) expiry_days_range_min float 満期までの日数下限 expiry_days_range_max float 満期までの日数上限 expiry_days_min_inclusive bool 満期までの日数下限が閉区間かどうか(デフォルト True) expiry_days_max_inclusive bool 満期までの日数上限が閉区間かどうか(デフォルト True) price_range_min float 異常取引約定価格下限 price_range_max float 異常取引約定価格上限 price_min_inclusive bool 異常取引約定価格下限が閉区間かどうか(デフォルト True) price_max_inclusive bool 異常取引約定価格上限が閉区間かどうか(デフォルト True) size_range_min float 異常取引約定数量下限(枚) size_range_max float 異常取引約定数量上限(枚) size_min_inclusive bool 異常取引約定数量下限が閉区間かどうか(デフォルト True) size_max_inclusive bool 異常取引約定数量上限が閉区間かどうか(デフォルト True) premium_range_min float 異常取引約定金額下限 premium_range_max float 異常取引約定金額上限 premium_min_inclusive bool 異常取引約定金額下限が閉区間かどうか(デフォルト True) premium_max_inclusive bool 異常取引約定金額上限が閉区間かどうか(デフォルト True) iv_range_min float インプライドボラティリティ下限(%) iv_range_max float インプライドボラティリティ上限(%) iv_min_inclusive bool インプライドボラティリティ下限が閉区間かどうか(デフォルト True) iv_max_inclusive bool インプライドボラティリティ上限が閉区間かどうか(デフォルト True) earnings_date_begin str 決算日フィルタ開始日(yyyy-MM-dd) earnings_date_end str 決算日フィルタ終了日(yyyy-MM-dd) note str メモ(最大20文字)
監視範囲:
option_market、watchlist_group_name、underlyingは相互排他で、新規追加時にいずれか一つを設定する必要があります。戻り値
パラメータ 型 説明 ret RET_CODE インターフェース呼び出し結果 data str ret == RET_OK の場合、空文字列を返す str ret != RET_OK の場合、エラー説明を返す Example
from futu import *
quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)
# アラート新規追加:米株オプション市場のCALLスイープ、約定数量 > 100(開区間)
item = OptionEventAlertItem(
option_market=OptionMarket.US_SECURITY,
option_type=OptionType.CALL,
order_type_list=[AlertOrderType.SWEEP],
size_range_min=100,
size_min_inclusive=False,
note='test'
)
ret, data = quote_ctx.set_option_event_alert(AlertOpType.ADD, item)
if ret == RET_OK:
print('新増成功')
else:
print('error:', data)
quote_ctx.close()
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
- Output
新増成功
# Qot_SetOptionEventAlert.proto
説明
オプション異常取引アラートの新規追加、修正、削除、有効化/無効化
パラメータ
enum AlertOpType {
AlertOpType_Unknown = 0;
AlertOpType_Add = 1;
AlertOpType_Delete = 2;
AlertOpType_Modify = 3;
AlertOpType_Enable = 4;
AlertOpType_Disable = 5;
AlertOpType_DeleteAll = 6;
}
message C2S {
required int32 operType = 1;
repeated Qot_GetOptionEventAlert.EventAlertItem alertList = 2;
}
message Request {
required C2S c2s = 1;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- 戻り値
message S2C {
}
message Response {
required int32 retType = 1 [default = -400]; //RetType、戻り結果
optional string retMsg = 2;
optional int32 errCode = 3;
optional S2C s2c = 4;
}
2
3
4
5
6
7
8
9
- インターフェース呼び出し結果、構造は RetType を参照
プロトコル ID
3309
uint SetOptionEventAlert(Qot_SetOptionEventAlert.Request req); virtual void OnReply_SetOptionEventAlert(FTAPI_Conn client, uint nSerialNo, Qot_SetOptionEventAlert.Response rsp);
説明
オプション異常取引アラートの新規追加、修正、削除、有効化/無効化
パラメータ
enum AlertOpType {
AlertOpType_Unknown = 0;
AlertOpType_Add = 1;
AlertOpType_Delete = 2;
AlertOpType_Modify = 3;
AlertOpType_Enable = 4;
AlertOpType_Disable = 5;
AlertOpType_DeleteAll = 6;
}
message C2S {
required int32 operType = 1;
repeated Qot_GetOptionEventAlert.EventAlertItem alertList = 2;
}
message Request {
required C2S c2s = 1;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- 戻り値
message S2C {
}
message Response {
required int32 retType = 1 [default = -400]; //RetType、戻り結果
optional string retMsg = 2;
optional int32 errCode = 3;
optional S2C s2c = 4;
}
2
3
4
5
6
7
8
9
- インターフェース呼び出し結果、構造は RetType を参照
プロトコル ID
3309
int setOptionEventAlert(Qot_SetOptionEventAlert.Request req) onReply_SetOptionEventAlert(FTAPI_Conn client, int nSerialNo, Qot_SetOptionEventAlert.Response rsp)
説明
オプション異常取引アラートの新規追加、修正、削除、有効化/無効化
パラメータ
enum AlertOpType {
AlertOpType_Unknown = 0;
AlertOpType_Add = 1;
AlertOpType_Delete = 2;
AlertOpType_Modify = 3;
AlertOpType_Enable = 4;
AlertOpType_Disable = 5;
AlertOpType_DeleteAll = 6;
}
message C2S {
required int32 operType = 1;
repeated Qot_GetOptionEventAlert.EventAlertItem alertList = 2;
}
message Request {
required C2S c2s = 1;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- 戻り値
message S2C {
}
message Response {
required int32 retType = 1 [default = -400]; //RetType、戻り結果
optional string retMsg = 2;
optional int32 errCode = 3;
optional S2C s2c = 4;
}
2
3
4
5
6
7
8
9
- インターフェース呼び出し結果、構造は RetType を参照
プロトコル ID
3309
Futu::u32_t SetOptionEventAlert(const Qot_SetOptionEventAlert::Request &stReq);
virtual void OnReply_SetOptionEventAlert(Futu::u32_t nSerialNo, const Qot_SetOptionEventAlert::Response &stRsp) = 0;
説明
オプション異常取引アラートの新規追加、修正、削除、有効化/無効化
パラメータ
enum AlertOpType {
AlertOpType_Unknown = 0;
AlertOpType_Add = 1;
AlertOpType_Delete = 2;
AlertOpType_Modify = 3;
AlertOpType_Enable = 4;
AlertOpType_Disable = 5;
AlertOpType_DeleteAll = 6;
}
message C2S {
required int32 operType = 1;
repeated Qot_GetOptionEventAlert.EventAlertItem alertList = 2;
}
message Request {
required C2S c2s = 1;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- 戻り値
message S2C {
}
message Response {
required int32 retType = 1 [default = -400]; //RetType、戻り結果
optional string retMsg = 2;
optional int32 errCode = 3;
optional S2C s2c = 4;
}
2
3
4
5
6
7
8
9
- インターフェース呼び出し結果、構造は RetType を参照
プロトコル ID
3309
Example
class Program : public FTSPI_Qot, public FTSPI_Conn
{
public:
Program() {
m_pQotApi = FTAPI::CreateQotApi();
m_pQotApi->RegisterQotSpi(this);
m_pQotApi->RegisterConnSpi(this);
}
~Program() {
if (m_pQotApi != nullptr) {
m_pQotApi->UnregisterQotSpi();
m_pQotApi->UnregisterConnSpi();
FTAPI::ReleaseQotApi(m_pQotApi);
m_pQotApi = nullptr;
}
}
void Start() {
m_pQotApi->InitConnect("127.0.0.1", 11111, false);
}
virtual void OnInitConnect(FTAPI_Conn* pConn, Futu::i64_t nErrCode, const char* strDesc) {
Qot_SetOptionEventAlert::Request req;
Qot_SetOptionEventAlert::C2S *c2s = req.mutable_c2s();
// TODO: 按 proto 填充 c2s 字段
m_SetOptionEventAlertSerialNo = m_pQotApi->SetOptionEventAlert(req);
}
virtual void OnReply_SetOptionEventAlert(Futu::u32_t nSerialNo, const Qot_SetOptionEventAlert::Response &stRsp) {
if (nSerialNo != m_SetOptionEventAlertSerialNo) return;
string resp_str;
ProtoBufToBodyData(stRsp, resp_str);
cout << UTF8ToLocal(resp_str) << endl;
}
protected:
FTAPI_Qot *m_pQotApi;
Futu::u32_t m_SetOptionEventAlertSerialNo = 0;
};
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
setOptionEventAlert(qotSetOptionEventAlert)
説明
オプション異常取引アラートの新規追加、修正、削除、有効化/無効化
パラメータ
enum AlertOpType {
AlertOpType_Unknown = 0;
AlertOpType_Add = 1;
AlertOpType_Delete = 2;
AlertOpType_Modify = 3;
AlertOpType_Enable = 4;
AlertOpType_Disable = 5;
AlertOpType_DeleteAll = 6;
}
message C2S {
required int32 operType = 1;
repeated Qot_GetOptionEventAlert.EventAlertItem alertList = 2;
}
message Request {
required C2S c2s = 1;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- 戻り値
message S2C {
}
message Response {
required int32 retType = 1 [default = -400]; //RetType、戻り結果
optional string retMsg = 2;
optional int32 errCode = 3;
optional S2C s2c = 4;
}
2
3
4
5
6
7
8
9
- インターフェース呼び出し結果、構造は RetType を参照
プロトコル ID
3309
Example
import ftWebsocket from "futu-api";
import { Common, Qot_Common, Qot_OptionCommon, Qot_GetOptionEvent, Qot_SetOptionEventAlert } from "futu-api/proto";
import beautify from "js-beautify";
function QotSetOptionEventAlert(){
const { RetType } = Common
const { OptionMarket } = Qot_OptionCommon
const { OptionType } = Qot_Common
const { OptionOrderType } = Qot_GetOptionEvent
const { AlertOpType } = Qot_SetOptionEventAlert
let [addr, port, enable_ssl, key] = ["127.0.0.1", 33333, false, '7522027ccf5a06b1'];
let websocket = new ftWebsocket();
websocket.onlogin = (ret, msg)=>{
if (ret) {
// 新增一个异动告警:监控美股股票期权市场的 CALL 扫单,成交量 >= 100
const req = {
c2s: {
operType: AlertOpType.AlertOpType_Add,
alertList: [
{
optionMarket: OptionMarket.OptionMarket_US_Security,
optionType: OptionType.OptionType_Call,
orderTypeList: [OptionOrderType.OptionOrderType_Sweep],
sizeRange: { filterMin: { value: 100, includes: true } },
note: "test",
}
],
},
};
websocket.SetOptionEventAlert(req)
.then((res)=>{
let { errCode, retMsg, retType, s2c } = res
console.log("SetOptionEventAlert: errCode %d, retMsg %s, retType %d", errCode, retMsg, retType);
if(retType == RetType.RetType_Succeed){
console.log("新增成功");
}
})
.catch((error)=>{ console.log("error:", error); });
} else {
console.log("start error", msg);
}
};
websocket.start(addr, port, enable_ssl, key);
setTimeout(()=>{ websocket.stop(); process.exit(); }, 5000);
}
QotSetOptionEventAlert()
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
- Output
SetOptionEventAlert: errCode 0, retMsg , retType 0
新增成功
2
インターフェース制限
- 30秒以内に最大60回の異常取引アラート設定インターフェースリクエスト
- Python
- Proto
- C#
- Java
- C++
- JavaScript
set_option_event_alert(op, alert_list=None)
説明
オプション異常取引アラートの新規追加、修正、削除、有効化/無効化を行います。
パラメータ
パラメータ 型 説明 op AlertOpType 操作タイプ ADD=新規追加、DELETE=削除、MODIFY=修正、ENABLE=有効化、DISABLE=無効化、DELETE_ALL=全削除alert_list OptionEventAlertItem または list[OptionEventAlertItem] アラート条目 新規追加時は key 不要、修正/削除時は key 必須OptionEventAlertItem 各フィールド:
フィールド 型 説明 key int アラート一意識別子(修正/削除/有効化/無効化時必須) enable bool アラートスイッチ option_market OptionMarket 監視するオプション市場(三択一) watchlist_group_name str ウォッチリストグループ名(三択一) underlying str 指定原資産コード、例: 'US.AAPL'(三択一)option_type OptionType オプションタイプ(CALL/PUT) side_type_list list[EventTickerType] 約定方向リスト order_type_list list[AlertOrderType] 注文タイプリスト market_cap_range_min float 原資産時価総額下限 market_cap_range_max float 原資産時価総額上限 market_cap_min_inclusive bool 原資産時価総額下限が閉区間かどうか(デフォルト True) market_cap_max_inclusive bool 原資産時価総額上限が閉区間かどうか(デフォルト True) expiry_days_range_min float 満期までの日数下限 expiry_days_range_max float 満期までの日数上限 expiry_days_min_inclusive bool 満期までの日数下限が閉区間かどうか(デフォルト True) expiry_days_max_inclusive bool 満期までの日数上限が閉区間かどうか(デフォルト True) price_range_min float 異常取引約定価格下限 price_range_max float 異常取引約定価格上限 price_min_inclusive bool 異常取引約定価格下限が閉区間かどうか(デフォルト True) price_max_inclusive bool 異常取引約定価格上限が閉区間かどうか(デフォルト True) size_range_min float 異常取引約定数量下限(枚) size_range_max float 異常取引約定数量上限(枚) size_min_inclusive bool 異常取引約定数量下限が閉区間かどうか(デフォルト True) size_max_inclusive bool 異常取引約定数量上限が閉区間かどうか(デフォルト True) premium_range_min float 異常取引約定金額下限 premium_range_max float 異常取引約定金額上限 premium_min_inclusive bool 異常取引約定金額下限が閉区間かどうか(デフォルト True) premium_max_inclusive bool 異常取引約定金額上限が閉区間かどうか(デフォルト True) iv_range_min float インプライドボラティリティ下限(%) iv_range_max float インプライドボラティリティ上限(%) iv_min_inclusive bool インプライドボラティリティ下限が閉区間かどうか(デフォルト True) iv_max_inclusive bool インプライドボラティリティ上限が閉区間かどうか(デフォルト True) earnings_date_begin str 決算日フィルタ開始日(yyyy-MM-dd) earnings_date_end str 決算日フィルタ終了日(yyyy-MM-dd) note str メモ(最大20文字)
監視範囲:
option_market、watchlist_group_name、underlyingは相互排他で、新規追加時にいずれか一つを設定する必要があります。戻り値
パラメータ 型 説明 ret RET_CODE インターフェース呼び出し結果 data str ret == RET_OK の場合、空文字列を返す str ret != RET_OK の場合、エラー説明を返す Example
from moomoo import *
quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)
# アラート新規追加:米株オプション市場のCALLスイープ、約定数量 > 100(開区間)
item = OptionEventAlertItem(
option_market=OptionMarket.US_SECURITY,
option_type=OptionType.CALL,
order_type_list=[AlertOrderType.SWEEP],
size_range_min=100,
size_min_inclusive=False,
note='test'
)
ret, data = quote_ctx.set_option_event_alert(AlertOpType.ADD, item)
if ret == RET_OK:
print('新増成功')
else:
print('error:', data)
quote_ctx.close()
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
- Output
新増成功
# Qot_SetOptionEventAlert.proto
説明
オプション異常取引アラートの新規追加、修正、削除、有効化/無効化
パラメータ
enum AlertOpType {
AlertOpType_Unknown = 0;
AlertOpType_Add = 1;
AlertOpType_Delete = 2;
AlertOpType_Modify = 3;
AlertOpType_Enable = 4;
AlertOpType_Disable = 5;
AlertOpType_DeleteAll = 6;
}
message C2S {
required int32 operType = 1;
repeated Qot_GetOptionEventAlert.EventAlertItem alertList = 2;
}
message Request {
required C2S c2s = 1;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- 戻り値
message S2C {
}
message Response {
required int32 retType = 1 [default = -400]; //RetType、戻り結果
optional string retMsg = 2;
optional int32 errCode = 3;
optional S2C s2c = 4;
}
2
3
4
5
6
7
8
9
- インターフェース呼び出し結果、構造は RetType を参照
プロトコル ID
3309
uint SetOptionEventAlert(Qot_SetOptionEventAlert.Request req); virtual void OnReply_SetOptionEventAlert(MMAPI_Conn client, uint nSerialNo, Qot_SetOptionEventAlert.Response rsp);
説明
オプション異常取引アラートの新規追加、修正、削除、有効化/無効化
パラメータ
enum AlertOpType {
AlertOpType_Unknown = 0;
AlertOpType_Add = 1;
AlertOpType_Delete = 2;
AlertOpType_Modify = 3;
AlertOpType_Enable = 4;
AlertOpType_Disable = 5;
AlertOpType_DeleteAll = 6;
}
message C2S {
required int32 operType = 1;
repeated Qot_GetOptionEventAlert.EventAlertItem alertList = 2;
}
message Request {
required C2S c2s = 1;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- 戻り値
message S2C {
}
message Response {
required int32 retType = 1 [default = -400]; //RetType、戻り結果
optional string retMsg = 2;
optional int32 errCode = 3;
optional S2C s2c = 4;
}
2
3
4
5
6
7
8
9
- インターフェース呼び出し結果、構造は RetType を参照
プロトコル ID
3309
int setOptionEventAlert(Qot_SetOptionEventAlert.Request req) onReply_SetOptionEventAlert(MMAPI_Conn client, int nSerialNo, Qot_SetOptionEventAlert.Response rsp)
説明
オプション異常取引アラートの新規追加、修正、削除、有効化/無効化
パラメータ
enum AlertOpType {
AlertOpType_Unknown = 0;
AlertOpType_Add = 1;
AlertOpType_Delete = 2;
AlertOpType_Modify = 3;
AlertOpType_Enable = 4;
AlertOpType_Disable = 5;
AlertOpType_DeleteAll = 6;
}
message C2S {
required int32 operType = 1;
repeated Qot_GetOptionEventAlert.EventAlertItem alertList = 2;
}
message Request {
required C2S c2s = 1;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- 戻り値
message S2C {
}
message Response {
required int32 retType = 1 [default = -400]; //RetType、戻り結果
optional string retMsg = 2;
optional int32 errCode = 3;
optional S2C s2c = 4;
}
2
3
4
5
6
7
8
9
- インターフェース呼び出し結果、構造は RetType を参照
プロトコル ID
3309
Moomoo::u32_t SetOptionEventAlert(const Qot_SetOptionEventAlert::Request &stReq);
virtual void OnReply_SetOptionEventAlert(Moomoo::u32_t nSerialNo, const Qot_SetOptionEventAlert::Response &stRsp) = 0;
説明
オプション異常取引アラートの新規追加、修正、削除、有効化/無効化
パラメータ
enum AlertOpType {
AlertOpType_Unknown = 0;
AlertOpType_Add = 1;
AlertOpType_Delete = 2;
AlertOpType_Modify = 3;
AlertOpType_Enable = 4;
AlertOpType_Disable = 5;
AlertOpType_DeleteAll = 6;
}
message C2S {
required int32 operType = 1;
repeated Qot_GetOptionEventAlert.EventAlertItem alertList = 2;
}
message Request {
required C2S c2s = 1;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- 戻り値
message S2C {
}
message Response {
required int32 retType = 1 [default = -400]; //RetType、戻り結果
optional string retMsg = 2;
optional int32 errCode = 3;
optional S2C s2c = 4;
}
2
3
4
5
6
7
8
9
- インターフェース呼び出し結果、構造は RetType を参照
プロトコル ID
3309
Example
class Program : public MMSPI_Qot, public MMSPI_Conn
{
public:
Program() {
m_pQotApi = MMAPI::CreateQotApi();
m_pQotApi->RegisterQotSpi(this);
m_pQotApi->RegisterConnSpi(this);
}
~Program() {
if (m_pQotApi != nullptr) {
m_pQotApi->UnregisterQotSpi();
m_pQotApi->UnregisterConnSpi();
MMAPI::ReleaseQotApi(m_pQotApi);
m_pQotApi = nullptr;
}
}
void Start() {
m_pQotApi->InitConnect("127.0.0.1", 11111, false);
}
virtual void OnInitConnect(MMAPI_Conn* pConn, Moomoo::i64_t nErrCode, const char* strDesc) {
Qot_SetOptionEventAlert::Request req;
Qot_SetOptionEventAlert::C2S *c2s = req.mutable_c2s();
// TODO: 按 proto 填充 c2s 字段
m_SetOptionEventAlertSerialNo = m_pQotApi->SetOptionEventAlert(req);
}
virtual void OnReply_SetOptionEventAlert(Moomoo::u32_t nSerialNo, const Qot_SetOptionEventAlert::Response &stRsp) {
if (nSerialNo != m_SetOptionEventAlertSerialNo) return;
string resp_str;
ProtoBufToBodyData(stRsp, resp_str);
cout << UTF8ToLocal(resp_str) << endl;
}
protected:
MMAPI_Qot *m_pQotApi;
Moomoo::u32_t m_SetOptionEventAlertSerialNo = 0;
};
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
setOptionEventAlert(qotSetOptionEventAlert)
説明
オプション異常取引アラートの新規追加、修正、削除、有効化/無効化
パラメータ
enum AlertOpType {
AlertOpType_Unknown = 0;
AlertOpType_Add = 1;
AlertOpType_Delete = 2;
AlertOpType_Modify = 3;
AlertOpType_Enable = 4;
AlertOpType_Disable = 5;
AlertOpType_DeleteAll = 6;
}
message C2S {
required int32 operType = 1;
repeated Qot_GetOptionEventAlert.EventAlertItem alertList = 2;
}
message Request {
required C2S c2s = 1;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- 戻り値
message S2C {
}
message Response {
required int32 retType = 1 [default = -400]; //RetType、戻り結果
optional string retMsg = 2;
optional int32 errCode = 3;
optional S2C s2c = 4;
}
2
3
4
5
6
7
8
9
- インターフェース呼び出し結果、構造は RetType を参照
プロトコル ID
3309
Example
import mmWebsocket from "moomoo-api";
import { Common, Qot_Common, Qot_OptionCommon, Qot_GetOptionEvent, Qot_SetOptionEventAlert } from "moomoo-api/proto";
import beautify from "js-beautify";
function QotSetOptionEventAlert(){
const { RetType } = Common
const { OptionMarket } = Qot_OptionCommon
const { OptionType } = Qot_Common
const { OptionOrderType } = Qot_GetOptionEvent
const { AlertOpType } = Qot_SetOptionEventAlert
let [addr, port, enable_ssl, key] = ["127.0.0.1", 33333, false, '7522027ccf5a06b1'];
let websocket = new mmWebsocket();
websocket.onlogin = (ret, msg)=>{
if (ret) {
// 新增一个异动告警:监控美股股票期权市场的 CALL 扫单,成交量 >= 100
const req = {
c2s: {
operType: AlertOpType.AlertOpType_Add,
alertList: [
{
optionMarket: OptionMarket.OptionMarket_US_Security,
optionType: OptionType.OptionType_Call,
orderTypeList: [OptionOrderType.OptionOrderType_Sweep],
sizeRange: { filterMin: { value: 100, includes: true } },
note: "test",
}
],
},
};
websocket.SetOptionEventAlert(req)
.then((res)=>{
let { errCode, retMsg, retType, s2c } = res
console.log("SetOptionEventAlert: errCode %d, retMsg %s, retType %d", errCode, retMsg, retType);
if(retType == RetType.RetType_Succeed){
console.log("新增成功");
}
})
.catch((error)=>{ console.log("error:", error); });
} else {
console.log("start error", msg);
}
};
websocket.start(addr, port, enable_ssl, key);
setTimeout(()=>{ websocket.stop(); process.exit(); }, 5000);
}
QotSetOptionEventAlert()
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
- Output
SetOptionEventAlert: errCode 0, retMsg , retType 0
新增成功
2
インターフェース制限
- 30秒以内に最大60回の異常取引アラート設定インターフェースリクエスト