[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 662 1...655656657658659660661662663664665666667668669...1145 新评论 Artyom Trishkin 2010.07.01 17:48 #6611 drknn: 正确,因为第一个参数返回一个数字,第二个参数是一个可接受范围内的整数值。整个问题是究竟什么会进入变量。试着按原样打印,并尝试这种结构。这很有趣...像这样做了。int Trend_BBOsMA (string sy, int tf) { if (sy=="" || sy=="0") sy=Symbol(); double BB =iCustom(sy,tf,"BB_MA",13,13,0,1), OsMA =iOsMA (sy,tf,9,21,5,PRICE_CLOSE,1), AC1 =NormalizeDouble(iAC(sy,tf,1),8), AC2 =NormalizeDouble(iAC(sy,tf,2),8), AC3 =NormalizeDouble(iAC(sy,tf,3),8); Comment("\n","AC1 = ",AC1," AC2=",AC2); string str1=AC1; Print("str1 = ",str1); string str2=AC2; Print("str2 = ",str2); if (BB>0 && OsMA>0 && AC1>AC2) return(1); if (BB<0 && OsMA<0 && AC1<AC2) return(-1); else return(0); } 评论显示 as1 = 0.001 as2 = 0.001。在数据窗口,AC1 = 0.001008,AC2 = 0.001020。并在日志中说(最后两个值)。0.00100029 0.00100771 [删除] 2010.07.01 17:58 #6612 IgorM: 我不知道如何找到一个函数的极值 我有一个存储数值的数据数组。 如何使用一个由250个元素组成的数据数组找到断裂--极值,并只存储这些极值所在的元素编号 伙计们,这有点复杂 :) 你可以勾勒出一个简单的方法。 //+------------------------------------------------------------------+ void searchExtremums(double base[], double &find[]){ int step = 1; for(int loop = 0; loop < ArraySize(base)-2; loop++){ if((base[loop] > base[loop+1] && base[loop+1] < base[loop+2]) || (base[loop] < base[loop+1] && base[loop+1] > base[loop+2])){ ArrayResize(find, step); find[step - 1] = base[loop+1]; step++; } } } //+------------------------------------------------------------------+ 你传递你想找到极值的数组(base)和要把它们写入的数组(find),这是一个调用Vladimir数组的例子。 double res[]; searchExtremum(my_array, res); 而我们向你展示了结果。 for(int s = 0; s < ArraySize(res); s++)Alert(res[s]) 这样似乎更容易些 :) Igor Makanu 2010.07.01 18:41 #6613 ToLik_SRGV: 这似乎更简单 :) 好的,我今天会试着检查一下,可能会更简单,但我脑子里的组合不对。 空白搜索Extremums(double base[], double & find[]){ 我现在需要检查这样的函数 [删除] 2010.07.01 18:53 #6614 IgorM: 好的,我今天会试着检查一下,可能会更简单,但我脑子里的组合不对。 空白搜索Extremums(double base[], double & find[]){ 现在我需要检查这样的功能 伊戈尔,我已经在这个主题中写了这个问题:))) 当你将一个变量通过其参数传递给一个函数时,该变量是按值传递的,这意味着在函数本身中改变变量不会导致它被覆盖。 尝试通过引用来传递,在参数名前插入"&"。 void simple(string &s){ // ^ // спец сим. & перед именем переменной задает передачу по ссылке, а не по значению // } Oleg 2010.07.01 18:55 #6615 Mathemat: Volfram 的帖子因在几个主题中传播而被删除。 沃尔弗拉姆,你已经专门为此目的创建了自己的主题。你已经得到了回答;这还不够吗? P.S. 让我告诉你一个秘密,沃尔弗拉姆:人们对你的想法没有明显的兴趣,这隐含着这个想法不值得关注。因此,没有人愿意 "有偿 "实施它。 你取消了电子邮件通知选项,是吗? 没有它,你怎么知道某人是否有回复?你什么时候能把它拿回来? Владимир Тезис 2010.07.01 19:48 #6616 artmedia70: 这很有趣...我这样做了。 评论同时显示 as1 = 0.001 as2 = 0.001。 在数据窗口AC1 = 0.001008,AC2 = 0.001020。 并在日志中说(最后两个值)。 0.00100029 0.00100771 这可能取决于开发商;) [删除] 2010.07.01 20:22 #6617 artmedia70: 这很有趣...我这样做了。 评论同时显示 as1 = 0.001 as2 = 0.001。 在数据窗口AC1 = 0.001008,AC2 = 0.001020。 并在日志中说(最后两个值)。 0.00100029 0.00100771 我也试了一下,一切似乎都很好,在评论中。 AC = -0.0004,在杂志上 -0.00035586 AC2 = -0.0007, journals -0.00068589 Artyom Trishkin 2010.07.01 23:24 #6618 ToLik_SRGV: 我也试了一下,一切似乎都很好,在评论中: AC = -0.0004,在杂志中 -0.00035586 AC2 = -0.0007,在杂志中 -0.00068589 Comment()似乎在内部对数值进行了四舍五入...在视觉测试 中,有时在屏幕上看到它们是多么方便......然而,不完全是...:) 是的,而且,顺便说一下,在这里,在一个关于正常化的论坛上,从几个小时到早上7.30读到了这样的内容...... 归一化应尽可能在接近比较操作时进行...因此,我认为我应该改变一些功能和代码中的一些东西...然后测试会显示出差异... Владимир Тезис 2010.07.02 03:34 #6619 artmedia70: Comment()似乎在内部对数值进行了四舍五入...在视觉测试中,有时在屏幕上看到它们是多么方便......然而,不完全是...:) 当我在编写大量的管理功能时,我不得不在Delphi中制作一个dll-library,因为我需要的任务用MQL4是不可能解决的。 [删除] 2010.07.02 05:45 #6620 你好!请你向我这个在MQL4方面的超级傻瓜解释一下,正确的做法是什么。我正在写我的第一个EA。我下了一个SellStop订单,在它被触发后,又下了BuyStop订单。我想我需要使用OrdeCloseTime。我已经尝试了很多变体,但EA只在OrdeCloseTime==0时看到订单。在关闭SellStop后,SellStop再次被打开。我提供给你的是代码。在这个变体中,SellStop和BuyStop是同时打开的。请帮助我。预先感谢你。 int I = 0。 int start() { 如果(I < 1) { ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,OP_SS,Slippage,SL,CP_SS)。 如果(ticket>0) { Alert("OrderSend"," ",ticket); }else { Alert("!OrderSend","",GetLastError(); } //-------------------------------------------------------------------------- 如果(OrderSelect(ticket,SELECT_BY_TICKET)==true) { Alert("OrderSelect", ",ticket); } }else { Alert("!OrderSelect"," ",GetLastError(); } //-------------------------------------------------------------------------- OrderSend(Symbol(),OP_BUYSTOP,Lot,OP_BS,Slippage,SL,CP_BS) 。 } I=1; } 返回(0)。 //-------------------------------------------------------------------------- 1...655656657658659660661662663664665666667668669...1145 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
正确,因为第一个参数返回一个数字,第二个参数是一个可接受范围内的整数值。整个问题是究竟什么会进入变量。试着按原样打印,并尝试这种结构。
这很有趣...像这样做了。
评论显示as1 = 0.001 as2 = 0.001。
在数据窗口,AC1 = 0.001008,AC2 = 0.001020。
并在日志中说(最后两个值)。
0.00100029
0.00100771
我不知道如何找到一个函数的极值
我有一个存储数值的数据数组。
如何使用一个由250个元素组成的数据数组找到断裂--极值,并只存储这些极值所在的元素编号
伙计们,这有点复杂 :)
你可以勾勒出一个简单的方法。
你传递你想找到极值的数组(base)和要把它们写入的数组(find),这是一个调用Vladimir数组的例子。
double res[]; searchExtremum(my_array, res);
而我们向你展示了结果。
这样似乎更容易些 :)这似乎更简单 :)
好的,我今天会试着检查一下,可能会更简单,但我脑子里的组合不对。
空白搜索Extremums(double base[], double & find[]){
我现在需要检查这样的函数
好的,我今天会试着检查一下,可能会更简单,但我脑子里的组合不对。
空白搜索Extremums(double base[], double & find[]){
现在我需要检查这样的功能
伊戈尔,我已经在这个主题中写了这个问题:)))
当你将一个变量通过其参数传递给一个函数时,该变量是按值传递的,这意味着在函数本身中改变变量不会导致它被覆盖。
尝试通过引用来传递,在参数名前插入"&"。
Volfram 的帖子因在几个主题中传播而被删除。
沃尔弗拉姆,你已经专门为此目的创建了自己的主题。你已经得到了回答;这还不够吗?
P.S. 让我告诉你一个秘密,沃尔弗拉姆:人们对你的想法没有明显的兴趣,这隐含着这个想法不值得关注。因此,没有人愿意 "有偿 "实施它。
你取消了电子邮件通知选项,是吗?
没有它,你怎么知道某人是否有回复?你什么时候能把它拿回来?
这很有趣...我这样做了。
评论同时显示as1 = 0.001 as2 = 0.001。
在数据窗口AC1 = 0.001008,AC2 = 0.001020。
并在日志中说(最后两个值)。
0.00100029
0.00100771
这可能取决于开发商;)
这很有趣...我这样做了。
评论同时显示as1 = 0.001 as2 = 0.001。
在数据窗口AC1 = 0.001008,AC2 = 0.001020。
并在日志中说(最后两个值)。
0.00100029
0.00100771
AC = -0.0004,在杂志上 -0.00035586
AC2 = -0.0007, journals -0.00068589
我也试了一下,一切似乎都很好,在评论中: AC = -0.0004,在杂志中 -0.00035586 AC2 = -0.0007,在杂志中 -0.00068589
Comment()似乎在内部对数值进行了四舍五入...在视觉测试 中,有时在屏幕上看到它们是多么方便......然而,不完全是...:)
是的,而且,顺便说一下,在这里,在一个关于正常化的论坛上,从几个小时到早上7.30读到了这样的内容......
归一化应尽可能在接近比较操作时进行...因此,我认为我应该改变一些功能和代码中的一些东西...然后测试会显示出差异...
Comment()似乎在内部对数值进行了四舍五入...在视觉测试中,有时在屏幕上看到它们是多么方便......然而,不完全是...:)
你好!请你向我这个在MQL4方面的超级傻瓜解释一下,正确的做法是什么。我正在写我的第一个EA。我下了一个SellStop订单,在它被触发后,又下了BuyStop订单。我想我需要使用OrdeCloseTime。我已经尝试了很多变体,但EA只在OrdeCloseTime==0时看到订单。在关闭SellStop后,SellStop再次被打开。我提供给你的是代码。在这个变体中,SellStop和BuyStop是同时打开的。请帮助我。预先感谢你。
int I = 0。
int start()
{
如果(I < 1)
{
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,OP_SS,Slippage,SL,CP_SS)。
如果(ticket>0)
{ Alert("OrderSend"," ",ticket); }else { Alert("!OrderSend","",GetLastError(); }
//--------------------------------------------------------------------------
如果(OrderSelect(ticket,SELECT_BY_TICKET)==true)
{ Alert("OrderSelect", ",ticket); } }else { Alert("!OrderSelect"," ",GetLastError(); }
//--------------------------------------------------------------------------
OrderSend(Symbol(),OP_BUYSTOP,Lot,OP_BS,Slippage,SL,CP_BS) 。
}
I=1;
}
返回(0)。
//--------------------------------------------------------------------------