关闭所有'/'打开'工具 - 页 13

 

关闭所有订单的EA

我见过关闭所有未结订单的EA/脚本,但我想找一个能在指定时间关闭所有未结订单的EA。有没有人有这样的EA?

或者谁能告诉我在一个开仓的EA上修改什么代码,以增加 关闭订单的代码

谢谢你

编辑:如果有人有一个在指定时间打开订单然后在另一个时间关闭订单的EA,请在这里发布。

 

只在指定时间打开

你好,matrixbiz

这个EA在指定时间打开交易,但不在指定时间关闭。

我正在寻找同样的代码(在指定时间关闭所有订单),以建立在现有的EA中。

这可能会有帮助

matrixebiz:
我见过关闭所有未结订单的EA/脚本,但我想找一个在指定时间关闭所有未结订单的EA。有没有人有这样的EA?

或者谁能告诉我,在一个开仓的EA上修改什么代码,以添加关闭和订单的代码。

谢谢你

编辑:如果有人拥有在指定时间打开订单,然后在另一个时间关闭订单的EA,请在此发表。
附加的文件:
 

编码员你好

我还在通过复制和粘贴来学习,因为我是一个完全陌生的人。

我需要一个函数,在指定的时间关闭所有未平仓的交易。

我已经尝试了一些东西。

编译时没有任何错误。但在strategytester中,我有如下信息。

Testgenerator: unmatched data error(volume limit 719 at 2008.03.27 12:30 exeeded)

Testgenerator: unmatched data error(volume limit 135 at 2008.03.27 23:00 exeeded)

黑色,这是原始代码。那是有效的

蓝色是我想插入的内容

感谢任何帮助

//+-----------------------------------------------------------------------+

//| 检查收盘条件。

//+-----------------------------------------------------------------------+

空白的CheckForCloseConditions()

{

int ticket;

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

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;

如果(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) 继续。

如果(OrderType()==OP_BUY)

{

如果(GetSignal()==1)

{

OrderClose(OrderTicket(),OrderLots(), Bid,3,Red)。

返回(0)。

}

}

如果(OrderType()==OP_SELL)

{

如果(GetSignal()==2)

{

OrderClose(OrderTicket(),OrderLots(), Ask,3,Red);

return(0);

}

}

}

return(0);

}

//+-----------------------------------------------------------------------+

//| 检查收盘条件的尾部|。

//+-----------------------------------------------------------------------+

空白 CheckForCloseConditionsTrailing()

{

int ticket;

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

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;

如果(OrderMagicNumber()!=MAGICMA_Trailing || OrderSymbol()!=Symbol()) 继续。

如果(OrderType()==OP_BUY)

{

如果(GetSignal()==1)

{

OrderClose(OrderTicket(),OrderLots(), Bid,3,Red)。

返回(0)。

}

如果(TrailingStop>0)

{

如果(Bid-OrderOpenPrice()>Point*TrailingStop)

{

如果(OrderStopLoss()<Bid-Point*TrailingStop)

{

OrderModify(OrderTicket(),OrderOpenPrice(), Bid-Point*TrailingStop,OrderTakeProfit(),0,Red)。

返回(0)。

}

}

}

}

如果(OrderType()==OP_SELL)

{

如果(GetSignal()==2)

{

OrderClose(OrderTicket(),OrderLots(), Ask,3,Red);

return(0);

}

如果(TrailingStop>0)

{

如果((OrderOpenPrice()-Ask)>(Point*TrailingStop))

{

如果((OrderStopLoss()>(Ask+Point*TrailingStop))|| (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Magenta)。

返回(0)。

}

}

}

}

}

return(0);

}

//+-----------------------------------------------------------------------+

//| 启动功能|

//+-----------------------------------------------------------------------+

int start()

//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

//按时间结清未结订单

//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

如果(UseCloseTime){

如果(!(Hour()>=CloseTime && Hour()>=CloseTime)) {

Comment("关闭交易的时间已经到来!")。

return(0);

} else Comment("");

}else Comment("");

{

int ticket;

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

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;

如果(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) 继续。

如果(OrderType()==OP_BUY)

{

{

OrderClose(OrderTicket(),OrderLots(), Bid,3,Red)。

返回(0)。

}

}

如果(OrderType()==OP_SELL)

{

{

OrderClose(OrderTicket(),OrderLots(), Ask,3,Red);

return(0);

}

}

}

return(0);

}

//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

//按时间关闭未结尾的跟踪订单

//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

如果(UseCloseTime){

if (!(Hour()>=CloseTime && Hour()>=CloseTime)) {

Comment("关闭跟踪交易的时间已经到来!")。

return(0);

} else Comment("")。

}else Comment("");

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) //break;

如果(OrderMagicNumber()!=MAGICMA_Trailing || OrderSymbol()!=Symbol())//继续。

如果(OrderType()==OP_BUY)

{

//如果(GetSignal()==1)

{

OrderClose(OrderTicket(),OrderLots(), Bid,3,Red);

返回(0)。

}

如果(TrailingStop>0)

{

如果(Bid-OrderOpenPrice()>Point*TrailingStop)

{

如果(OrderStopLoss()<Bid-Point*TrailingStop)

{

OrderModify(OrderTicket(),OrderOpenPrice(), Bid-Point*TrailingStop,OrderTakeProfit(),0,Red)。

返回(0)。

}

}

}

}

如果(OrderType()==OP_SELL)

{

{

OrderClose(OrderTicket(),OrderLots(), Ask,3,Red);

return(0);

}

如果(TrailingStop>0)

{

如果((OrderOpenPrice()-Ask)>(Point*TrailingStop))

{

如果((OrderStopLoss()>(Ask+Point*TrailingStop))|| (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Magenta)。

返回(0)。

}

}

}

}

}

return(0);

如果(CalculateNumberOfOrders(Symbol())<1&&CalculateNumberOfOrdersTrailing(Symbol())<1)

CheckForOpenConditions()。

否则

{

CheckForCloseConditions();

CheckForCloseConditionsTrailing();

}

return(0);

}

 

如何解决"'CloseHour'-全局范围的表达式不允许 "的错误?

 

全局变量?

hi matrixbiz

全局范围 "是什么意思?脚本开头的变量是用来定义指标的参数等?

请看附件#1EA_Test_Template。我需要这个来测试脚本的功能

让它在strategytester中运行,它可以工作。

用MetaEditor打开Ea,在int start()之后 激活不活动的脚本。

现在编译并让它在strategytester中运行,EA没有交易。请看日志中的错误信息。

matrixebiz:
如何解决"'CloseHour'-全局范围的表达式不允许 "的错误?
附加的文件:
 

脚本和Include文件的帮助

Dimicr:
他们发送的订单非常确定!

脚本和包含文件需要被编译吗?

如果是这样,它们需要完整的工程,还是可以像对待exe文件一样对待它们? (向下加载/关闭Metatrader/重新打开)

谢谢大家

 

对该EA的帮助

你好。

有哪位好心的编码员愿意为这个指标添加一个盈亏平衡的选项?

祝福你,并祝愿你永远幸福!

谢谢

附加的文件:
 

我不知道KimIV.网站上的语言是什么。但我设法找到了正确的文件来下载,但当我编译它时,出现了一个错误

'GetParent' -函数 没有定义 C:\Program Files\Straighthold Trader\experts-CloseByPercentProfit.mq4 (180, 10)

如果有人知道的话,请告诉他或者修复它。

 
 
Beno:
我不知道KimIV.网站上的语言。我不知道KimIV.网站上的语言,但我设法找到了正确的文件来下载,但当我编译它时,出现了一个错误。

'GetParent' - 函数没有定义 C:\Program Files\Straighthold Trader\experts-CloseByPercentProfit.mq4 (180, 10)

如果有人知道的话,能不能让他知道或解决这个问题?

是的,我也是这样。

可能是这个功能 被从Metatrader中删除了?这个EA是在2007年12月创建的,所以它不是旧的......

我不知道,对不起。