编码帮助 - 页 422 1...415416417418419420421422423424425426427428429...786 新评论 Mladen Rakic 2015.01.15 16:41 #4211 Mastercash: 我把使用资金管理设置为false....,但关于Lots参数,它不是关于Lots,而是关于未结订单的数量。我不希望EA在给定时间内开出超过5个订单......,这就是为什么我在输入参数中把NumberofTrades参数设置为5,但它仍然敢于我,并采取超过5个订单,从而威胁到我的资金管理! 掌握现金 这是一个测试的结果。 正如你所看到的,它从未在同一时间为同一符号和同一魔法号码开出超过5个订单。 附加的文件: 5_test.gif 87 kb Mastercash 2015.01.15 17:13 #4212 好的,我明白了......我只是不希望它为不同的符号接受超过5个订单....,例如,假设在过去20分钟内有来自10个符号的交易信号....,EA应该只接受前5个交易信号,然后当这5个订单中的任何一个关闭时,他可以再接受一个,确保当前运行的订单在各种符号中不超过5个。但它一直在超过5个,不管.....,有时它从同一个符号接受5个相同订单,这也是错误的。 mladen: 兑现大师(Mastercash这是我测试的结果。 正如你所看到的,它从未在同一时间为同一符号和同一魔法号码开出超过5个订单。 Mladen Rakic 2015.01.15 17:44 #4213 Mastercash: 好的,我明白了......我只是不希望它在不同的符号上接受超过5个订单....,例如,假设在过去20分钟内有来自10个符号的交易信号....,EA应该只接受前5个交易信号,然后当这5个订单中的任何一个关闭时,他可以再接受一个,确保当前在不同符号上运行的订单不超过5个。但它一直在超过5个,不管.....,有时它从同一个符号接受5个相同订单,这也是错的。 如果你想让它在所有符号上最多有5个订单,请到第144行(if( OrderSymbol() != Symbol() ) 继续; )并删除它。并保持所有符号上的所有实例的神奇数字相同(所以它可以计算所有符号上只有该EA开出的订单)。 wolf1210 2015.01.15 18:34 #4214 嗨,Mladen 我有一个很好的指标,当设置在一个较高的TF时,它不能刷新。 你可以在图表上看到,当我不进行编辑时,它仍然停留。你能帮助解决这个问题吗? 我添加了指标和一个屏幕截图 附加的文件: os_gaussian_ma_2.02_nmc.mq4 9 kb os_gaussian_mtf.png 83 kb Mladen Rakic 2015.01.15 18:54 #4215 wolfsch: 嗨,Mladen我有一个很好的指数,当设置在一个较高的TF时,它没有被刷新。 正如你在图表上看到的,当我不编辑时,它仍然停留在那里。你能帮助解决这个问题吗? 我添加了该指标和一张截图 wolfsch 只有在视觉回测时才会出现这种情况(这是metatrader至少7-8个月没有纠正的错误,是metatrader的错误,不是指标的错误),在视觉回测 时,所有多时间框架指标都会出现这种情况。 在正常使用情况下,它可以正常工作(为了以防万一,现在就进行了测试,所有的工作都是在常规图表上应该进行的)。 Mastercash 2015.01.16 09:59 #4216 谢谢你,我将努力解决这个问题,我会给你回复的......。 mladen: 如果你想让它在所有符号上最多有5个订单,请到第144行(if( OrderSymbol() != Symbol() ) 继续; )并删除它。并保持所有符号上的所有实例的神奇数字相同(所以它可以计算所有符号上只有该EA所开的订单)。 tfi_markets 2015.01.16 10:02 #4217 mladen: TFI缓冲区3是正确的(即 "趋势 "缓冲区,其值为1表示向上倾斜,-1表示向下倾斜)。你使用的是移位1和移位2,因此它测试的是第一个闭合的柱子。 购买部分的代码是正确的。 你漏掉了 if(trendc!=trendp) 从出售的部分蚂蚁,可能导致你的问题 你好,Mladen。 非常感谢您的帮助。我根据您的建议修改了代码 你的建议,它的交易很顺利,点数计算也很正常。 但现在它不再开空头交易了(也可能是一种策略;-))。 它只是在关闭多头头寸。 能否请您再给我一次建议? extern double maxshorttrades = 2; extern double maxlongtrades = 2; //+-----------------------------------------------------+ //| BUY | //+-----------------------------------------------------+ for (i=OrdersTotal()-1;i>=0; i--) if(OrderType()==OP_BUY && OP_BUY<maxlongtrades) break; // Check Traded Positions. { if(trendc!=trendp) { if(trendc==1 && (CCIFilter<80)) // code for buy OpenBuy(); return(0); } openedOrders++; } //+----------------------------------------------------+ //| SELL | //+----------------------------------------------------+ for (i=OrdersTotal()-1;i>=0; i--) if(OrderType()==OP_SELL && OP_SELL<maxshorttrades) break; // Check Traded Positions. { if(trendc!=trendp) { if(trendc==-1 && (CCIFilter>80)) // code for sell OpenSell(); return(0); } openedOrders++; } } 详情请见所附截图。 谢谢您的帮助。 谨此致意。 TFI 附加的文件: backtest.jpg 163 kb Coding help 如何编码? How to code? Mladen Rakic 2015.01.16 10:40 #4218 tfi_markets: 你好,Mladen。非常感谢您的帮助。我根据您的建议修改了代码 你的建议,它的交易很顺利,点数计算也很正常。 但现在它不再开空头交易了(也可能是一种策略;-))。 它只是在关闭多头头寸。 能否请您再给我一次建议? extern double maxshorttrades = 2; extern double maxlongtrades = 2; //+-----------------------------------------------------+ //| BUY | //+-----------------------------------------------------+ for (i=OrdersTotal()-1;i>=0; i--) if(OrderType()==OP_BUY && OP_BUY<maxlongtrades) break; // Check Traded Positions. { if(trendc!=trendp) { if(trendc==1 && (CCIFilter<80)) // code for buy OpenBuy(); return(0); } openedOrders++; } //+----------------------------------------------------+ //| SELL | //+----------------------------------------------------+ for (i=OrdersTotal()-1;i>=0; i--) if(OrderType()==OP_SELL && OP_SELL<maxshorttrades) break; // Check Traded Positions. { if(trendc!=trendp) { if(trendc==-1 && (CCIFilter>80)) // code for sell OpenSell(); return(0); } openedOrders++; } } 详情请见所附截图。 谢谢您的帮助。 谨此致意。 TFI TFI 试试这样的方法: extern double maxshorttrades = 2; extern double maxlongtrades = 2; //----------------------------------------------------- // //----------------------------------------------------- int clongs = 0; int cshorts = 0; for (i=OrdersTotal()-1;i>=0; i--) { if(OrderType()==OP_BUY) clongs++; // Check Long Traded Positions. if(OrderType()==OP_SELL) cshorts++; // Check Short Traded Positions. } if(trendc!=trendp) { if(clongs < maxlongtrades && trendc== 1 && (CCIFilter<80)) OpenBuy(); if(cshorts 80)) OpenSell(); // Check the CCI condition // it is not symetrical to buy condition } Coding help 如何编码? 专家顾问 - 杂项问题 Mastercash 2015.01.16 13:14 #4219 mladen, 我已经做了144号的修改,我已经统一了神奇的数字,"MagicNumber "跨符号....It现在一次最多进行5次交易,但它现在在同一时间对同一符号重复交易,例如,如果收到欧元兑美元的卖出交易信号,它将把欧元兑美元的卖出订单 放置5次。请看图片,它是这样下的实盘。 Mastercash: 谢谢你,我将努力解决这个问题,并给你回复......。 附加的文件: apcorrimage.png 39 kb Mladen Rakic 2015.01.16 14:12 #4220 Mastercash: mladen,我已经做了144号的修改,我已经统一了神奇的数字,"MagicNumber",跨符号的实例....It,现在一次最多进行5次交易,但它现在在同一时间对同一符号重复交易,例如,如果收到欧元兑美元的卖出交易信号,它将把欧元兑美元的卖出订单放置5次。请看它所下的实时订单图片。 这并不取决于该代码部分 你必须在代码的其余部分添加一个检查,不要在同一个酒吧和同一个符号上开单。 1...415416417418419420421422423424425426427428429...786 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我把使用资金管理设置为false....,但关于Lots参数,它不是关于Lots,而是关于未结订单的数量。我不希望EA在给定时间内开出超过5个订单......,这就是为什么我在输入参数中把NumberofTrades参数设置为5,但它仍然敢于我,并采取超过5个订单,从而威胁到我的资金管理!
掌握现金
这是一个测试的结果。
正如你所看到的,它从未在同一时间为同一符号和同一魔法号码开出超过5个订单。
好的,我明白了......我只是不希望它为不同的符号接受超过5个订单....,例如,假设在过去20分钟内有来自10个符号的交易信号....,EA应该只接受前5个交易信号,然后当这5个订单中的任何一个关闭时,他可以再接受一个,确保当前运行的订单在各种符号中不超过5个。但它一直在超过5个,不管.....,有时它从同一个符号接受5个相同订单,这也是错误的。
兑现大师(Mastercash
这是我测试的结果。

正如你所看到的,它从未在同一时间为同一符号和同一魔法号码开出超过5个订单。好的,我明白了......我只是不希望它在不同的符号上接受超过5个订单....,例如,假设在过去20分钟内有来自10个符号的交易信号....,EA应该只接受前5个交易信号,然后当这5个订单中的任何一个关闭时,他可以再接受一个,确保当前在不同符号上运行的订单不超过5个。但它一直在超过5个,不管.....,有时它从同一个符号接受5个相同订单,这也是错的。
如果你想让它在所有符号上最多有5个订单,请到第144行(if( OrderSymbol() != Symbol() ) 继续; )并删除它。并保持所有符号上的所有实例的神奇数字相同(所以它可以计算所有符号上只有该EA开出的订单)。
嗨,Mladen
我有一个很好的指标,当设置在一个较高的TF时,它不能刷新。
你可以在图表上看到,当我不进行编辑时,它仍然停留。你能帮助解决这个问题吗?
我添加了指标和一个屏幕截图
嗨,Mladen
我有一个很好的指数,当设置在一个较高的TF时,它没有被刷新。
正如你在图表上看到的,当我不编辑时,它仍然停留在那里。你能帮助解决这个问题吗?
我添加了该指标和一张截图wolfsch
只有在视觉回测时才会出现这种情况(这是metatrader至少7-8个月没有纠正的错误,是metatrader的错误,不是指标的错误),在视觉回测 时,所有多时间框架指标都会出现这种情况。
在正常使用情况下,它可以正常工作(为了以防万一,现在就进行了测试,所有的工作都是在常规图表上应该进行的)。
谢谢你,我将努力解决这个问题,我会给你回复的......。
如果你想让它在所有符号上最多有5个订单,请到第144行(if( OrderSymbol() != Symbol() ) 继续; )并删除它。并保持所有符号上的所有实例的神奇数字相同(所以它可以计算所有符号上只有该EA所开的订单)。
TFI
缓冲区3是正确的(即 "趋势 "缓冲区,其值为1表示向上倾斜,-1表示向下倾斜)。你使用的是移位1和移位2,因此它测试的是第一个闭合的柱子。
购买部分的代码是正确的。
你漏掉了
if(trendc!=trendp)
从出售的部分蚂蚁,可能导致你的问题你好,Mladen。
非常感谢您的帮助。我根据您的建议修改了代码
你的建议,它的交易很顺利,点数计算也很正常。
但现在它不再开空头交易了(也可能是一种策略;-))。
它只是在关闭多头头寸。
能否请您再给我一次建议?
extern double maxshorttrades = 2;
extern double maxlongtrades = 2;
//+-----------------------------------------------------+
//| BUY |
//+-----------------------------------------------------+
for (i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_BUY && OP_BUY<maxlongtrades) break; // Check Traded Positions.
{
if(trendc!=trendp)
{
if(trendc==1 && (CCIFilter<80)) // code for buy
OpenBuy();
return(0);
}
openedOrders++;
}
//+----------------------------------------------------+
//| SELL |
//+----------------------------------------------------+
for (i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_SELL && OP_SELL<maxshorttrades) break; // Check Traded Positions.
{
if(trendc!=trendp)
{
if(trendc==-1 && (CCIFilter>80)) // code for sell
OpenSell();
return(0);
}
openedOrders++;
}
}
详情请见所附截图。
谢谢您的帮助。
谨此致意。
TFI
你好,Mladen。
非常感谢您的帮助。我根据您的建议修改了代码
你的建议,它的交易很顺利,点数计算也很正常。
但现在它不再开空头交易了(也可能是一种策略;-))。
它只是在关闭多头头寸。
能否请您再给我一次建议?
extern double maxshorttrades = 2;
extern double maxlongtrades = 2;
//+-----------------------------------------------------+
//| BUY |
//+-----------------------------------------------------+
for (i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_BUY && OP_BUY<maxlongtrades) break; // Check Traded Positions.
{
if(trendc!=trendp)
{
if(trendc==1 && (CCIFilter<80)) // code for buy
OpenBuy();
return(0);
}
openedOrders++;
}
//+----------------------------------------------------+
//| SELL |
//+----------------------------------------------------+
for (i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_SELL && OP_SELL<maxshorttrades) break; // Check Traded Positions.
{
if(trendc!=trendp)
{
if(trendc==-1 && (CCIFilter>80)) // code for sell
OpenSell();
return(0);
}
openedOrders++;
}
}
详情请见所附截图。
谢谢您的帮助。
谨此致意。
TFITFI
试试这样的方法:
extern double maxlongtrades = 2;
//-----------------------------------------------------
//
//-----------------------------------------------------
int clongs = 0;
int cshorts = 0;
for (i=OrdersTotal()-1;i>=0; i--)
{
if(OrderType()==OP_BUY) clongs++; // Check Long Traded Positions.
if(OrderType()==OP_SELL) cshorts++; // Check Short Traded Positions.
}
if(trendc!=trendp)
{
if(clongs < maxlongtrades && trendc== 1 && (CCIFilter<80)) OpenBuy();
if(cshorts 80)) OpenSell();
// Check the CCI condition
// it is not symetrical to buy condition
}
mladen,
我已经做了144号的修改,我已经统一了神奇的数字,"MagicNumber "跨符号....It现在一次最多进行5次交易,但它现在在同一时间对同一符号重复交易,例如,如果收到欧元兑美元的卖出交易信号,它将把欧元兑美元的卖出订单 放置5次。请看图片,它是这样下的实盘。
谢谢你,我将努力解决这个问题,并给你回复......。
mladen,我已经做了144号的修改,我已经统一了神奇的数字,"MagicNumber",跨符号的实例....It,现在一次最多进行5次交易,但它现在在同一时间对同一符号重复交易,例如,如果收到欧元兑美元的卖出交易信号,它将把欧元兑美元的卖出订单放置5次。请看它所下的实时订单图片。
这并不取决于该代码部分
你必须在代码的其余部分添加一个检查,不要在同一个酒吧和同一个符号上开单。