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

 
culler:

订单发送()。

滑移,// 滑移

你能告诉我是什么格式吗?

例子。3 - 0.00003或0.0003到一个五位数的账户


4位数账户的3个数字分别是5位数账户的30个数字,但如果你真的想,你也可以为5位数账户留出3个数字,只是重新报价 将是不变的。
 

你能不能给我一个代码例子,我想不出什么正常的东西。

如何强制进行价格比较(例如:MarketInfo(Symbol(),MODE_BID),通过价格比较开始后,价格上升多少/下降多少。

如果我使用变量 "A "和 "B "与Bid,我怎样才能强制只更新变量 "B "并进一步比较它们--否则它们都将永远有相同的值。

或者也许有更简单的内置方式?

 
culler:

你能不能给我一个代码例子,我想不出什么正常的东西。

如何强制进行价格比较(例如:MarketInfo(Symbol(),MODE_BID),通过价格比较开始后,价格上升多少/下降多少。

如果我使用变量 "A "和 "B "与Bid,我怎样才能强制只更新变量 "B "并进一步比较它们--否则它们都将永远有相同的值。

或者也许有更简单的内置方式?


应考虑到时间问题。记住第一次写出Bid值的时间,然后在一定时间间隔后与实际Bid值进行比较。


1. t=0;A=Bid;B=Bid;C=MathAbs(B-A)。

2. t=10;B=Bid;C=MathAbs(B-A);A=Bid。

3. t=20;B=Bid;C=MathAbs(B-A);A=Bid。

...

因此,B变量C将是过去10秒内Bid差异的绝对值

 

请指示--在调试程序时--在调试器的 "表达式值跟踪 "窗口中,表达式写着 "表达式不能被评估",而

这些表达式平静地弹出在由Alert函数调用 的窗口中。程序在运行,变量被赋值,在调试器中不显示,因为它们不能被评估。这怎么可能呢?

 
evillive:

必须考虑到时间问题。记住第一次记录Bid值的时间,然后在一定的时间间隔与当时的实际Bid值进行比较。


1. t=0;A=Bid;B=Bid;C=MathAbs(B-A)。

2. t=10;B=Bid;C=MathAbs(B-A);A=Bid。

3. t=20;B=Bid;C=MathAbs(B-A);A=Bid。

...

因此,B变量C将是过去10秒内Bid之差的绝对值。


没有提到时间。时间是这里的敌人。

如何没有时间?

 
culler:


没有时间参考。时间是这里的敌人。

如何没有时间?


你把一个带有价格值的变量放入OnInit,它将在Expert Advisor启动时与价格绑定,然后你可以将它与你需要的东西进行比较。
 
culler:


没有时间参考。时间是这里的敌人。

没有时间怎么能行呢?


你不能没有在尾河的时间,这是系统中不可分割的一部分,唉。即使在提出的问题中,也出现了时间。

如何进行价格比较(例如:MarketInfo(Symbol(),MODE_BID)从价格比较的那一刻起,高出/低于多少。

这个 "时刻 "是指那里的时间,是最初的参考点。

 
culler:

你能不能给我一个代码例子,我想不出什么正常的东西。

如何强制进行价格比较(例如:MarketInfo(Symbol(),MODE_BID),通过价格比较开始后,价格上升多少/下降多少。

如果我使用变量 "A "和 "B "与Bid,我怎样才能强制只更新变量 "B "并进一步比较它们--否则它们都将永远有相同的值。

或者也许有更简单的内置方式?

LastPrice=0;

NewPrise=0;

if(условие записи  LastPrice &&  NewPrise==0){LastPrice = MarketInfo(Symbol(),MODE_BID);}

if(LastPrice > 0) { NewPrise = MarketInfo(Symbol(),MODE_BID);} 


 
evillive:

在尾巴上,没有时间是不行的,它是系统中不可分割的一部分,唉。即使在这个问题上,时间也是存在的。

在 "时刻 "中,有时间,有起点。


没有时间了....有一系列连续的预期状态...(预测)

但对于一个交易者来说,在两个预期状态之间,可能会有一个小时过去,另一个月,另一个秒,甚至一年......。:-)))

这是他的问题...成功交易的全部要点是尽量减少等待时间....(取决于人们的目标是什么......)

 

大家好。关于IndicatorCounted()的问题。

#property indicator_separate_window
datetime LastBarTime=0;
int start() 
{
   // каждый свежий бар считаем только 1 раз (сразу после закрытия)
   if (Time[0]!=LastBarTime)               // если идёт расчёт всей истории или начался свежий бар
   {
      LastBarTime=Time[0];
      
      int counted=IndicatorCounted(); if(counted<0) return(-1);
   // if (counted>0) counted--;   <<< зачем оно???
   
                 int i=Bars-counted;  // варианты: считаем историю(i=кол-во баров), сформирован свежий бара (i=2) ПОЧЕМУ?
      if (counted<2) i=Bars-2;        // для корректного начала расчёта (иначе i и тем более i+1 заглядывают в бездну)

      Print("!!!!!!TEST Bars-counted=",i);  // ПОЧЕМУ =2 ???
                     
      for (; i>0; i--) // открытый бар не считаем
      {
      // варианты:
      // 1) в истории недостаточно баров (меньше трёх): итераций цикла не будет
      // 2) произошла переинициализация переменных и тогда надо считать историю с нуля (i указывает на 2-й бар слева)
      // 3) историю уже расчитали, а сейчас сформирован свежий бара: i должна указывать на закрытый бар (i=1)
      }
   }
   
return (0);
}


我能否期望在循环中只有两个状态。

1)初始化(静态变量被重置,i指向左边的第2条)。

2)整个故事的计算(i=2)。


而且,实际上,为什么i=2?我可以理解i=1或i=0,但为什么是2?我可以依靠这2个吗?=)

如果没有,正确的方法是什么。我有一个链式计算,所以不能重复处理同一个棒。

...

好吧,我换个方式来问。直奔主题。我可以用一个变量来代替 IndicatorCounted()吗?

也就是说,统计量和球状物的主要初始化总是与IndicatorCounted()的0相同吗?