现成专家与编程/自由职业者的优势。
Push.Mail. 在 MetaTrader 中使用电子邮件和通知
现成专家与编程/自由职业者的优势。
Push.Mail. 在 MetaTrader 中使用电子邮件和通知

基于报价速度的剥头皮系统 - 隐藏的陷阱、延迟和数据中心 | 视频缩略图

描述

    剥头皮交易 是赚取资金时最具挑战性、风险性同时又迅速的方法之一。然而,进行交易后并不保证您能获得利润。

基于tick数据率的策略 可能是讨论最多的盈利系统之一。然而,有一些细微差别需要考虑。

    进入终端的报价包含不同数量的数据。

即使您安装了来自同一公司的两个相同的终端并同时启动它们(这不现实),您也无法获得100%准确的结果。

此外,同时启动您的剥头皮交易系统也不会产生完全同步的结果。

两个终端上的交易可能会有所不同。

这种差异仅取决于服务器到您的终端的数据传输流

在其他论坛中,关于我的系统 TickSniper for MT4TickSniper for MT5 的讨论中经常有一个问题:为什么MT4和MT5上的持仓和利润不同?

答案很简单:报价的差异。MT4终端的报价流较慢,可能是由于流量拥堵。

MetaTrader 5终端中,报价流快了十倍,导致持仓之间存在显著差异。

为本文特别开发了两个专家顾问TEST TICK for MT5TEST TICK for MT4。它们的代码完全相同(当然,编程语言不同,因此函数名称有所不同)。

MT4的代码:

#property copyright "Copyright 2024, expforex"

#property link ""

int timestart = 0;
int ticknumber = 0; // Tick number
double PriceBID = 0; // BID tick price
double PriceASK = 0; // ASK tick price
int TimemsTick = 0; // Tick time in ms

int init()
{
    timestart = Time[0]; // Start counting from a new bar so that all EAs on all terminals start the same way.
    return(0);
}

// The advisor starts with each tick
int start()
{
    if(timestart != Time[0])
    {
        if(TimemsTick == 0)
            TimemsTick = GetTickCount();
        ticknumber++;
        PriceBID = Bid;
        PriceASK = Ask;
        Comment("\n\n\n\n Tick Number = " + ticknumber + "\nPriceBID = " + PriceBID + "\nPriceASK = " + PriceASK + "\nTimeTickinms = " + (GetTickCount() - TimemsTick));
        Print("Tick Number = " + ticknumber + " PriceBID = " + PriceBID + " PriceASK = " + PriceASK + " TimeTickinms = " + (GetTickCount() - TimemsTick));
    }
    return(0);
}

MT5的代码:

#property copyright "Copyright 2024, expforex."

#property link ""
#property version "1.00"

int timestart = 0;
int ticknumber = 0; // Tick number
double PriceBID = 0; // BID tick price
double PriceASK = 0; // ASK tick price
int TimemsTick = 0; // Tick time in ms

int OnInit()
{
    datetime Time[];
    ArraySetAsSeries(Time, true);
    CopyTime(_Symbol, _Period, 0, 1, Time);
    timestart = (int)Time[0]; // Start counting from a new bar so that all EAs on all terminals start the same way.
    return(INIT_SUCCEEDED);
}

// The advisor starts with each tick
void OnTick()
{
    datetime Time[];
    ArraySetAsSeries(Time, true);
    CopyTime(_Symbol, _Period, 0, 1, Time);
    if(timestart != (int)Time[0])
    {
        if(TimemsTick == 0)
            TimemsTick = (int)GetTickCount();
        ticknumber++;
        MqlTick last_tick;
        SymbolInfoTick(_Symbol, last_tick);
        double Bid = last_tick.bid;
        
        SymbolInfoTick(_Symbol, last_tick);
        double Ask = last_tick.ask;
        PriceBID = Bid;
        PriceASK = Ask;
        Comment("\n\n\n\n Tick Number = " + ticknumber + "\nPriceBID = " + PriceBID + "\nPriceASK = " + PriceASK + "\nTimeTickinms = " + (GetTickCount() - TimemsTick));
        Print("Tick Number = " + ticknumber + " PriceBID = " + PriceBID + " PriceASK = " + PriceASK + " TimeTickinms = " + (GetTickCount() - TimemsTick));
    }
    return;
}

这些专家顾问执行以下操作:

在初始化时,顾问记录了其启动的柱,以确保所有四个终端上的所有专家顾问在下一个柱(在我们的例子中为M30)上同时开始。

随后,每个tick,顾问都会在屏幕和日志中记录数据:tick编号、BID/ASK价格以及自计算开始以来的tick时间(以毫秒为单位)。

我启动了终端,将EURUSD M30图表应用于所有四个终端,并使用了一个专家顾问来验证我们的观察结果。

MetaTrader终端上的EURUSD M30图表

我们的日志中的初始条目表明我们是同时开始的:

mt4_1:

18:29:58 TEST TICK EURUSD, M30: Tick number = 1 PriceBID = 1.32281000 PriceASK = 1.32289000 TimeTickinms = 0

mt4_2:

18:29:58 TEST TICK EURUSD, M30: Tick number = 1 PriceBID = 1.32281000 PriceASK = 1.32289000 TimeTickinms = 0

mt5_1:

GR 0 18:29:58 TEST TICK (EURUSD, M30) Tick number = 1 PriceBID = 1.32336000 PriceASK = 1.32344000 TimeTickinms = 1065503

mt5_2:

GR 0 18:29:58 TEST TICK (EURUSD, M30) Tick number = 1 PriceBID = 1.32335000 PriceASK = 1.32345000 TimeTickinms = 1065674

如下一些截图所示,报价起始相同,但我们观察到1-2个tick的差异。这清楚地表明:

剥头皮交易系统 无法在两个不同的MT4平台和MT5上实现100%相同的结果。

它也无法在同一MT4/MT5平台的两个终端上同时打开交易。

这是不现实的,也不是经纪商的错。

传输协议从服务器到您的计算机穿越网络,导致数据包丢失——这是正常现象。

计算和分析的差异

以下截图说明了差异:

Tick数据计算中的差异 - 截图1
Tick数据计算中的差异 - 截图2
Tick数据计算中的差异 - 截图3
Tick数据计算中的差异 - 截图4
Tick数据计算中的差异 - 截图5

这是顾问启动后仅3分钟。

让我们参考MT4终端上tick编号1433的日志:

18:47:44 TEST TICK EURUSD, M30: Tick number = 1433 PriceBID = 1.32336000 PriceASK = 1.32344000 TimeTickinms = 1065503
18:47:44 TEST TICK EURUSD, M30: Tick number = 1433 PriceBID = 1.32335000 PriceASK = 1.32345000 TimeTickinms = 1065674

我们的服务器时间相同,但毫秒时间和报价有所不同。

Tick编号1684

18:52:05 TEST TICK EURUSD, M30: Tick number = 1684 PriceBID = 1.32377000 PriceASK = 1.32385000 TimeTickinms = 1326586
18:52:03 TEST TICK EURUSD, M30: Tick number = 1684 PriceBID = 1.32374000 PriceASK = 1.32382000 TimeTickinms = 1324496

不仅时间不同,BID/ASK价格也不同。

现在让我们在MT5终端上进行同样的比较:

ES 0 18:48:42 TEST TICK (EURUSD, M30) Tick number = 4316 PriceBID = 1.3231 PriceASK = 1.32318 TimeTickinms = 1124050
DS 0 18:48:43 TEST TICK (EURUSD, M30) Tick number = 4316 PriceBID = 1.32311 PriceASK = 1.3232 TimeTickinms = 1124502

相同的tick编号,但为什么价格不同?

或者这是另一个例子:

RJ 0 18:52:21 TEST TICK (EURUSD, M30) Tick number = 4984 PriceBID = 1.32363 PriceASK = 1.32371 TimeTickinms = 1342701
H 0 18:52:22 TEST TICK (EURUSD, M30) Tick number = 4984 PriceBID = 1.32364 PriceASK = 1.3237 TimeTickinms = 1344355

不同的tick到达时间(毫秒),不同的ASK/BID价格

压缩包 包含与本文相关的所有材料,包括专家顾问本身、视频、图片和终端日志文件。

问题出现了:

同一专家顾问能否在两个真实/活跃账户、一个经纪商、一个平台上以100%准确度执行相同的交易?

显而易见的答案是

这种情况不会发生!

我希望本文将在未来详细解答您的所有问题。凭借这些知识,您将能够在各终端上更准确地操作您的剥头皮交易系统

增加您的利润。

如何查找Ping(访问您的经纪商服务器的时间)

VPS到经纪商服务器的速度很容易确定。此功能在Windows中是标准的,称为PING

要确定访问时间,您需要找到您的服务器地址。

首先,打开您的终端文件夹并导航到CONFIG子文件夹。

找到包含您服务器名称的文件。

在MetaTrader配置文件夹中查找服务器地址
MetaTrader服务器配置文件

接下来,在记事本中打开该文件并找到您的经纪商的路径。将其复制到剪贴板。

然后,打开开始菜单并输入cmd命令。

在Windows中打开命令提示符

然后,输入ping命令,后跟您的服务器地址。

ping mt4-demo.roboforex.com

结果以毫秒(ms)显示从您的计算机到经纪商服务器的时间。

值越低,对任何专家顾问来说,尤其是对剥头皮交易系统来说越好。

Ping结果到经纪商服务器

您还可以检查到服务器的ping或在终端右下角更改数据中心

在MetaTrader终端中更改数据中心

如果您的ping太高,您可以将专家顾问安装在VPS服务器上。

有疑问吗?

如果您有任何问题,请随时提问。我们不会欺骗您。

我们的每款产品都可以在购买前进行测试。

我们感谢您对我们产品的反馈和需求,并努力保持高质量标准。

感谢您的支持!

您有问题吗?

Leave a Reply

Your email address will not be published. Required fields are marked *

This post is also available in: English Українська Portuguese Español Deutsch Chinese Русский Français Italiano Türkçe 日本語 한국어


    Please wait, contacting ...

     

    风险警告:


    过去的交易业绩并不保证未来的结果。

    保证金外汇交易具有高风险,可能不适合所有投资者。

    请注意,使用交易机器人涉及巨大风险,您的损失可能超过初始投资。

    请谨慎行事,仔细评估自己的财务状况,并考虑向合格的专业人士寻求建议。

    免责声明

    本网站使用Cookie以提升您的体验。通过使用本网站,您同意我们的 数据保护政策免责声明
    阅读更多