[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 586

 
Craft:

下午好,我想弄清楚如何写一个EA。我从mql4网站的文章中提取了EA模板,添加了自己的条件以了解调试和功能,输入了开仓的条件。

我已经添加了自己的条件(或改变了现有的条件),以确保订单被fakut执行。

见上面的三个帖子--只分析成型的条形,从1开始。
 

或者使用条件--如果在零条上没有未平仓的订单,那么就可以开仓。

if((OrdersTotal()>0&&iBarShift(OrderOpenTime())>0)||OrdersTotal()==0)
{
   //открываемся
}
 
alsu:
见上面的三个帖子--只分析了从1开始形成的条形图。
但对于iMAOnArray(MyATR,0,PerB,0,MODE_SMA,1),最后规定了1,而Open[0]在交易过程中没有变化,我将需要它。
 
Craft:
但对于iMAOnArray(MyATR,0,PerB,0,MODE_SMA,1),最后规定1,Open[0]在条形图中没有变化,我将需要它。
但是Ask和Bid在每个tick 上都会发生变化--这就是为什么条件可能在一个柱子中被多次触发的原因。
 
alsu:
但Asc和Bid在每个tick上都会改变--因此在一个单条中可以多次触发条件。
我们应该怎样做才能使执行发生一次,也许用High[0]和Low[0]来代替它们?还是有其他的命令,也许是在一个栏内执行一次的条件?
 
Craft:
执行一次,也许用High[0]和Low[0]代替它们呢?或者还有其他的命令,也许是在酒吧里面执行一次的条件?
我已经在上面写了,不是吗?
 
alsu:
我已经在上面写了。

我一直在阅读,以前在基金上有过乐趣,现在我想试试外汇。在基金的WelsLab中,这很容易通过停止来实现。

MyATR = SMA.Series((((High-Low)/Low), PerB) [i-1] ;

如果(BuyAtStop(i, (Open[i] + Open[i]*MyATR), "" );

在MetaTrader中不能这样做吗?

 
Craft:

我一直在阅读,以前在基金上有过乐趣,现在我想试试外汇。在基金的WelsLab中,这很容易通过停止来实现。

MyATR = SMA.Series((((High-Low)/Low), PerB) [i-1] ;

如果(BuyAtStop(i, (Open[i] + Open[i]*MyATR), "" );

在MetaTrader中不能这样做吗?

不,这行不通。只有通过分析订单历史。我们的MQL就是这样的--它不是很好,但它有自己的特点:))这就是为什么大多数有用的功能都是手写的。
 
alsu:
不,这行不通。只有通过分析订单历史。我们的MQL就是这样的--它不是很好,但它有自己的特点:))这就是为什么大多数有用的功能都是手写的。
我不介意,能否给我一个有效的例子或链接?
 
Craft:
我不介意,我可以得到一个工作实例或链接吗?
我今晚要出去,也许有人会早些给我一个。