# Network 策略共享

Network

  1. 该对象封装了有关策略服务器功能操作的方法和属性。金字塔中策略服务分“服务器端”操作和“客户端”操作。主要功能是与客户端共享服务器本地预警数据和共享服务器上的公式.另外还担负手机监控方面的业务。
  2. 服务器端用来实现给链接的客户端提供实时买卖信号,或者给客户提供远程公式服务。客户端则是用来享受服务器端提供的各种服务。通过这种模式,用户可以更安全的共享您的策略与他人使用。
服务器端属性
属性 说明
UserCount 当前已连接客户数。该客户数分两种,一种是以远程预警为目的的连接的稳定连接。一种是公式请求的临时连接,该连接当公式数据下载完毕后会自动断开
Port 当前服务器端口
ServerState 只读属性,服务器端状态,0停止;1启动
FrameGignalAlarm 策略服务器启动后,是否允许发送图表程序化交易信号, 默认为1
BackSignalAlarm 策略服务器启动后,是否允许发送后台程序化交易信号, 默认为1
服务器端方法
方法 说明
Create 创建服务器,成功则返回1,否则返回0
StopServer 停止服务器
IsClientServer 是否已经开启客户端监控模式
SendClientMsg 发送用户自定义消息给客户端, SendClientMsg(Msg, Type) Msg 消息内容 Type 消息类型 0一般提醒消息 1严重错误消息
UserRemove 将指定序号用户从用户列表中剔除
UserType 返回指定序号用户的连接类型,例如 Msgbox Netword.UserType(0)
UserSend 向指定的用户发送消息,例如 Network.UserSend(0,"hello"),此时该用户将收到来自本服务器的消息
UserName 返回指定序号的用户名。注意:如果频繁调用该属性,请注意使用完毕后释放返回值
UserIp 返回指定序号的用户的IP地址。注意:如果频繁调用该属性,请注意使用完毕后释放返回值
UserLoginTime 返回指定序号的用户的登陆时间
SendHoldingSynchro 向指定用户发送持仓同步信息
SendAlarmSignal 向指定用户发送远程预警信息
SendPhoneMsg 发送用户自定义消息至手机微信端
IsPhoneServer 判断手机监控端服务是否开启,0未开启 1已开启
IsClientServer 判断监控客户端是否服务是否开启,0未开启 1已开启
SendClientMsg 将指定的消息发送到指定的远程监控服务端
SendClientMark 通过当前金字塔向远程监控服务端发送心跳数据
客户端方法
UserValidate 发送用户名密码至金钻版服务器上进行验证
服务器端事件
事件 说明
RequestFormula 当用户远程请求公式时发生
UserLogin 当用户登陆时发生
客户端事件
UserReceive 当客户端接收到服务器消息后发生
ReceiveType 服务器端消息类别通知
示例

跟单程序 如果我们需要在一台客户端上的买卖操作让其他客户端也同步跟进操作,可以用以下简单的VBA语句就能实现。该范例的优点是可以跟踪主客户端上的所有操作,包括程序化和手工交易的。

'在OrderStatusEx2事件中处理 \
Sub ORDER_OrderStatusEx2(OrderID, Status, Filled, Remaining, Price, Code, Market, OrderType, Aspect, Kaiping, Account, AccountType)

    if Status = "Tradeing" then
        dim action

        '仅处理成交回报消息 
        If Kaiping = 0 Then
            If Aspect = 0 Then
                action = "开多"
            else
                action = "开空"
            end if
        else
            If Aspect = 0 Then
                action = "平空"
            else
                action = "平多"
            end if
        end if

        '按照市价给所有连接客户发送交易信号 
        call network.SendAlarmSignal("",Code,Market,0,"VBA测试","服务器信号",action,1,1)
    end if

End Sub
1
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