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

 
总之,没关系,我会想办法的,我只是觉得很无聊。这段代码可能是,我道歉,部分是白痴。
 
你能告诉我如何关闭一个交易吗?如何在开盘后的n(数字,如5)个蜡烛后关闭交易?交易的开盘时间 并不事先知道。
 
kokos4:
请告知谁可以。如何在开仓后的n(数字,如5)个蜡烛后平仓?你事先不知道开放时间。

以秒为单位计算n个蜡烛,与开盘时间 相加,并与当前时间比较。


////где-то в цикле перебора ордеров:
////
timer = OrderOpenTime()+PeriodSeconds()*n;

if(TimeCurrent()>timer) close(OrderTicket());
////////////////


 
kokos4:
请告知谁可以。如何在开盘后的N(数字,如5)支蜡烛后关闭交易?事先,该职位的开放时间是未知的。

自订单开启以来,已经过去的蜡烛数量(记得事先强调)。

iBarShift (_Symbol, _Period, OrderOpenTime());

此外,它更容易成为 "小菜一碟"。;)

 

同事们,我的NormalizeDouble函数 不工作(我无法解释,否则)。它输出16位数字,尽管我在第二个参数中写了5位。请告诉我代码中的问题是什么。

double i = 0.123456789112345;
void OnStart()
  {
         NormalizeDouble(i, 5);  
         Alert (i);
  }
 
JoinDoe: 同事们,我的NormalizeDouble函数不工作(我无法解释)。
double i = 0.123456789112345;
void OnStart()
  {
         Alert (NormalizeDouble (i, 5));
  }
 
TarasBY:
谢谢你!而现在显示为0.12346
 
JoinDoe:
谢谢你!而现在是0.12346。
正确,四舍五入到最接近的1!
 
你将如何使它不存在四舍五入的问题?
 
JoinDoe:
如果不进行四舍五入,你如何做到这一点呢?

那么它将不会被规范化,并可能导致一个错误!你为什么不对更准确的归一化价格感到满意?

如果你因为某些原因需要它,你可以用原数乘以100000,把它变成一个整数,然后再乘以_Point或0.00001。

double i = 0.123456789112345;
void OnStart()
  {
         Alert (NormalizeDouble (i*100000, 0)*_Point);
  }