订阅信号的时候,要在常用选项里面全部勾选,另外订阅信号和取消订阅的时候会有延迟,需要耐心等待
- #property show_inputs
-
-
- void OnStart() {
-
- // 取消当前订阅的信号
- SignalUnsubscribe();
-
- // 获得信号总数
- int total = SignalBaseTotal();
-
- for(int i=total-1; i >= 0; i--) {
-
- if(SignalBaseSelect(i) == true) {
- // 信号的id, 名称, 售价, 交易次数
- int id = SignalBaseGetInteger(SIGNAL_BASE_ID);
- string name = SignalBaseGetString(SIGNAL_BASE_NAME);
- double price = SignalBaseGetDouble(SIGNAL_BASE_PRICE);
- int trade = SignalBaseGetInteger(SIGNAL_BASE_TRADES);
-
- if(price == 0 && trade > 0) {
- // 订阅之前的准备工作
- SignalInfoSetInteger(SIGNAL_INFO_TERMS_AGREE, 1);
- SignalInfoSetInteger(SIGNAL_INFO_SUBSCRIPTION_ENABLED, 1);
- SignalInfoSetInteger(SIGNAL_INFO_COPY_SLTP, 1);
- SignalInfoSetInteger(SIGNAL_INFO_CONFIRMATIONS_DISABLED, 1);
- SignalInfoSetInteger(SIGNAL_INFO_DEPOSIT_PERCENT, 20);
-
- SignalInfoSetDouble(SIGNAL_INFO_EQUITY_LIMIT, 4500);
- SignalInfoSetDouble(SIGNAL_INFO_SLIPPAGE, 1.5);
-
- // 订阅信号
- if(SignalSubscribe(id) == false) {
- Print(GetLastError());
- } else {
- Print("success");
- }
- break;
- }
-
- }
-
- }
-
- }
-
复制代码
|