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

 
evillive:
尝试
谢谢你。
 
evillive:
不,他后来想了想,决定140.15或140.35也是一个陡峭的价格,可能需要。客户还没有决定他需要什么,只是))))

artmedia70:
嗯...当他最终决定自己想要什么时,让他开始思考......。


日安!

鉴于这个主题的标题,你们这些先生非常有礼貌。

我开始思考了。 并意识到你所建议的并不能解决这个问题。

没有客户))),我是为自己写的。任务从根本上说是如何解释小数点后的顾问价格,在这个价格上进行操作。

价格可能是XXX.01或XXX.34 - 这并不重要。我指出的XXX.00是一个例子。

事实证明这很简单。

int start()                                   // Спец. функция start
  {
//----
   double Price, Level, Level_2;                 // Текущая цена и уровень для расчета
   Price=Bid;                                    // Запрашиваем цену
   Level=MathFloor(Bid);                         // Задаем уровень XXX.00
   Level_2 = MathFloor(Bid)+50*Point;            // Задаем уровень ХХХ.50
                              
//----
   if (Price==Level)                                      // Если цена на уровне ХХХ.00
     {
      Comment("Курс был равен  заданному уровню ", Level);    // Сообщение трейдеру
     }
     
   if (Price==Level_2)                                    // Если цена на уровне ХХХ.50
     {
      Comment("Курс был равен  заданному уровню ", Level_2);   // Сообщение трейдеру
     }
   
   return;// Выход из start()

"Level2"=50 可以移到外部变量,我们可以设置任何我们目前感兴趣的水平。

问题被删除。

P.S. 这个例子是针对日元对(小数点后两位)。对于4位数,应该写得有点不同(!初学者,如果有兴趣,可以问专家如何))。).

我很少在论坛上写作。改变习惯的愿望并没有出现。


祝大家一天好心情,祝大家好运。

 
代码中的警报和打印是否影响优化时间?
也就是说,优化是否知道如何绕过它们,还是需要在用户层面上进行?
 
chief2000:
代码中的警报和打印是否影响优化时间?
也就是说,优化是否知道如何绕过它们,还是需要在用户层面上进行?


影响,特别是当你输出一个耗费时间的计算结果时。最好在警报前插入 IsOptimization() 检查。
 
evillive:

它们是这样的,特别是当你输出一个耗费时间的计算结果时。最好在警报前插入 IsOptimization() 检查。

我指的是Alert和Print 命令本身,而不是输出的计算方法。它们在优化过程中没有用处,但它们到底能不能被优化器自动禁用?(每一个额外的检查也会影响到优化速度)。
 
chief2000:

我不是指输出计算,而是指Alert和Print命令本身。在优化过程中,它们没有任何用处,但它们是否被优化器自动禁用?(每一个额外的检查也会影响优化速度)


提醒、打印和检查都有效果。但检查是不那么费时的。
 
evillive:

警报和打印以及检查都受到影响。但检查是不太费时间的。

据我所知,在优化 模式下(不是测试),警报和打印 只是被测试者跳过,因此不影响任何东西......MarketInfo对速度的影响要大得多,它真的会减慢进程。如果(IsTesting())和if(IsOptimization())真的有帮助;例如,如果程序不断监测当前的传播,在测试器中就没有必要。

 
alsu:

据我所知,在优化 模式下(不是测试),警报和打印只是被测试者跳过,因此不影响任何东西......MarketInfo对速度的影响要大得多,它真的会减慢进程。在这里,如果(IsTesting())和if(IsOptimization())真的有帮助;例如,如果程序不断控制当前的传播,就不需要测试器。


如果不解决这个问题,那么评论真的会拖累MT。
关于MarketInfo--你是指命令本身吗?例如,使用Bid/Ask(纯粹的形式,针对当前符号)?
 
chief2000:

如果不解决这个问题,评论真的会拖累MT。 关于MarketInfo - 你是直接指命令本身吗?例如使用Bid/Ask(纯粹的形式,针对当前符号)?

在测试器中,MarketInfo()不起作用,Bid和Ask都很慢,而且失真。所以根据Xrust 的建议,我从iClose(NULL,0,0)中获取它们。

  if(IsOptimization() || IsTesting() || IsVisualMode())
  {
    Spread = 21; 
    spr = NormalizeDouble(Spread*Point,Digits);
    bid = NormalizeDouble(iClose(Symbol(),0,0),Digits);
    ask = NormalizeDouble(iClose(Symbol(),0,0)+spr,Digits);
  }
  else
  {
    Spread = MarketInfo(Symbol(),MODE_SPREAD);
    spr = NormalizeDouble(Spread*Point,Digits);
    bid = MarketInfo(Symbol(),MODE_BID);
    ask = MarketInfo(Symbol(),MODE_ASK);
  }
 
borilunad:

在测试器中,MarketInfo()不工作,Bid和Ask很慢,而且失真。因此,根据Xrust 的建议,我从iClose(NULL,0,0)中获取它们。


拐杖,我认为。