打勾的故事 - 页 19

 
Karputov Vladimir:

MqlTicks结构的 flags字段经常包含 "24 "的值(显示模式为 "所有刻度")。

- 这个值是什么意思?

每个tick的所有参数都会被填入,无论数据在上一个tick后是否有变化。这使你在任何时候都能得到当前的价格状态,而不需要在tick历史中查找以前的价值。例如,对于一个tick来说,可能只有买入价发生了变化,但结构中除了新的价格外还会包含其他参数:之前的卖出价、成交量等。要找出哪些数据随着当前的tick发生了变化,分析其标志。

  • TICK_FLAG_BID - 该刻度线已经改变了买入价。
  • TICK_FLAG_ASK - 该勾股价已改变问价。
  • TICK_FLAG_LAST - 勾选改变了最后一笔交易的价格。
  • TICK_FLAG_VOLUME - 滴答已改变音量
  • TICK_FLAG_BUY - 由于买入交易而发生的打勾。
  • TICK_FLAG_SELL - 由于卖出交易,发生了一个嘀嗒。
Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:. - Страница 18 - Категория: общее обсуждение
 
Andrey Khatimlianskii:

我附上了一个在OnInit()中打印出这些代码的EA。

   Print(TICK_FLAG_BID," - тик изменил цену бид");
   Print(TICK_FLAG_ASK,"  - тик изменил цену аск");
   Print(TICK_FLAG_LAST," - тик изменил цену последней сделки");
   Print(TICK_FLAG_VOLUME," - тик изменил объем");
   Print(TICK_FLAG_BUY," - тик возник в результате сделки на покупку");
   Print(TICK_FLAG_SELL," - тик возник в результате сделки на продажу")

和结果。

2015.10.23 15:12:33.274 CopyTicks_1_5_0 (USDCAD,M5)     2 - тик изменил цену бид
2015.10.23 15:12:33.274 CopyTicks_1_5_0 (USDCAD,M5)     4  - тик изменил цену аск
2015.10.23 15:12:33.274 CopyTicks_1_5_0 (USDCAD,M5)     8 - тик изменил цену последней сделки
2015.10.23 15:12:33.274 CopyTicks_1_5_0 (USDCAD,M5)     16 - тик изменил объем
2015.10.23 15:12:33.274 CopyTicks_1_5_0 (USDCAD,M5)     32 - тик возник в результате сделки на покупку
2015.10.23 15:12:33.274 CopyTicks_1_5_0 (USDCAD,M5)     64 - тик возник в результате сделки на продажу

结果中没有 "24 "值。

 
Karputov Vladimir:

结果中没有 "24 "的数值。

8 || 16 = 24

 
Karputov Vladimir:

我附上了一个在OnInit()中打印出这些代码的EA。

和结果。

结果中没有 "24 "这个值。

Bitwise OR操作

Документация по MQL5: Основы языка / Операции и выражения / Побитовые операции
Документация по MQL5: Основы языка / Операции и выражения / Побитовые операции
  • www.mql5.com
Основы языка / Операции и выражения / Побитовые операции - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
清除--参数可能会增加,这取决于哪些MqlTick结构 参数随着tick的到来而被改变。
 

有没有人可以从方法论的帖子 中测试一下这个指标。

关于交易、自动交易系统和交易策略测试的论坛

打勾历史

Karputov Vladimir, 2015.10.22 15:07

这是可以理解的。但是要花多长时间来交换呢?在上面的例子中,请求的是50个刻度线,如果刻度线没有立即加载,需要30秒。

情况越来越糟。我提出了500点的请求--点子几乎立即就被加载了(我想这只是因为我之前提出了这个数量的请求),然后我又提出了5000点的请求--四分钟已经过去了,5000点中我只加载了不到2000点,而且这个数字还没有增长。


 
Renat Fatkhullin:

...

在测试器中,直到我们在下一个版本中完成了策略测试器中蜱虫的全面整合,才会下载蜱虫。

构建的1200已经出来了。在测试器中,刻度线没有被下载,但在市场观察的测试器中,刻度线看起来像真的刻度线。

测试员。市场回顾。

 

弄清了如何从某个日期开始获取蜱虫。这很简单:你必须以毫秒为单位指定时间。

//+------------------------------------------------------------------+
//|                                                CopyTicks_1_03.mq5|
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.03"
#property description "Получение тиков с определённой даты"
//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
input int  ticks=200;  // количество запрашиваемых тиков
input datetime start=D'2015.10.16 23:59'; // с какой даты запрашивать тики
//---
MqlTick ExTicks[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- запросим тики, время должно быть в миллисекундах!
   int copied=CopyTicks(_Symbol,ExTicks,COPY_TICKS_ALL,(ulong)start*1000,ticks);
//--- если тики получены, то выведем на график значения Bid и Ask  
   Print("Получено тиков: ",copied," код ошибки: ",GetLastError());
   if(copied>1)
     {
      Print("Из заказанных ",ticks," самый старый тик: ",ExTicks[0].time," bid: ",
            ExTicks[0].bid," ask: ",ExTicks[0].ask," last: ",ExTicks[0].last," [0]");
      Print("Из заказанных ",ticks," самый молодой тик: ",ExTicks[copied-1].time," bid: ",
            ExTicks[copied-1].bid," ask: ",ExTicks[copied-1].ask," last: ",ExTicks[copied-1].last," [",copied-1,"]");
     }
   Print("Size ",((long)copied*sizeof(MqlTick))>>20," Mb");
  }
//+------------------------------------------------------------------+
附加的文件:
 

Bild 1200。有一个指标附在图表上,它调用了CopyTicks。一切正常。但在切断联系后。

2015.10.26 09:58:06.721 Network '1783501': connection to MetaQuotes-Demo lost

而当连接恢复后,CopyTicks却顽固地拒绝归还点数。而且要么是50点,要么是500点。

 
Karputov Vladimir:

Bild 1200。有一个指标附在图表上,它调用了CopyTicks。一切正常。但在切断联系后。

而当连接恢复后,CopyTicks却顽固地拒绝归还点数。而且要么是50点,要么是500点。

如果你再连接到另一个服务器呢?或者重新扫描网络并连接到同一网络? 错误仍然存在吗?