写了一个顾问,有一个问题。 - 页 6 1234567 新评论 Alexander Mostovnek 2009.11.08 08:23 #51 khorosh >> : 小数点后4位或5位的引号是什么? 4位数......在5位数上也试过。NormalizeDouble不起作用 :( Alexander Mostovnek 2009.11.08 09:31 #52 一般来说,这一切都有点奇怪....。在第一篇帖子中,我给出了EA的截图,开始升级它,出现了错误的订单错误130,将一切恢复到原来的状态,但错误并没有消失!!!!!!!。但它在原来的状态下都能工作,!!!!这到底是什么? [Supprimé] 2009.11.08 09:36 #53 Noterday >> : 这就是我所说的。为什么10个点的止损是错误的... 事情是这样的:10点的止损可能是错误的,因为你可以放置止损的最小距离是超过10点的(例如:15点)。这个值是由交易室设定的。 Alexander Mostovnek 2009.11.08 09:39 #54 我已经试过200次了!它仍然是一样的... [Supprimé] 2009.11.08 09:59 #55 Noterday >> : 我也试过200个!还是一样... 你能公布原始的EA代码吗? Alexander Mostovnek 2009.11.08 10:07 #56 #property copyright "Мостовнек" #property link "" int init() { return(0); } int deinit() { return(0); } extern int Frame = 1; int start() { int total; for (int i = 0; i <= OrdersTotal(); i++) { if (OrderSelect( i-1, SELECT_BY_POS) == true) total++; } double Buffer1 = NormalizeDouble(iCustom(NULL, Frame,"Osc_Mx",0,0,1),4); double Buf1 = NormalizeDouble(iCustom(NULL, Frame,"Osc_Mx",0,6,1),4); double Buffer2 = NormalizeDouble(iCustom(NULL, Frame,"Osc_Mn",0,0,1),4); double Buf2 = NormalizeDouble(iCustom(NULL, Frame,"Osc_Mn",0,6,1),4); double ZZ_1 = NormalizeDouble(iCustom(NULL,0,"ZigZag",0,0,1),4); //----------------------------------------------------- if ( total == 0 && (( Buffer1 != EMPTY_VALUE || Buf1 != EMPTY_VALUE) && ( ZZ_1 == Buffer1 || ZZ_1 == Buf1))) { OrderSend(Symbol(),OP_SELL,0.1,Bid,10, ZZ_1+15*Point,Bid-20*Point,"SELL",0,0,Red); Print("Zigzag = ", ZZ_1," | Buffer1 = ", Buffer1); } if ( total == 0 && (( Buffer2 != EMPTY_VALUE || Buf2 != EMPTY_VALUE) && ( ZZ_1 == Buffer2 || ZZ_1 == Buf2))) { OrderSend(Symbol(),OP_BUY,0.1,Ask,10, ZZ_1-15*Point,Ask+20*Point,"BUY",0,0,Blue); Print("Zigzag = ", ZZ_1," | Buffer2 = ", Buffer1); } return(0); } [Supprimé] 2009.11.08 10:51 #57 在OrderSend()中设置止损的原则是正确的。所以没有必要在这里做任何改变。 当Print()函数运行时,ZigZag=0,因此止损:0+15*Point,即等于0.0015。这就是为什么它产生错误OrderSendError 130。 double ZZ_1 = NormalizeDouble(iCustom(NULL,0, "ZigZag",21,5,3,0,1),4);//21,5,3是外部指标变量,它们必须按照ZigZag指标中声明的顺序指定。 类似地, double Buffer1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,0,1),4)。 double Buf1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,6,1),4); double Buffer2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,0,1),4)。 double Buf2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,6,1),4)。 这里没有指定外部变量。 Wrote an advisor, there 问吧! 怎么求macd最近三次交叉点的k线位置 ? Alexander Mostovnek 2009.11.08 11:09 #58 但它们是可选的,正如MQL4文档中写的那样。 而在 double Buffer1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,0,1),4); double Buf1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,6,1),4); double Buffer2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,0,1),4)。 double Buf2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,6,1),4)。 完全没有外部变量 :) 顺便说一下,我的PRINT函数正常输出ZigZag。 [Supprimé] 2009.11.08 11:58 #59 Noterday >> : 但它们是可选的,正如MQL4文档中写的那样。 而在 double Buffer1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,0,1),4); double Buf1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,6,1),4); double Buffer2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,0,1),4); double Buf2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,6,1),4)。 完全没有外部变量 :) 顺便说一下,我的PRINT函数正常输出ZigZag。 如果这些指标中没有外部变量,就不存在索赔:)。但我仍然需要考虑一下停顿的问题。也许你会得到一个启示。 KONDOR 2009.11.08 16:23 #60 ellizii >> : 如果这些指标中没有外部变量,就不存在索赔:)。但我仍然需要考虑一下停顿的问题。也许你会得到一个洞察力。 不用担心 :) 致开发者:基础测试员/操作员 我敢肯定,stopomi的情况也是如此。 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
小数点后4位或5位的引号是什么?
4位数......在5位数上也试过。NormalizeDouble不起作用 :(
这就是我所说的。为什么10个点的止损是错误的...
事情是这样的:10点的止损可能是错误的,因为你可以放置止损的最小距离是超过10点的(例如:15点)。这个值是由交易室设定的。我也试过200个!还是一样...
你能公布原始的EA代码吗?
在OrderSend()中设置止损的原则是正确的。所以没有必要在这里做任何改变。
当Print()函数运行时,ZigZag=0,因此止损:0+15*Point,即等于0.0015。这就是为什么它产生错误OrderSendError 130。
double ZZ_1 = NormalizeDouble(iCustom(NULL,0, "ZigZag",21,5,3,0,1),4);//21,5,3是外部指标变量,它们必须按照ZigZag指标中声明的顺序指定。
类似地, double Buffer1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,0,1),4)。
double Buf1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,6,1),4);
double Buffer2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,0,1),4)。
double Buf2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,6,1),4)。
这里没有指定外部变量。
但它们是可选的,正如MQL4文档中写的那样。
而在
double Buffer1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,0,1),4);
double Buf1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,6,1),4);
double Buffer2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,0,1),4)。
double Buf2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,6,1),4)。
完全没有外部变量 :)
顺便说一下,我的PRINT函数正常输出ZigZag。
但它们是可选的,正如MQL4文档中写的那样。
而在
double Buffer1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,0,1),4);
double Buf1 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mx",0,6,1),4);
double Buffer2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,0,1),4);
double Buf2 = NormalizeDouble(iCustom(NULL,Frame, "Osc_Mn",0,6,1),4)。
完全没有外部变量 :)
顺便说一下,我的PRINT函数正常输出ZigZag。
如果这些指标中没有外部变量,就不存在索赔:)。但我仍然需要考虑一下停顿的问题。也许你会得到一个启示。如果这些指标中没有外部变量,就不存在索赔:)。但我仍然需要考虑一下停顿的问题。也许你会得到一个洞察力。
不用担心 :) 致开发者:基础测试员/操作员
我敢肯定,stopomi的情况也是如此。