如何编码? - 页 19 1...121314151617181920212223242526...347 新评论 CEO 2007.01.15 04:38 #181 谢谢你的努力,Nicholishen。不幸的是,它没有工作。它正在修改订单,但是是双向的。我的意思是,在买入的情况下,它会将止损点向上移动,但它也会向下移动。我需要停止向下移动。 Nicholishen 2007.01.15 05:13 #182 我明白你的意思,但代码是正确的。要么是有另一个EA在修改这些订单,要么是EA中有其他代码在做,因为肯定不是这段代码。你需要停止所有其他的EA,并检查 主EA代码中对OrderModify()的其他调用。 祝您好运 =) 附加的文件: trailing_test.mq4 3 kb CEO 2007.01.15 06:04 #183 谢谢你对我这个不懂的人花时间。 代码中唯一的其他修改是收支平衡和锁定点数,我会附上。 BEx=要锁定的点数 我已经看了很多次了,我确信它正看着我,但我不是专家,充其量是个黑客。 再次感谢Nicholishen! void DoBE(int byPips) { for (int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if ( OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueGridMagic) || (OrderComment() == GridName)) ) // only look if mygrid and symbol... { if (OrderType() == OP_BUY) if (Bid - OrderOpenPrice() > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red); if (OrderType() == OP_SELL) if (OrderOpenPrice() - Ask > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red); } } } 哦,忘了补充,这是唯一的EA。只是目前正在进行回测。 请高手修改保平止损和追踪止损EA代码 任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. 退出策略。阶梯式止损与拖曳式止损 Nicholishen 2007.01.15 06:19 #184 C.E.O.: 谢谢你花时间看我的无知自我 代码中唯一的其他订单修改是收支平衡和锁定点数。 我将附上它。 BEx=要锁定的点数 我已经看了很多次了,我相信它就在我眼前,但我不是专家,充其量是个黑客。 再次感谢Nicholishen! void DoBE(int byPips) { for (int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if ( OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueGridMagic) || (OrderComment() == GridName)) ) // only look if mygrid and symbol... { if (OrderType() == OP_BUY) if (Bid - OrderOpenPrice() > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red); if (OrderType() == OP_SELL) if (OrderOpenPrice() - Ask > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red); } } }[/PHP] Oh forgot to add, this is the only EA. Just currently backtesting. 可能发生的情况是,一个函数使另一个函数失效。 你需要检查你的逻辑,以便一次只操作一个。 [PHP]void DoBE(int byPips) { for (int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES)。 if ( OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueGridMagic) || (OrderComment() == GridName) ) ) //只看mygrid和符号的情况。 { 如果(OrderType() == OP_BUY) { 如果(Bid - OrderOpenPrice() > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) { 如果(OrderStopLoss() != (OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)) { OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red) 。 } } } 如果(OrderType() == OP_SELL) { 如果(OrderOpenPrice() - Ask > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) { 如果 (OrderStopLoss() != (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)) { OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red) 。 } } } } } 返回。 } fallequinox 2007.01.16 00:38 #185 MQL4命令/代码验证 信息已删除。对不起,给您带来不便。 matrixebiz 2007.01.27 16:01 #186 允许实时交易 "的代码 你好,为了让EA工作,我们必须启用 "允许实时交易 "选项,那么在加载EA时,我应该添加哪一行代码来自动在EA中启用该选项,而不是一直勾选它? 谢谢 RJ1 2007.01.27 16:39 #187 你不需要用代码来做这个。 matrixebiz: 你好,为了让EA工作,我们必须启用 "允许实时交易 "选项,那么在加载EA时,我应该添加哪一行代码来自动启用EA中的该选项,而不是一直勾选它?谢谢 你好,Matrixebiz。 你可以通过进入MetaTrader的菜单轻松做到这一点。进入 "工具",然后进入 "选项"(或者直接输入CRTL-O)。然后,在 "专家顾问 "选项卡中,勾选 允许实时交易选项。这样一来,你之后安装的所有EA都将被允许进行实时交易。 -RJ1- matrixebiz 2007.01.28 13:26 #188 哦,好的,这很容易 谢谢 jyrik 2007.01.31 16:07 #189 EA时间代码 我想要EA的时间代码。例如,它将只启用18:00-1:00的交易。这可能吗? jyrik 2007.01.31 16:19 #190 发现这个 如果(UseHourTrade){ if(!(Hour()>=FromHourTrade&&Hour()<=ToHourTrade)){ Comment("非交易时间!")。 return(0); 有一个问题。 它使用我的外汇经纪人时间:是还是不是? 我想是的,但我想确定一下 我怎么能把分钟放在那里,比如15:30?只有小时吗? 1...121314151617181920212223242526...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谢谢你的努力,Nicholishen。不幸的是,它没有工作。它正在修改订单,但是是双向的。我的意思是,在买入的情况下,它会将止损点向上移动,但它也会向下移动。我需要停止向下移动。
我明白你的意思,但代码是正确的。要么是有另一个EA在修改这些订单,要么是EA中有其他代码在做,因为肯定不是这段代码。你需要停止所有其他的EA,并检查 主EA代码中对OrderModify()的其他调用。
祝您好运 =)
谢谢你对我这个不懂的人花时间。![](https://c.mql5.com/forextsd/smiles/smile.png)
代码中唯一的其他修改是收支平衡和锁定点数,我会附上。
BEx=要锁定的点数
我已经看了很多次了,我确信它正看着我,但我不是专家,充其量是个黑客。
再次感谢Nicholishen!
{
for (int i = 0; i < OrdersTotal(); i++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if ( OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueGridMagic) || (OrderComment() == GridName)) ) // only look if mygrid and symbol...
{
if (OrderType() == OP_BUY) if (Bid - OrderOpenPrice() > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);
if (OrderType() == OP_SELL) if (OrderOpenPrice() - Ask > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);
}
}
}哦,忘了补充,这是唯一的EA。只是目前正在进行回测。
谢谢你花时间看我的无知自我
代码中唯一的其他订单修改是收支平衡和锁定点数。 我将附上它。
BEx=要锁定的点数
我已经看了很多次了,我相信它就在我眼前,但我不是专家,充其量是个黑客。
再次感谢Nicholishen!
{
for (int i = 0; i < OrdersTotal(); i++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if ( OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueGridMagic) || (OrderComment() == GridName)) ) // only look if mygrid and symbol...
{
if (OrderType() == OP_BUY) if (Bid - OrderOpenPrice() > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);
if (OrderType() == OP_SELL) if (OrderOpenPrice() - Ask > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);
}
}
}[/PHP]
Oh forgot to add, this is the only EA. Just currently backtesting.可能发生的情况是,一个函数使另一个函数失效。 你需要检查你的逻辑,以便一次只操作一个。
[PHP]void DoBE(int byPips)
{
for (int i = 0; i < OrdersTotal(); i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES)。
if ( OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueGridMagic) || (OrderComment() == GridName) ) ) //只看mygrid和符号的情况。
{
如果(OrderType() == OP_BUY)
{
如果(Bid - OrderOpenPrice() > byPips * MarketInfo(OrderSymbol(), MODE_POINT))
{
如果(OrderStopLoss() != (OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT))
{
OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red) 。
}
}
}
如果(OrderType() == OP_SELL)
{
如果(OrderOpenPrice() - Ask > byPips * MarketInfo(OrderSymbol(), MODE_POINT))
{
如果 (OrderStopLoss() != (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT))
{
OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red) 。
}
}
}
}
}
返回。
}MQL4命令/代码验证
信息已删除。对不起,给您带来不便。
允许实时交易 "的代码
你好,为了让EA工作,我们必须启用 "允许实时交易 "选项,那么在加载EA时,我应该添加哪一行代码来自动在EA中启用该选项,而不是一直勾选它?
谢谢
你不需要用代码来做这个。
你好,为了让EA工作,我们必须启用 "允许实时交易 "选项,那么在加载EA时,我应该添加哪一行代码来自动启用EA中的该选项,而不是一直勾选它?谢谢
你好,Matrixebiz。
你可以通过进入MetaTrader的菜单轻松做到这一点。进入 "工具",然后进入 "选项"(或者直接输入CRTL-O)。然后,在 "专家顾问 "选项卡中,勾选 允许实时交易选项。这样一来,你之后安装的所有EA都将被允许进行实时交易。
-RJ1-
哦,好的,这很容易
谢谢
EA时间代码
我想要EA的时间代码。例如,它将只启用18:00-1:00的交易。这可能吗?
发现这个
如果(UseHourTrade){
if(!(Hour()>=FromHourTrade&&Hour()<=ToHourTrade)){
Comment("非交易时间!")。
return(0);
有一个问题。
它使用我的外汇经纪人时间:是还是不是?
我想是的,但我想确定一下
我怎么能把分钟放在那里,比如15:30?只有小时吗?