初学者的问题 MQL5 MT5 MetaTrader 5 - 页 672 1...665666667668669670671672673674675676677678679...1503 新评论 Alexandr Vetrov 2016.11.15 11:38 #6711 fxsaber: 谢谢你!!!。 RichLux 2016.11.15 17:25 #6712 我正在编写一个在马丁格尔基础上工作的EA。我怎样才能让它在达到一个货币对的最大允许损失点数时关闭它所开的所有订单? Vladislav Andruschenko 2016.11.15 17:34 #6713 RichLux:我正在编写一个在马丁格尔基础上工作的EA。我怎样才能让它在达到一个货币对的最大允许损失点数时关闭它所开的所有订单?double GetProfitinCurrency(string order_symbol="",int order_type=-1,int order_magic=-1) { double profit=0; int i,k=OrdersTotal(); if(order_symbol=="0") order_symbol=Symbol(); for(i=0; i<k; i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if((OrderSymbol()==order_symbol || order_symbol=="") && (order_type<0 || OrderType()==order_type)) { if(OrderType()==OP_BUY || OrderType()==OP_SELL) { if(order_magic<0 || OrderMagicNumber()==order_magic) { profit+=OrderProfit()+OrderCommission()+OrderSwap(); } } } } } return(profit); }该函数返回未平仓头寸的利润,可以通过符号、类型、Magik过滤。然后你关闭所有头寸void CPD(string order_symbol="",int order_type=-1,int order_magic=-1) { int i,k=OrdersTotal(); if(order_symbol=="0") order_symbol=Symbol(); for(i=k-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if((OrderSymbol()==order_symbol || order_symbol=="") && (order_type<0 || OrderType()==order_type)) { if(OrderType()==OP_BUY || OrderType()==OP_SELL) { if(order_magic<0 || OrderMagicNumber()==order_magic) OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),1,CLR_GREEN); } } } } } Questions from Beginners MQL5 编码帮助 [存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. RichLux 2016.11.15 19:18 #6714 Vladislav Andruschenko: ...该函数返回以十月为单位的利润,可以通过符号、类型、Magik进行过滤。然后关闭所有仓位 谢谢,但我有兴趣在亏损时关闭。如何实现这一点? Vladislav Andruschenko 2016.11.15 19:31 #6715 我的意思是,我给了你上述内容。因此,利润是一个通用术语。-20是-20 如果(GetProfitinCurrency(Symbol(),-1,-1)<-20)CPD(Symbol(),-1,-1) RichLux 2016.11.15 19:59 #6716 Vladislav Andruschenko: double GetProfitinCurrency(string order_symbol="",int order_type=-1,int order_magic=-1) { double profit=0; int i,k=OrdersTotal(); if(order_symbol=="0") order_symbol=Symbol(); for(i=0; i<k; i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if((OrderSymbol()==order_symbol || order_symbol=="") && (order_type<0 || OrderType()==order_type)) { if(OrderType()==OP_BUY || OrderType()==OP_SELL) { if(order_magic<0 || OrderMagicNumber()==order_magic) { profit+=OrderProfit()+OrderCommission()+OrderSwap(); } } } } } return(profit); }谢谢,现在我明白了。代码中仍不清楚的是:(order_type<0||OrderType()==order_type) THIS可以读作 "和卖出或买入的订单"? Vladislav Andruschenko 2016.11.15 20:01 #6717 RichLux: yesorder_type= OP_BUY OP_SELL -1 RichLux 2016.11.15 20:53 #6718 编译器还抱怨了ClosePosBySelect。这个函数是否需要单独编写? Vladimir Karputov 2016.11.16 12:16 #6719 与本主题无关的评论已被移至"将当前时间放在图表上"。 Vladimir Karputov 2016.11.16 12:20 #6720 弗拉迪斯拉夫-安德鲁申科RichLux:编译器还抱怨了ClosePosBySelect。这个函数是否需要单独编写?void CPD(string order_symbol="",int order_type=-1,int order_magic=-1) { int i,k=OrdersTotal(); if(order_symbol=="0") order_symbol=Symbol(); for(i=k-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if((OrderSymbol()==order_symbol || order_symbol=="") && (order_type<0 || OrderType()==order_type)) { if(OrderType()==OP_BUY || OrderType()==OP_SELL) { if(order_magic<0 || OrderMagicNumber()==order_magic) OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),1,CLR_GREEN); } } } } } Questions from Beginners MQL5 编码帮助 编码帮助......我如何让指标过滤而不是警报? 1...665666667668669670671672673674675676677678679...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我正在编写一个在马丁格尔基础上工作的EA。
我怎样才能让它在达到一个货币对的最大允许损失点数时关闭它所开的所有订单?
我正在编写一个在马丁格尔基础上工作的EA。
我怎样才能让它在达到一个货币对的最大允许损失点数时关闭它所开的所有订单?
double GetProfitinCurrency(string order_symbol="",int order_type=-1,int order_magic=-1)
{
double profit=0;
int i,k=OrdersTotal();
if(order_symbol=="0") order_symbol=Symbol();
for(i=0; i<k; i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if((OrderSymbol()==order_symbol || order_symbol=="") && (order_type<0 || OrderType()==order_type))
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
if(order_magic<0 || OrderMagicNumber()==order_magic)
{
profit+=OrderProfit()+OrderCommission()+OrderSwap();
}
}
}
}
}
return(profit);
}
该函数返回未平仓头寸的利润,可以通过符号、类型、Magik过滤。
然后你关闭所有头寸
{
int i,k=OrdersTotal();
if(order_symbol=="0") order_symbol=Symbol();
for(i=k-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if((OrderSymbol()==order_symbol || order_symbol=="") && (order_type<0 || OrderType()==order_type))
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
if(order_magic<0 || OrderMagicNumber()==order_magic) OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),1,CLR_GREEN);
}
}
}
}
}
...
该函数返回以十月为单位的利润,可以通过符号、类型、Magik进行过滤。
然后关闭所有仓位
我的意思是,我给了你上述内容。
因此,利润是一个通用术语。
-20是-20
如果(GetProfitinCurrency(Symbol(),-1,-1)<-20)CPD(Symbol(),-1,-1)
double GetProfitinCurrency(string order_symbol="",int order_type=-1,int order_magic=-1)
{
double profit=0;
int i,k=OrdersTotal();
if(order_symbol=="0") order_symbol=Symbol();
for(i=0; i<k; i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if((OrderSymbol()==order_symbol || order_symbol=="") && (order_type<0 || OrderType()==order_type))
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
if(order_magic<0 || OrderMagicNumber()==order_magic)
{
profit+=OrderProfit()+OrderCommission()+OrderSwap();
}
}
}
}
}
return(profit);
}
谢谢,现在我明白了。
代码中仍不清楚的是:(order_type<0||OrderType()==order_type) THIS可以读作 "和卖出或买入的订单"?
yesorder_type= OP_BUY OP_SELL -1
编译器还抱怨了ClosePosBySelect。
这个函数是否需要单独编写?
弗拉迪斯拉夫-安德鲁申科
RichLux:
编译器还抱怨了ClosePosBySelect。
这个函数是否需要单独编写?
{
int i,k=OrdersTotal();
if(order_symbol=="0") order_symbol=Symbol();
for(i=k-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if((OrderSymbol()==order_symbol || order_symbol=="") && (order_type<0 || OrderType()==order_type))
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
if(order_magic<0 || OrderMagicNumber()==order_magic) OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),1,CLR_GREEN);
}
}
}
}
}