外汇 - 2016年的趋势、预测和影响 - 页 722

 
new-rena:

你会有这个机会的。使用iTime(...PERIOD_XX...)。如果你这样做,它将只在你指定的TF的蜡烛开盘时发挥作用。然而,如果打开/关闭订单的命令返回一个错误,机器人将在一个新的蜡烛 图中重复它。

或iTime(...Period()...)。- 它是在当前的时间框架上,即在EA所在的图表上。

五年前我从这里的例子中下载了代码,但现在每个人都很 "聪明",只会骂人,为自由职业者和市场而战......

如何以一种新的和正确的方式确定蜡烛的开口?

 
Vladimir Zubov:

1.我如何制作一个新的蜡烛 图控件,使其在第一个刻度上进行迭代?

我似乎有这样的代码来控制蜡烛开盘时的触发 :(

2.为什么不呢,这是关于金的功能,以确定一个开放位置的酒吧?

P/S翻开MT4现在都在写...

1.

如果(iTime(Symbol(),PERIOD_H1,0)==prevTime) 返回(0)。

datetime prevTime=iTime(Symbol(),PERIOD_H1,0)。

进一步完善你的代码

就这样....

//这是为H1准备的

啊,是的,酒吧在那里看。好吧,那它就能发挥作用。

而在int ticket=OrderSelect()之后--你是否有分析--订单是否已经打开? if(ticket<0)GetLastError()--是否?

 
new-rena:

1.

如果(iTime(Symbol(),PERIOD_H1,0)==prevTime) 返回(0)。

prevTime=iTime(Symbol(),PERIOD_H1,0)。

进一步完善你的代码

就这样....

//这是为H1准备的

是的......。你需要结合一些东西,我认为你没有使用void OnTick(),我是说2014年的语法?
 
Vladimir Zubov:
是的......。我认为你没有使用void OnTick(),我是说2014年的语法?
是的
 
new-rena:
是的

或者你可以用你自己的版本来代替,一个更正确的版本,我在编译时有问题,我想你在Return中有括号,但我不知道?

 
//+------------------------------------------------------------------+
//|                                                       Privet.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
// ============= Переменные ==========================================
int      prev_time = 0;     // Работа по ценам открытия свечи
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {//-Start-

// ======= Работа по ценам открытия свечи ============================
  if ( Time[0] <= prev_time ) {return;}
  prev_time = (int)Time[0];

// ========================== My EA ==================================
{


}  

// ========================== EA END =================================

  }//-Start End-

// ================= Функции =========================================  
//+------------------------------------------------------------------+
Это MT4
 
0
Vladimir Zubov:

如果没有括号,以前就有点皱着眉头编纂。为什么是"<="?相反,当等价物"=="时,我们把它踢回去。也就是说,如果当前的酒吧,我们要等到时间变得不同。而时间是int,它应该是datetime,对吗?

int init()   { //---    //---    return(0);   } //+------------------------------------------------------------------+ //| Expert deinitialization function                                 | //+------------------------------------------------------------------+ int deinit()   { //---    return(0);   } //+------------------------------------------------------------------+ //| Expert tick function                                             | //+------------------------------------------------------------------+ int start()

{

return(0);

}

 
new-rena:
0

如果没有括号,以前就有点皱着眉头编纂。为什么是"<="?相反,当相等时(==),我们把它踢回去。也就是说,如果当前吧,我们要等待,直到时间变得不同。而时间是int,我想它一直是datetime?

我没有详细说明,这里的某个地方拿了一些教科书或文章,但那是在2012年或更早的时候,也许现在不同了,这就是为什么它有时会在实时中出现故障。

P.S.该产品是粗制滥造的市场,我将撤回批准,一个奇怪的问题以前没有注意到。

事实证明,在迭代之后,我还没有在Return中出来,可以再次工作?

 
Vladimir Zubov:
我没有详细说明,这里的某处是取自教科书或文章,但那是在2012年或更早的时候,也许现在不同,这就是为什么它在现实生活中有时会出现故障。

好吧,那么...

为什么它不能工作?在测试器中以视觉模式运行它--这些东西会跳出来,你一次就能解决。下次就不会有这样的怪事了。

事后对演示进行抛光也无妨。

 
new-rena:
好吧,那么...
那么对于我来说,对于市场来说,我总是这样挡住蜡烛。如果人们问为什么开了两次,我自己也不知道怎么办?这可不好......)