Websocket如何? - 页 23

 
Алексей Барбашин:

所以你表示你希望能够自己享受这个过程。请理解:不能要求服务器提供特定的蜡烛图,只能提供选定日期的蜡烛图范围。所以要朝这个方向思考。

那么最好是把数据写到一个文件里。我不明白如何添加一个文件夹

 
找到了,添加了
 
Maxim Kuznetsov:

是否有可能进行干预?

没有人想事先在MT方面做一个类/界面吗?

即给出一个具体的、经过讨论并可执行的职责范围。

让我们开始吧。


class Hibou {

Hidou(string url=HIBOU_WS_URL);  // думаю почти бесспорно

~Hibou();

void DoEvent(); // веб-сокеты асинхронны, а может в тредах реализуем, будем дёргать при первой возможности

int State(); // некое текущее состояние

/// хенды по событиям протокола, вызываемые из DoEvevnt

virtual void OnConnect();  //  соеденились - зашибись

virtual void OnMessage(string json); // получили внятный Event

/// и так далее - заказчик представляет как он намерен использовать интерфейс.

/// если он этого не знает, мы за него ничего придумать не можем, клиника в руках пациентов

}

不可以!你必须这样做!越多感兴趣的人参与进来越好!

通常On[Event|Connect|Message]等是用来通知事件发生的,但我们没有能力通知MT,这样的事件模型很遗憾不存在,我们不能把消息传递给MT((((。

因此,我们只剩下一种由mql定期轮询sharp的方法,例如通过一个微不足道的计时器。(((

为了使一切都能正确发生...每个读过mql帮助的人都多次注意到 "事件队列 "这个表述,包括Renat在内的开发者在每一步都告诉我们,所有的终端事件 都是同步的,都是按队列顺序处理的,所有的系统和终端事件都被放在这个队列中,按顺序处理。这就是为什么我在第一版中建议使用相同的交换机制:队列。

 

将Nuget软件包中的WebSocket4Net库连接到我们的项目。

描述一下插座类。给它添加IsOpen属性,它将负责说明套接字是开放的这一事实。

从字面上看,插座类的形式化很轻,我们通过上下文提示来写必要的信息。


接下来,我们细化全局经理。在其静态构造函数中,我们将立即创建一个套接字的实例,这样就不会忘记它。


我听了马克西姆的话,在全局管理器中增加了与特定经纪人的连接方法。在其他经纪商发展的情况下,这将是很方便的。

我们正在完善web-socket并为socket本身创建事件处理程序。


 
Алексей Барбашин:


我听取了马克西姆的意见,在全局管理器中增加了一个经纪人专用的连接方法。如果有其他经纪人的发展,这将是很方便的。

你一定是用你的第三只眼睛在听:-)

 
Maxim Kuznetsov:

你一定是用你的第三只眼睛在听:-)

马克斯,你建议创建一个类,但我们有GlobalManager类,用于一般的方法,我认为创建一个单独的特定类没有任何意义。

至于MT的接口,我们将有ConnectorMQL类,届时我们将在控制台模式下测试我们的所有方法。

如果我有什么不对的地方,请纠正我,试着用一点不同的方式表达你的观点,不要草率下结论。

P.S. 当然,你不仅可以做一个像ConnectorMQL这样的通用入口,实际上还可以做一个单独的类HuobiMQL,它将向全局管理器发送专门的命令。
 
Алексей Барбашин:

我看不到的东西


 
Fedor Arkhipov:

我看不出来。


它似乎很好,没有下划线。但你应该在行末加一个分号。

 

我添加了一个Points文件夹,并在其中制作了一个HuobiMQL类


在打开和关闭套接字 的事件中,我加入了设置套接字状态的属性


 
Алексей Барбашин:

麦克斯,你建议创建一个类,但我们有GlobalManager类,用于一般的方法,我认为创建一个单独的特定类还没有任何意义。

至于与MT的接口,我们以后会有ConnectorMQL类,届时我们将在控制台模式下测试我们的所有方法。

如果我有什么不对的地方,请纠正我,试着用一点不同的方式表达你的观点,不要轻易下结论。

在设计方面:它要简单得多--@Fedor Arkhipov(话题的作者和倡议的作者)声明 "我希望它是这样的,但现在我需要Hibou"。还有我们这些穷人的小/约定俗成的改正:-)因为他是知道整个想法是什么的人。

我就不清楚许多课程的含义,但这是我的不满......。

你需要以最紧凑的形式得到东西--你得到了一个可理解的答案和一个漂亮的流程,你解决了bug。 你可以有数以百计的类和方法的层次结构 :-)