(MT4ClientApi)MT4跟单之报价篇

发布于 2019-11-01 19:53:28

MQL中start()函数是EA运行的核心,start()函数中放EA的核心代码,每次一个TICK(报价)来到后,系统会自动调用start()函数。也就是说每次跑报价就会调取start()内的代码,而在MT4ClientApi中通过订阅也可以实现这个功能。代码如下:

void Run()
{
    try
    {
        MainServer srv = QuoteClient.LoadSrv(
        @"C:\srv\CreatForex-Demo.srv");
        QuoteClient qc = new QuoteClient(99999, "abcd123", srv.Host, srv.Port);
        Console.WriteLine("正在连接...");
        qc.Connect();
        Console.WriteLine("已连接到服务器!!!");
        qc.OnQuote += new QuoteEventHandler(qc_OnQuote);
        qc.Subscribe("EURUSD");
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
    Console.WriteLine("任意键退出。。。");
    Console.ReadKey();
}
void qc_OnQuote(object sender, QuoteEventArgs args)
{
    Console.WriteLine(args.Symbol + " " + args.Bid + " " + args.Ask);
}

备注:上面例子是打印出当前品种标价。实际上这个可以扩展到提供该平台报价,编写c#版本ea,亦或获取账户的实时记录推送到第三方。


0 条评论

发布
问题