问吧! - 页 148

 

谁能帮助我更好地理解如何修改代码,让EA在几个实例中同时执行订单(换句话说,我正在测试同一个EA,同时对几个交易进行测试,并且在每个实例中使用不同的魔法数字)。

原始代码包括以下内容。

int total=OrdersTotal()。

if(total<1)

我认为这就是问题所在。如果我增加这个数字,它只是在同一根柱子(M15)上对同一对股票执行了几个订单。如果离开if(total<1),那么它将不允许在不同的交易对上同时下单。

我是否可以改变关于tick或bar的东西,以允许每个货币对一次只有一个订单,但对所有附加有EA(有不同的魔法数字)的货币对有几个订单呢?

谢谢任何能够提供帮助或意见的人

辣椒

 

对多个if语句感到困惑

///////////////////// 星期天开始交易/////////////////////////

StartDay=7; StartHour=1; StartMinute=55;

{

如果(TimeDayOfWeek(TimeCurrent())==StartDay)

{

如果(TimeHour(TimeCurrent())==StartHour)

{

如果(TimeMinute(TimeCurrent())==StartMinute)

{

}

}

}

}

我试图让我的EA在第7天左右(第7天)、第1小时左右和第55分钟左右发挥作用时激活。 我做错了什么。 今天我启动了电脑,EA马上就开始交易了(在第一小时之前)!。 请协助。

谢谢!

戴夫

 
JForex78:
你好。

我想知道如何在一个较高的时间框架图表上绘制一个较低时间框架的MA交叉。

例如,当M15的MA5和MA10交叉时,我想在H1图表上绘制一个箭头。

请让我知道。

谢谢。

JForex。

任何图表上的MA都只是高/低时间框架上的MA的高/低版本。例如,如果你在5分钟图上放了一个60MA,但想看看它在一小时图上是什么样子,你只需将60乘以12(一小时内的5分钟间隔)。因此,一个小时图上的720MA与5分钟图上的60MA是一样的。

有意义吗?

拉克斯

 
1Dave7:
///////////////////// start trading on sunday/////////////////////////

StartDay=7; StartHour=1; StartMinute=55;

{

如果(TimeDayOfWeek(TimeCurrent())==StartDay)

{

如果(TimeHour(TimeCurrent())==StartHour)

{

如果(TimeMinute(TimeCurrent())==StartMinute)

{

}

}

}

}

我试图让我的EA在第7天左右(第7天)、第1小时左右和第55分钟左右发挥作用时激活。 我做错了什么。 今天我启动了电脑,EA马上就开始交易了(在第一小时之前)!。 请协助。

谢谢!

戴夫

再看一下帮助文件。

返回最后已知的服务器时间的当前零基星期(0-星期日、1、2、3、4、5、6)。

拉克斯

 
Chilibowl:
谁能帮助我更好地理解如何修改代码,让EA在几个实例中同时执行订单(换句话说,我正在测试同一个EA,同时在几个交易对上,并且在每个实例中使用不同的魔法数字。)

原有的代码包括以下内容。

int total=OrdersTotal()。

if(total<1)

而我认为这就是问题所在。如果我增加这个数字,它仅仅是在同一根柱子(M15)上对同一配对执行几个订单。如果留下if(total<1),那么它将不允许在不同的交易对上同时下单。

我是否可以改变关于tick或bar的东西,以允许每个货币对一次只有一个订单,但对所有附加有EA(有不同的魔力数字)的货币对有几个订单?

谢谢任何能够提供帮助或意见的人

辣椒

OrdersTotal是一个内置的函数,不考虑魔法数字。你需要编写你自己的函数,利用OrdersTotal,但按魔法数字和可能的符号过滤。这里和其他地方有很多例子。

祝你好运。

拉克斯

 
luxinterior:
再看一下帮助文件吧。 拉克斯

我把StartDay改成了0,把StartHour改成了我的经纪人当前的GMT小时,把StartMinute改成了比GMT分钟提前5分钟--当GMT时间与我的开始时间一致时,它还是能正常工作。 我看了帮助文件,它们没有显示多重 if语句。 多个if语句总是让我困惑。 我到底做错了什么? 我想让程序在周日 适当的开始时间之前不进行交易,并做一个 "非交易时间 "的注释,直到时间=周日的开始时间。

非常困惑!!

?????

 
luxinterior:
OrdersTotal是一个内置的函数,不考虑魔法数字。你需要编写你自己的函数,利用OrdersTotal,但通过魔法数字和可能的符号进行过滤。这里和其他地方有很多例子。

好运。

拉克斯

这是我做的一个,已经用了不少。

int OTBM(int intMagic)//OrdersTotalByMagic

{

int intCount=0;

int intPOS=0;

bool boolTerm=false;

while(boolTerm==false)

{

if(OrderSelect(intPOS,SELECT_BY_POS))

{

if(OrderMagicNumber()==intMagic) intCount++;

intPOS++;

}

else

boolTerm=true;

}

return(intCount);

}

[/PHP]

And if you want to close only a certain order by magic number:

int CBM(int intMagic)//CloseByMagic

{

int intOffset=0;

int Count = OTBM(intMagic);

while(OTBM(intMagic)>0 && Count > 0)

{

OrderSelect(intOffset,SELECT_BY_POS);

if(OrderMagicNumber()==intMagic)

{

if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),999,Red);

else if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),999,Orange);

Count--;

}

else {

intOffset++;

}

}

return(0);

}

Order Profit By Magic:

[PHP]double OPBM(int intMagic)//OrderProfitByMagic

{

double dblProfit=0;

int intPOS=0;

bool boolTerm=false;

while(boolTerm==false)

{

if(OrderSelect(intPOS,SELECT_BY_POS))

{

if(OrderMagicNumber()==intMagic) dblProfit=dblProfit+OrderProfit();

intPOS++;

}

else

boolTerm=true;

}

return(dblProfit);

}

希望这对你有帮助。

 
luxinterior:
任何图表上的MA只是高/低时间框架上的MA的高/低版本。例如,如果你把60MA放在5分钟图上,但想看看它在一小时图上是什么样子,你只需把60乘以12(一小时内的5分钟间隔)。因此,小时图上的720MA与5分钟图上的60MA是一样的。

有意义吗?

拉克斯

完全有意义。你将如何在H1图表上看到M5 10MA?

10/12=0.84.你能把0.84的MA放在H1图表上吗?不能。

但它的作用是相反的 - H1 10MA = M5 120MA。

所以我的问题是,我如何在更高的时间框架如H4上看到5MA的交叉。

谢谢。

 
 

MQL4的for循环

在阅读Coders' Guru的MQL4课程时,我遇到了第5课中关于'for'循环的部分,我感到很困惑。它说只能有一个测试表达式。但所显示的例子包含2个测试表达式。

int i;

int j;

for(i=0,j=0;i<15,i<;i++,j++)

Print(i)。

int i;

for(i=15;i>0,i<;i--)

Print(i);

谁能指点一下吗?

谢谢。

原因: