基本问题...

 

你好

我想在代码中做以下工作

自上一次交易起30分钟内不进行交易。

因此,如果我的指标显示我应该再次增加我目前的交易,那么只有在30分钟过后,我才会在同一方向上进行交易。

我正在做以下工作--这段代码还没有工作--它只是在设计阶段--我不知道如何将30分钟加入到我的最后一笔订单中去

这是一个只在当前货币对上工作的EA

int start()

{

int cnt, ticket, total, stop1;

静态数据时间lasttime

total=OrdersTotal()。

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。

//确定最后一次OrderClose的时间

如果(OrderCloseTime > lasttime + 30)

{

lasttime = orderclosetime

}//如果(OrderCloseTime)

}

现在我想说的是

如果(Curtime() > lasttime + 30 minutes)

{

继续交易

}

请帮助

 

我认为这看起来很好,但在检查 OrderCloseTime的时候。

我不明白为什么你需要额外的30分钟。

如果最新的OrderCloseTime比前一个更近,那么它应该是lasttime。

 

如果(Curtime() > lasttime + 30*60)

 

基本问题...

你好。

我是MetaTrader的新手,有一个基本问题。

我想限制我的专家顾问中的未平仓头寸,每次只有1个头寸,但我希望每个符号都 有这个限制,所以如果我在另一个符号上运行另一个专家顾问,它将在该符号上打开一个新头寸。

换句话说,我希望能够为所有符号开1个头寸,但一个符号不能超过1个头寸(我说的是许多符号上的专家顾问...)。

我怎样才能做到这一点?

我看到了 "totaltrades "功能,但从文档中我了解到,这个功能适用于账户,而不是当前的符号。

所以 "如果totaltrades=1,则退出;"将导致所有符号 每次都有一个位置...

10X !

 

所有符号的1个位置

int total=OrdersTotal();

if(total<1)

{

.

.

.

}

 

但是,一个符号的一个位置或一个图表的打开

 

嗯,每张图一个是最好的......

但如果做不到,那么每个符号一个也是不错的...

 

每个符号1个

...

for (int i=0; i<OrdersTotal(); i++) {

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

if (OrderSymbol()==Symbol() )

return(0);

....
 

很好!

10倍之多!

 

我将再次打扰你......(。

我也可以按图索骥吗?

因为我有不同的系统用于不同的时间间隔的图表...

 

对不起,我不明白