文章 "使用限价订单替代止盈且无需修改 EA 的原始代码" - 页 5 1234567 新评论 owneroxxor 2019.10.07 21:18 #41 这就是我想要的一切,非常感谢。爱你 mehdiparyab 2019.12.31 19:46 #42 亲爱的 我的 TP 平面是:当在图表中设置例如买入,并且趋势正确并获利时,TP 值会移动到最大获利 点,因此当趋势转为直线下降时,TP 值会放置在最大获利的 70%。 double BuyPipsProfit,SellPipsProfit,BuyProfitLevel,SellProfitLevel; double TP_Buy=0; double TP_Sell=0; for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { BuyPipsProfit= Ask-(double)OrderOpenPrice(); SellPipsProfit= (double)OrderOpenPrice()-Bid; BuyProfitLevel= BuyPipsProfit*.7; SellProfitLevel= SellPipsProfit*.7; TP_Buy = (50*Point)+ ((OrderOpenPrice()+ BuyProfitLevel)*Point); TP_Sell= (50*Point)+ ((OrderOpenPrice()+ SellProfitLevel)*Point); } } Discussion of article "Using 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 如何编码? Roco Deodato Giaculi 2020.01.16 04:18 #43 你好、 不工作。 LimitTakeProfit.mqh 错误: unresolved static variable 'CLimitTakeProfit::i_Magic' LimitTakeProfit.mqh 29 43 unresolved static variable 'CLimitTakeProfit::b_OnlyOneSymbol' LimitTakeProfit.mqh 32 52 unresolved static variable 'CLimitTakeProfit::i_TakeProfit' LimitTakeProfit.mqh 507 14 unresolved static variable 'CLimitTakeProfit::d_TakeProfit' LimitTakeProfit.mqh 512 17 unresolved static variable 'CLimitTakeProfit::c_Symbol' LimitTakeProfit.mqh 160 9 谢谢。 附加的文件: Erro_LimitTakeProfit.jpeg 95 kb Airton Gomes Finoti 2020.01.16 15:40 #44 @MetaQuotes,谢谢你的代码! 我在这个函数中发现了一个错误,并给出了拙见: bool CLimitTakeProfit::SetTakeProfits(ulong position_ticket, double new_tp=0) 如果我们有 2 个 TP,并且第一个已经关闭,那么第二个在这里将被错误关闭: if(CheckLimitOrder(tp_request)) { if(tp_request.volume>=0) { closed+=tp_request.volume; closed_perc=closed/position_volume*100; } else { fix_closed_per-=tp_request.volume/(position_volume-tp_request.volume)*100; } continue; } 为什么?因为在这个函数中搜索第一个 TP 时: CheckOrderInHistory(PositionGetInteger(POSITION_IDENTIFIER),request.comment, request.type, request.volume); 我们改变了选择的位置,因此,在循环中: for(int i=0;i<total;i++) { tp_request.comment="TP"+IntegerToString(i)+"_"+IntegerToString(position_ticket); if(i_TakeProfit.At(i)<tp_int && d_TakeProfit.At(i)>0) 我们在这里使用错误的位置来评估第二个 TP: switch((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)) 导致第二个 TP 关闭!我的解决方案是 for(int i=0;i<total;i++) { /****** 新行 **************/ PositionSelectByTicket(position_ticket); /****** 新行 **************/ tp_request.comment="TP"+IntegerToString(i)+"_"+IntegerToString(position_ticket); if(i_TakeProfit.At(i)<tp_int && d_TakeProfit.At(i)>0) 再次感谢! Dmitriy Gizlyk 2020.01.16 22:02 #45 Roco Deodato Giaculi #: 你好,不工作。LimitTakeProfit.mqh 错误: 谢谢。 您是使用了原始代码,还是将代码添加到了您的顾问中? Allyson 2020.02.22 19:18 #46 我从没成功过。 Donon 2020.02.29 20:52 #47 下午好@Dmitriy Gizlyk,您能帮我解决这个问题吗?我已经试了很多办法,但还是无法摆脱这个错误。如果您能帮忙,谢谢。 FalconGhost2 2020.07.07 21:29 #48 您能帮帮我吗?我不知道如何编程等。我只想把我的利润 绘制成有限订单(如果您能说明如何使用您的文件,我将非常感激)。 Dmitriy Gizlyk 2020.07.08 09:13 #49 FalconGhost2 : 您能帮帮我吗?我不知道如何编程等。我只想让我的利润 显示为限价订单(如果您能说明如何使用您的文件,我将非常感激)。 您好,如果您使用手动交易,则无法使用此文件。它只能在 EA 中使用。 致敬,德米特里。 FalconGhost2 2020.07.09 16:08 #50 Dmitriy Gizlyk #: 您好,如果您使用手动交易,则无法使用此文件。它是供 EA 使用的。致以最崇高的敬意,德米特里。 感谢您回复 Dmitriy!您知道还有其他手动交易的方法吗? 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
亲爱的
我的 TP 平面是:当在图表中设置例如买入,并且趋势正确并获利时,TP 值会移动到最大获利 点,因此当趋势转为直线下降时,TP 值会放置在最大获利的 70%。
double BuyPipsProfit,SellPipsProfit,BuyProfitLevel,SellProfitLevel;
double TP_Buy=0;
double TP_Sell=0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
BuyPipsProfit= Ask-(double)OrderOpenPrice();
SellPipsProfit= (double)OrderOpenPrice()-Bid;
BuyProfitLevel= BuyPipsProfit*.7;
SellProfitLevel= SellPipsProfit*.7;
TP_Buy = (50*Point)+ ((OrderOpenPrice()+ BuyProfitLevel)*Point);
TP_Sell= (50*Point)+ ((OrderOpenPrice()+ SellProfitLevel)*Point);
}
}
你好、
不工作。
LimitTakeProfit.mqh 错误:
谢谢。
@MetaQuotes,谢谢你的代码!
我在这个函数中发现了一个错误,并给出了拙见:
如果我们有 2 个 TP,并且第一个已经关闭,那么第二个在这里将被错误关闭:
为什么?因为在这个函数中搜索第一个 TP 时:
我们改变了选择的位置,因此,在循环中:
我们在这里使用错误的位置来评估第二个 TP:
导致第二个 TP 关闭!我的解决方案是
再次感谢!
您是使用了原始代码,还是将代码添加到了您的顾问中?
我从没成功过。
下午好@Dmitriy Gizlyk,您能帮我解决这个问题吗?我已经试了很多办法,但还是无法摆脱这个错误。如果您能帮忙,谢谢。
您好,如果您使用手动交易,则无法使用此文件。它只能在 EA 中使用。
致敬,德米特里。
感谢您回复 Dmitriy!您知道还有其他手动交易的方法吗?