[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 239 1...232233234235236237238239240241242243244245246...537 新评论 charter 2011.03.12 21:41 #2381 IgorM:iHighest和iLowest来帮助你,并阅读建立ZZ的算法。SZY:不是最简单的任务,代码会很小,但算法很复杂,我找不到代码,但我已经在High处搜索到了一个峰值:High[iHighest(NULL,0,MODE_HIGH,i)) 1.什么是 "33"? 2.High[iHighest(NULL,0,MODE_HIGH,i)将得到一个点。如何获得第二个? iLowest !=第二个点。 Igor Makanu 2011.03.12 21:45 #2382 charter:1.什么是 "33"?2.High[iHighest(NULL,0,MODE_HIGH,i)将得到一个点。如何获得第二个? 1.Zig Zag。 不会的,它只会给你提供一种可能性,为上行线 找到一些 高点,然后你将不得不从这些高点中 选择两个 来画线。 Trachtorbek 2011.03.12 22:50 #2383 charter: 困难的是找到以后画线所要经过的点。 当你能看到这些点时,画线就不难了。你如何在程序上 "看到 "它们? 谢谢你,纠正了! Trachtorbek 2011.03.12 22:50 #2384 charter: 困难的是找到以后画线所要经过的点。 当你能看到这些点时,画线就不难了。你如何在程序上 "看到 "它们? 谢谢你,纠正了! [删除] 2011.03.12 23:01 #2385 所有鉴赏家的好日子! 请帮助我纠正专家顾问中的代码https://www.mql5.com/ru/code- Ilan. 我们的想法是,EA有一个可调整的参数,用于股权缩水,它可以关闭所有的订单! 然而,锁定功能后来出现了,所以我们的EA一直在跟随趋势关闭所有未平仓的订单,并让锁定的头寸不被触及。那么,如何解决这个问题,使所有的订单在给定的股权缩水时被关闭? 这里是关闭订单的部分(趋势和亏损订单有不同的魔法数字)。这里的一切都很有效。专家顾问正在关闭所有订单。缩减量比设定的高4倍或更多,一直到库房排水的时候。 if (UseEquityStop) { if (CurrentPairProfit < 0.0 && MathAbs(CurrentPairProfit) > TotalEquityRisk / 100.0 * AccountEquityHigh()) { CloseThisSymbolAll(MagicNumber); CloseThisSymbolAll(LMagN); PrintF("Closed All due to Stop Out"); NewOrdersPlaced = FALSE; 事实证明,亏损的订单正在被覆盖,但在计算当前的利润和权益时,它们并没有被考虑在内!这里是计算当前利润的部分。 double CalculateProfit() { double ld_ret_0 = 0; for (cnt = OrdersTotal() - 1; cnt >= 0; cnt--) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue; if (OrderSymbol() == Symbol()) if (OrderMagicNumber() == MagicNumber || OrderMagicNumber() == LMagN) if (OrderType() == OP_BUY || OrderType() == OP_SELL) ld_ret_0 += OrderProfit(); } return (ld_ret_0); 而这里是计算股权的部分。 double AccountEquityHigh() { if ((CountTrades(MagicNumber) == 0) && (CountTrades(LMagN) == 0)) AccountEquityHighAmt = AccountEquity(); if (AccountEquityHighAmt < PrevEquity) AccountEquityHighAmt = PrevEquity; else AccountEquityHighAmt = AccountEquity(); PrevEquity = AccountEquity(); return (AccountEquityHighAmt); 我把我添加的部分用黑色标注出来。我忘记了什么?????为什么不工作????? [Archive!] Any rookie question, 编码帮助 EA不会在多对上运行,需要帮助 Artyom Trishkin 2011.03.13 05:30 #2386 polsvv: 所有鉴赏家的好日子! 请帮助我纠正专家顾问中的代码https://www.mql5.com/ru/code- Ilan. 我们的想法是,EA有一个可调整的参数,用于股权缩水,它可以关闭所有的订单! 然而,锁定功能后来出现了,所以我们的EA一直在跟随趋势关闭所有未平仓的订单,并让锁定的头寸不被触及。那么,如何解决这个问题,使所有的订单在给定的股权缩水时被关闭? 这里是关闭订单的部分(趋势和亏损订单有不同的魔法数字)。这里的一切都很有效。专家顾问正在关闭所有订单。缩减量比设定的高4倍或更多,一直到库房排水的时候。 if (UseEquityStop) { if (CurrentPairProfit < 0.0 && MathAbs(CurrentPairProfit) > TotalEquityRisk / 100.0 * AccountEquityHigh()) { CloseThisSymbolAll(MagicNumber); CloseThisSymbolAll(LMagN); PrintF("Closed All due to Stop Out"); NewOrdersPlaced = FALSE; 事实证明,亏损的订单正在被覆盖,但在计算当前的利润和权益时,它们并没有被考虑在内!这里是计算当前利润的部分。 double CalculateProfit() { double ld_ret_0 = 0; for (cnt = OrdersTotal() - 1; cnt >= 0; cnt--) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue; if (OrderSymbol() == Symbol()) if (OrderMagicNumber() == MagicNumber || OrderMagicNumber() == LMagN) if (OrderType() == OP_BUY || OrderType() == OP_SELL) ld_ret_0 += OrderProfit(); } return (ld_ret_0); 而这里是计算股权的部分。 double AccountEquityHigh() { if ((CountTrades(MagicNumber) == 0) && (CountTrades(LMagN) == 0)) AccountEquityHighAmt = AccountEquity(); if (AccountEquityHighAmt < PrevEquity) AccountEquityHighAmt = PrevEquity; else AccountEquityHighAmt = AccountEquity(); PrevEquity = AccountEquity(); return (AccountEquityHighAmt); 我把我添加的部分用黑色标注出来。我忘记了什么?????为什么它不工作????? 也许应该这样?: //=================================================================================== double CalculateProfit() { double ld_ret_0 = 0; for (int cnt = 0; cnt < OrdersTotal(); cnt++) { if (OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()!=Symbol()) continue; if (OrderType()>1) continue; if (OrderMagicNumber()==MagicNumber || OrderMagicNumber() == LMagN) ld_ret_0 += OrderProfit(); } else if (!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) { Print ("Func: CalculateProfit(), Select Order Error = ", GetLastError()); break; } } return (ld_ret_0); } //=================================================================================== Roma 2011.03.13 09:00 #2387 artmedia70:也许这就是它应该有的样子? 你是这样插入代码 的,这样就可以阅读了 Artyom Trishkin 2011.03.13 12:19 #2388 eddy: 这就是你如何把代码放进去,以便你能读懂它。 哦,是吗?这就是你能看到的所有区别吗? [删除] 2011.03.13 13:39 #2389 大家好! 就在这个周末,我第一次使用策略测试器。我搞不清楚 "优化 "功能有什么用。我选择了不同的可优化参数,但平衡并没有改变。它本质上是要优化什么,如何优化?是否有人使用它呢?:) BBC 2011.03.13 14:03 #2390 AndrejFX: 大家好! 就在这个周末,我第一次使用了策略测试器。我搞不清楚 "优化 "功能的用途是什么。我选择了不同的可优化参数,但平衡并没有改变。它本质上是要优化什么,如何优化?是否有人使用它呢?:) 试着使用F1作为开始。 找到用户界面 -> 测试仪。 也许https://www.mql5.com/ru/articles/mt4/tester 会有帮助 1...232233234235236237238239240241242243244245246...537 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
iHighest和iLowest来帮助你,并阅读建立ZZ的算法。
SZY:不是最简单的任务,代码会很小,但算法很复杂,我找不到代码,但我已经在High处搜索到了一个峰值:High[iHighest(NULL,0,MODE_HIGH,i))
1.什么是 "33"?
2.High[iHighest(NULL,0,MODE_HIGH,i)将得到一个点。如何获得第二个?
iLowest !=第二个点。
1.什么是 "33"?
2.High[iHighest(NULL,0,MODE_HIGH,i)将得到一个点。如何获得第二个?
1.Zig Zag。
不会的,它只会给你提供一种可能性,为上行线 找到一些 高点,然后你将不得不从这些高点中 选择两个 来画线。
困难的是找到以后画线所要经过的点。
当你能看到这些点时,画线就不难了。你如何在程序上 "看到 "它们?
谢谢你,纠正了!
困难的是找到以后画线所要经过的点。
当你能看到这些点时,画线就不难了。你如何在程序上 "看到 "它们?
谢谢你,纠正了!
所有鉴赏家的好日子!
请帮助我纠正专家顾问中的代码https://www.mql5.com/ru/code- Ilan.
我们的想法是,EA有一个可调整的参数,用于股权缩水,它可以关闭所有的订单!
然而,锁定功能后来出现了,所以我们的EA一直在跟随趋势关闭所有未平仓的订单,并让锁定的头寸不被触及。那么,如何解决这个问题,使所有的订单在给定的股权缩水时被关闭?
这里是关闭订单的部分(趋势和亏损订单有不同的魔法数字)。这里的一切都很有效。专家顾问正在关闭所有订单。缩减量比设定的高4倍或更多,一直到库房排水的时候。
if (UseEquityStop) {
if (CurrentPairProfit < 0.0 && MathAbs(CurrentPairProfit) > TotalEquityRisk / 100.0 * AccountEquityHigh()) {
CloseThisSymbolAll(MagicNumber);
CloseThisSymbolAll(LMagN);
PrintF("Closed All due to Stop Out");
NewOrdersPlaced = FALSE;
事实证明,亏损的订单正在被覆盖,但在计算当前的利润和权益时,它们并没有被考虑在内!这里是计算当前利润的部分。
double CalculateProfit() {
double ld_ret_0 = 0;
for (cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
if (OrderSymbol() == Symbol())
if (OrderMagicNumber() == MagicNumber || OrderMagicNumber() == LMagN)
if (OrderType() == OP_BUY || OrderType() == OP_SELL) ld_ret_0 += OrderProfit();
}
return (ld_ret_0);
而这里是计算股权的部分。
double AccountEquityHigh() {
if ((CountTrades(MagicNumber) == 0) && (CountTrades(LMagN) == 0)) AccountEquityHighAmt = AccountEquity();
if (AccountEquityHighAmt < PrevEquity) AccountEquityHighAmt = PrevEquity;
else AccountEquityHighAmt = AccountEquity();
PrevEquity = AccountEquity();
return (AccountEquityHighAmt);
我把我添加的部分用黑色标注出来。我忘记了什么?????为什么不工作?????
所有鉴赏家的好日子!
请帮助我纠正专家顾问中的代码https://www.mql5.com/ru/code- Ilan.
我们的想法是,EA有一个可调整的参数,用于股权缩水,它可以关闭所有的订单!
然而,锁定功能后来出现了,所以我们的EA一直在跟随趋势关闭所有未平仓的订单,并让锁定的头寸不被触及。那么,如何解决这个问题,使所有的订单在给定的股权缩水时被关闭?
这里是关闭订单的部分(趋势和亏损订单有不同的魔法数字)。这里的一切都很有效。专家顾问正在关闭所有订单。缩减量比设定的高4倍或更多,一直到库房排水的时候。
if (UseEquityStop) {
if (CurrentPairProfit < 0.0 && MathAbs(CurrentPairProfit) > TotalEquityRisk / 100.0 * AccountEquityHigh()) {
CloseThisSymbolAll(MagicNumber);
CloseThisSymbolAll(LMagN);
PrintF("Closed All due to Stop Out");
NewOrdersPlaced = FALSE;
事实证明,亏损的订单正在被覆盖,但在计算当前的利润和权益时,它们并没有被考虑在内!这里是计算当前利润的部分。
double CalculateProfit() {
double ld_ret_0 = 0;
for (cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
if (OrderSymbol() == Symbol())
if (OrderMagicNumber() == MagicNumber || OrderMagicNumber() == LMagN)
if (OrderType() == OP_BUY || OrderType() == OP_SELL) ld_ret_0 += OrderProfit();
}
return (ld_ret_0);
而这里是计算股权的部分。
double AccountEquityHigh() {
if ((CountTrades(MagicNumber) == 0) && (CountTrades(LMagN) == 0)) AccountEquityHighAmt = AccountEquity();
if (AccountEquityHighAmt < PrevEquity) AccountEquityHighAmt = PrevEquity;
else AccountEquityHighAmt = AccountEquity();
PrevEquity = AccountEquity();
return (AccountEquityHighAmt);
我把我添加的部分用黑色标注出来。我忘记了什么?????为什么它不工作?????
也许应该这样?:
也许这就是它应该有的样子?
这就是你如何把代码放进去,以便你能读懂它。
就在这个周末,我第一次使用策略测试器。我搞不清楚 "优化 "功能有什么用。我选择了不同的可优化参数,但平衡并没有改变。它本质上是要优化什么,如何优化?是否有人使用它呢?:)
大家好!
就在这个周末,我第一次使用了策略测试器。我搞不清楚 "优化 "功能的用途是什么。我选择了不同的可优化参数,但平衡并没有改变。它本质上是要优化什么,如何优化?是否有人使用它呢?:)
试着使用F1作为开始。
找到用户界面 -> 测试仪。
也许https://www.mql5.com/ru/articles/mt4/tester 会有帮助