初学者的问题 MQL5 MT5 MetaTrader 5 - 页 913

 
Mikhail Rudyk:

你好

请告知如何正确替换表达式

trend[i] = (i<Bars-1) ?(price>amax[i+1]) ?1 : (price<amin[i+1]) ?-1 : trend[i+1] : 0。

带运算符(如果和其他)的

谢谢你

像这样

// trend[i] = (i<Bars-1) ? ( (price>amax[i+1]) ? 1 : (price<amin[i+1]) ? -1 : trend[i+1] ) : 0;
if(i<Bars-1) {
 if(price>amax[i+1]) 
  trend[i] = 1;
  else {
  if(price<amin[i+1])
   trend[i] = -1;
  else
   trend[i] = price<amin[i+1];
  }
} else {
  trend[i] = 0;
}
 
Mikhail Rudyk:

你好

请告诉我如何正确替换表达式

trend[i] = (i<Bars-1) ?(price>amax[i+1]) ?1 : (price<amin[i+1]) ?-1 : trend[i+1] : 0。

带运算符(如果和其他)的

谢谢

你不知道。这是因为这个表达式写错了。

操作员如何阅读?

当条件满足时,将value1分配给变量,否则value2分配给变量。

复合运算符 看起来像这样。

int x;
x = a == 3 ? 1 : a == 2 ? 7 : 9;
int x;
if(a == 3)
 x = 1;
else if(a == 2)
 x = 7;
else 
 x = 9;

如果a==3,给变量x赋值1,否则如果a==2,给变量x赋值7,在所有其他情况下,给变量x赋值9。

 

晚上好。给杰出的鉴赏家们的一个问题。有没有人见过,或者你能建议去哪里找?

我正在寻找一个开源的专家顾问,或一个类,或一个有明确算法的代码片段。

其目的是--虚拟模拟真实报价的账户操作。也就是说,安装在真实账户 上的专家顾问或指标采取真实的报价,在自己内部模拟交易。

这种交易的结果以任何可用的方式显示,以便进一步分析。

如果有任何关于这个或接近这个主题的链接或想法,我将非常感激。

 
Sergey Voytsekhovsky:

晚上好。给杰出的鉴赏家们的一个问题。有没有人见过,或者你能建议去哪里找?

我正在寻找一个开源的专家顾问,或一个类,或一个有明确算法的代码片段。

其目的是--虚拟模拟真实报价的账户操作。也就是说,安装在真实账户 上的专家顾问或指标采取真实的报价,在自己内部模拟交易。

这种交易的结果以任何可用的方式显示,以便进一步分析。

我将非常感谢任何关于这个问题或周围道德主题的链接或想法。

而你是为了什么市场?

 
Vladimir Karputov:

可以基于OnChartEvent和CHARTEVENT_CHART_CHANGE事件标识符--任何图形变化。你可以在一个定时器中检查它(例如每秒一次)。

下面是一个基于OnChartEvent和CHARTEVENT_CHART_CHANGE事件标识符的例子。

有趣的是,如果你把光标放在价格表上,然后向上移动鼠标,数字会抽动,也就是说,好像屏幕区域的大小被调整了一下,但随后又稳定下来。

有没有办法将屏幕自动扩大到指定的点数?
 

用iAO和iAC制作一个EA...

逻辑是简单的颜色匹配!!都是绿色,那么就买入,都是红色就卖出。
但有些东西是不工作的!!很多错误,绿色红色的!!看一下,请...

if(CopyBuffer(handle_AO_0, 0, 0, 200, AO_0) <= 0)
   return;     

if(CopyBuffer(handle_AC_0, 0, 0, 200, AC_0) <= 0)
   return;

ArraySetAsSeries(AO_0, true);
ArraySetAsSeries(AC_0, true);

//--- (BUY) possibility
  if(AO_0[1] > AO_0[2] && AC_0[1] > AC_0[2])
        {
         if(m_trade.Buy(lot, _Symbol, m_symbol.Ask(), 0, 0, magic))
           {
            Print("BUY order opened : ",m_trade.ResultPrice());
           }
        }

  //--- (SELL) possibility
  if(AO_0[1] < AO_0[2] && AC_0[1] < AC_0[2])
        {
         if(m_trade.Sell(lot, _Symbol, m_symbol.Bid(), 0, 0, magic))
           {
            Print("SELL order opened : ",m_trade.ResultPrice());
           }
        }
 
ponochka:

我正在用iAO和iAC制作一个专家顾问。

逻辑是简单的颜色匹配!!都是绿色,那么就买入,都是红色就卖出。
但有些东西是不工作的!!很多错误,绿色红色的!!看一下,请...

1.在MQL5中,基本上没有 "绿色、红色 "指标的概念。

2.指定账户类型:净额结算或套期保值

3.给出完整的代码。指定符号和时间框架。指定时间框架。

4.显示交易和有交易的图表。

 

下午好,论坛用户!!!。

我再次请求帮助!

我的问题是这样的:我把一个变量设置为一个外部参数

input ENUM_TIMEFRAMES per_candle=PERIOD_D1;                          //период расчета худших и лучших результатов

在不少于参数per_candle中指定的时间间隔内发生的第一笔交易后。

first_buy

代码中传递的时间不应短于per_candle 参数中指定的时间。

这样一来,它就不起作用了

if (TimeCurrent()>first_buy+per_candle)

由于某些原因,在一天first_buy+per_candle 的时期,只增加了4小时

该交易是在00:00。

请帮助,谁知道我做错了什么。

 
ISL:

下午好,论坛用户!!!。

我再次请求帮助!

我的问题是这样的:我把一个变量设置为一个外部参数

在从开始到执行结束的时间间隔内发生的第一笔交易之后。

代码中传递的时间不应短于per_candle 参数中指定的时间。

这样一来,它就不起作用了

由于某些原因,在一天的first_buy+per_candle 期间,只增加了4小时

该交易是在00:00。

请帮助,谁知道我做错了什么。

这就是一个(预告片中的剧本)。

PERIOD_CURRENT 1
PERIOD_M2 2
PERIOD_M3 3
PERIOD_M4 4
PERIOD_M5 5
PERIOD_M6 6
PERIOD_M10 10
PERIOD_M12 12
PERIOD_M15 15
PERIOD_M20 20
PERIOD_M30 30
PERIOD_H1 16385
PERIOD_H2 16386
PERIOD_H3 16387
PERIOD_H4 16388
PERIOD_H6 16390
PERIOD_H8 16392
PERIOD_H12 16396
PERIOD_D1 16408
PERIOD_W1 32769
PERIOD_MN1 49153

这是两个:PeriodSeconds

附加的文件:
 
Vladimir Karputov:

这是一个(剧本在预告片中)。

这是两个:PeriodSeconds

非常感谢!