如何编码? - 页 52 1...454647484950515253545556575859...347 新评论 MrPip 2007.11.26 08:30 #511 Devil2000: 什么是 "时钟"?据我所知,MQL4中没有 "时钟 "函数。你可以试试这个 if(TimeHour(TimeCurrent())==7) { if(TimeMinute(TimeCurrent())==15) B== 1; if(TimeMinute(TimeCurrent())==30) B== 2; if(TimeMinute(TimeCurrent())==45) B== 3; } if(TimeHour(TimeCurrent())==8) { if(TimeMinute(TimeCurrent())==0) B== 4; if(TimeMinute(TimeCurrent())==15) B== 5; if(TimeMinute(TimeCurrent())==30) B== 6; } 当然,我以为他有 datetime clocks = TimeCurrent()。 在前面的一行中。 罗伯特 Erman Ardianto 2007.11.26 09:17 #512 MrPip: 当然,我以为他有datetime clocks = TimeCurrent()。 在前面的一行中。 罗伯特 真的吗?我在前一页中找不到它。 这应该是可行的。但在一个小时内,有时会因为你的网络连接或服务器的滞后而缺少一些分钟。 slam 2007.11.26 22:53 #513 寻找程序员,将指标转换为EA 大家好。 我正在寻找一个程序员,将一个指标转换成专家顾问(或一个独立的EA,与现有的指标一起工作)。 它只需要在信号产生的地方买入或卖出,并在预设中具备以下能力。 *交易量的确定 *止损设置 *追踪止损设置 *基于账户余额 的资金管理手数大小。 附上该指标的图片。 如果你对这个项目感兴趣,或知道谁对这个项目感兴趣,请给我发邮件。 请提前感谢。 附加的文件: indicator.gif 23 kb antone 2007.11.27 04:18 #514 Devil2000: 真的吗?我在前一页找不到,这应该是可以的。但是在一个小时内,由于你的网络连接或服务器的滞后,有时会缺少一些分钟。 对不起,这是时钟的代码,我可以用不同的GMT来改变。 double Clocks = TimeCurrent() - (Broker)*3600; broker是指格林威治标准时间的经纪商。 我需要另一个问题的代码......如果我问得太多,请原谅。 我的问题: 我希望它在一天内最多只能开出1个浮动卖盘和1个浮动买盘......但在一天内可以开出超过很多的买盘或卖盘......如果EA运行三天并且每天的订单条件得到满足,它将有3个浮动买盘/卖盘或6个浮动买盘和卖盘。 例如。 第1天=开出1笔买入并击中Tp,然后开出另一笔买入=1笔买入仍未结束 第2天=之前的买入仍旧打开,并打开另一个买入=2个买入仍旧打开 第3天=2笔买入仍未平仓,另一笔买入未平仓=3笔买入仍未平仓 for(int i=0;i<OrdersTotal();i++){ if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break; 如果(OrderSymbol()== Symbol () && OrderMagicNumber()== Magic_Number) { 如果(OrderType() == OP_BUY) buys++; 如果(OrderType() == OP_SELL) sells++; } } 如果(buys < 1),它就会下单买入 如果(sells < 1),当条件满足时,它会下单卖出。 Michel 2007.11.27 08:10 #515 你可以利用这一点,只计算那些在今天打开的。 if(OrderType() == OP_BUY && OrderOpenTime() >= iTime(NULL, PERIOD_D1, 0)) buys++; teldon 2007.11.29 03:36 #516 需要快速帮助 我有以下这些代码:..... 谁能检查一下,看看他们是否遵循这个规则...... 如果图表上没有交易,那么信号就会打开1手。 如果图表上已经有一笔交易,那么其余的订单都是双倍的。 请核实。 total = OrdersTotal(); 如果(总数>=2) { 如果(MA11>MA21 &&MA12<MA22) { ticket=OrderSend(Symbol(),OP_BUY,2*Lots,Ask,5,Ask-stoploss*Point,0,0,Magic_number,0,Green)。 返回(0)。 } 如果(MA11MA22) { ticket=OrderSend(Symbol(),OP_SELL,2*Lots,Bid,5,Bid+stoploss*Point,0,0,Magic_number,0,Red) 。 返回(0)。 } } 如果(MA11>MA21 &&MA12<MA22) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,Ask-stoploss*Point,0,0,Magic_number,0,Green)。 } 如果(MA11MA22) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,5,Bid+stoploss*Point,0,0,Magic_number,0,Red)。 } } How to code? Help please [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 kjhfdgjfhdghdf 2007.11.29 07:13 #517 马丁格尔? 你没有希望..... teldon 2007.11.29 08:48 #518 kjhfdgjfhdghdf: 马丁格尔? 你没有希望..... 我会记住的,谢谢 antone 2007.11.29 12:36 #519 我只是改变并添加了红色的字符......希望这有帮助。 total = OrdersTotal();if(total>=1) { 如果(MA11>MA21 &&MA12<MA22) { ticket=OrderSend(Symbol(),OP_BUY,2*Lots,Ask,5,Ask-stoploss*Point,0,0,Magic_number,0,Green)。 返回(0)。 } 如果(MA11MA22) { ticket=OrderSend(Symbol(),OP_SELL,2*Lots,Bid,5,Bid+stoploss*Point,0,0,Magic_number,0,Red) 。 返回(0)。 } } 如果(total<1) { 如果(MA11>MA21 && MA12<MA22) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,Ask-stoploss*Point,0,0,Magic_number,0,Green)。 } 如果(MA11MA22) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,5,Bid+stoploss*Point,0,0,Magic_number,0,Red)。 } } Jovager 2007.11.30 06:50 #520 MAs交叉时的止损 在一个EA中,我有一个SL=50。 如果我想让SL=50或跨越2个MA时如何编码? 谢谢你的帮助。 1...454647484950515253545556575859...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
什么是 "时钟"?据我所知,MQL4中没有 "时钟 "函数。
你可以试试这个
if(TimeHour(TimeCurrent())==7)
{
if(TimeMinute(TimeCurrent())==15) B== 1;
if(TimeMinute(TimeCurrent())==30) B== 2;
if(TimeMinute(TimeCurrent())==45) B== 3;
}
if(TimeHour(TimeCurrent())==8)
{
if(TimeMinute(TimeCurrent())==0) B== 4;
if(TimeMinute(TimeCurrent())==15) B== 5;
if(TimeMinute(TimeCurrent())==30) B== 6;
}当然,我以为他有
datetime clocks = TimeCurrent()。
在前面的一行中。
罗伯特
当然,我以为他有
datetime clocks = TimeCurrent()。
在前面的一行中。
罗伯特真的吗?我在前一页中找不到它。
这应该是可行的。但在一个小时内,有时会因为你的网络连接或服务器的滞后而缺少一些分钟。
寻找程序员,将指标转换为EA
大家好。
我正在寻找一个程序员,将一个指标转换成专家顾问(或一个独立的EA,与现有的指标一起工作)。 它只需要在信号产生的地方买入或卖出,并在预设中具备以下能力。
*交易量的确定
*止损设置
*追踪止损设置
*基于账户余额 的资金管理手数大小。
附上该指标的图片。
如果你对这个项目感兴趣,或知道谁对这个项目感兴趣,请给我发邮件。
请提前感谢。
真的吗?我在前一页找不到,这应该是可以的。但是在一个小时内,由于你的网络连接或服务器的滞后,有时会缺少一些分钟。
对不起,这是时钟的代码,我可以用不同的GMT来改变。
broker是指格林威治标准时间的经纪商。
我需要另一个问题的代码......如果我问得太多,请原谅。
我的问题:
我希望它在一天内最多只能开出1个浮动卖盘和1个浮动买盘......但在一天内可以开出超过很多的买盘或卖盘......如果EA运行三天并且每天的订单条件得到满足,它将有3个浮动买盘/卖盘或6个浮动买盘和卖盘。
例如。
第1天=开出1笔买入并击中Tp,然后开出另一笔买入=1笔买入仍未结束
第2天=之前的买入仍旧打开,并打开另一个买入=2个买入仍旧打开
第3天=2笔买入仍未平仓,另一笔买入未平仓=3笔买入仍未平仓
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break;
如果(OrderSymbol()== Symbol () && OrderMagicNumber()== Magic_Number)
{
如果(OrderType() == OP_BUY) buys++;
如果(OrderType() == OP_SELL) sells++;
}
}
如果(buys < 1),它就会下单买入
如果(sells < 1),当条件满足时,它会下单卖出。
你可以利用这一点,只计算那些在今天打开的。
需要快速帮助
我有以下这些代码:.....
谁能检查一下,看看他们是否遵循这个规则......
如果图表上没有交易,那么信号就会打开1手。
如果图表上已经有一笔交易,那么其余的订单都是双倍的。
请核实。
total = OrdersTotal();
如果(总数>=2)
{
如果(MA11>MA21 &&MA12<MA22)
{
ticket=OrderSend(Symbol(),OP_BUY,2*Lots,Ask,5,Ask-stoploss*Point,0,0,Magic_number,0,Green)。
返回(0)。
}
如果(MA11MA22)
{
ticket=OrderSend(Symbol(),OP_SELL,2*Lots,Bid,5,Bid+stoploss*Point,0,0,Magic_number,0,Red) 。
返回(0)。
}
}
如果(MA11>MA21 &&MA12<MA22)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,Ask-stoploss*Point,0,0,Magic_number,0,Green)。
}
如果(MA11MA22)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,5,Bid+stoploss*Point,0,0,Magic_number,0,Red)。
}
}
马丁格尔?
你没有希望.....
马丁格尔? 你没有希望.....
我会记住的,谢谢
我只是改变并添加了红色的字符......希望这有帮助。
if(total>=1)
{
如果(MA11>MA21 &&MA12<MA22)
{
ticket=OrderSend(Symbol(),OP_BUY,2*Lots,Ask,5,Ask-stoploss*Point,0,0,Magic_number,0,Green)。
返回(0)。
}
如果(MA11MA22)
{
ticket=OrderSend(Symbol(),OP_SELL,2*Lots,Bid,5,Bid+stoploss*Point,0,0,Magic_number,0,Red) 。
返回(0)。
}
}
如果(total<1)
{
如果(MA11>MA21 && MA12<MA22)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,Ask-stoploss*Point,0,0,Magic_number,0,Green)。
}
如果(MA11MA22)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,5,Bid+stoploss*Point,0,0,Magic_number,0,Red)。
}
}MAs交叉时的止损
在一个EA中,我有一个SL=50。
如果我想让SL=50或跨越2个MA时如何编码?
谢谢你的帮助。