任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1014

 
AlexeyVik:

在我看来,放慢代码的执行速度,是不太合适的。我不知道该怎么做才好,因为我不知道这些指标的算法,我也不想了解它。

至于指标中的滑点,我想你可以用循环函数GetTickCount()创建自己的滑点。

准备数据的指标通过一个全局变量(或通过一个文件)挂出准备好的标志。另一个指标在准备好后,重置标志并读取数据。

在测试器中,也将无法正常工作。

 
Vinin:
更好的检查时间
在某些情况下--是的,更好。但是,如果你不得不放慢半秒钟的速度......这是不可能的。我并没有说这是一个普遍的变体。这只是对Sleep() 的一种模仿。
 
对于测试器中的睡眠(我想它也适用于指示器),在i++内循环,找到最大迭代的大小,这将(大约)对应于所需的延迟时间。
 
Money_Maker:
对于测试器中的睡眠(我想对于指示器也是如此),在i++中做while循环,并找到最大迭代的大小,这将(大约)对应于所需的延迟时间。

在这种情况下,终端将完全冻结,这也是不好的。

第一个指标是来自delta集群的delta。这是在大约20秒内更新。因此,我们需要将指标的读数延迟20秒。你能告诉我如何知道从蜡烛打开后的秒数吗?

 
nikelodeon:

在这种情况下,终端将完全冻结,这也是不好的。

第一个指标是来自delta集群的delta。这是在大约20秒内更新。因此,我们需要将指标的读数延迟20秒。请教如何知道自蜡烛打开后的秒数?

包括GetTickCount() 并从中计算20秒。
 
很简单,在每一次打勾 上下功夫。一旦有信号传来,就做一些事情 :)
 

你能告诉我如何计算某一特定工具的杠杆率吗?

有一条线。

double minlotmoney= Bid*lotsize*minlot/leverage;       //Стоимость минимального лота  в $

但它不适合一些经纪商的杠杆率不同的工具(写在AccountLeverage()中)。

 

伙计们,你们是如何计算过去100条的相关关系的?

在任何地方都找不到一个合理的公式,走到这一步就停下来了。

 int TF = Period();
 int ADR = 100;
 double p1=0;
 double p2=0;
 string Pair1 = "GBPUSD";
 string Pair2 = "EURUSD";
  for (int f = 1; f <= ADR; f++)
   {
     p1 += (iHigh(Pair1, TF, f) - iLow(Pair1, TF, f)) / MarketInfo(Pair1, MODE_POINT); //sum pair1 range (i) 
     p2 += (iHigh(Pair2, TF, f) - iLow(Pair2, TF, f)) / MarketInfo(Pair2, MODE_POINT); //sum pair2 range (i)
   }
 /* Тут неправильно
  double c1 = p1 / ADR;
  double c2 = p2 / ADR;
  double rs = c2 / c1;

  Comment( DoubleToStr(rs, 2) );
 */

如果有人能提供帮助,请提前感谢!

 

你好,这里有一个问题。

当你对图表、其子窗口、子窗口中的指标进行程序化搜索时,你可以发现指标的总数,然后是其名称、参数等。

使用ChartIndicatorsTotal,ChartIndicatorName 等。

我怎样才能通过ChartID 找到在这个窗口中运行的专家顾问的名字?

 
我认为专家们现在会因为这样的问题而膨胀,而我的问题就在这里 :-)如何使在交易结束时的图标被放在图表上,如在测试仪?????也许有一些现成的功能????。