[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 587 1...580581582583584585586587588589590591592593594...1145 新评论 Craft 2010.06.01 16:18 #5861 好吧,如果他们不这样做,今晚帮我把它整理出来。 Artyom Trishkin 2010.06.01 20:44 #5862 请告诉我,是否可以用计算结果的double 值替代int 值进行进一步计算。 例子。 ATR_Din=iATR(NULL,PERIOD_M5,14,1); Din_Per210= MathRound(6000*ATR_Din+210); Din_Per5 = MathRound(6000*ATR_Din+5); MA210_DIN =iMA(NULL,PERIOD_M5,Din_Per210,0,MODE_SMA,PRICE_CLOSE,1); MA5_DIN =iMA(NULL,PERIOD_H1,Din_Per5,0,MODE_SMA,PRICE_CLOSE,1); 在这里,我选择的变量是双倍 的类型,但在iMA 中,它们的值被用于需要int 值的地方(作为MA的周期)。 问题是:这种用法是否正确,或者是否有必要将这些值转换为int 类型? nexus 2010.06.01 21:13 #5863 大家好,请问你们是否知道有一个脚本可以对每个优化结果 进行专家测试,并将每个测试结果保存在一个单独的文件(htm报告)中? Alexey Subbotin 2010.06.01 21:26 #5864 Craft: 我不介意,是否有一个有效的例子或链接? 把代码给我,或者给我一个任务,我们会纠正它。 Alexey Subbotin 2010.06.01 21:28 #5865 artmedia70: 请告诉我,是否可以用计算结果的double 值替代int 值进行进一步计算。例子。在这里,我选择的变量是 双倍 的类型,但在iMA 中,它们的值被用于需要int 值的地方(作为MA的周期)。所以我的问题是:这样的用法是正确的,还是需要将数值转换为 int 类型? 转换是自动完成的,只是切断了小数部分。我遇到的这种使用的唯一限制是,双数不能放在数组索引中 Artyom Trishkin 2010.06.01 21:54 #5866 alsu: 转换是自动完成的,只是切断了小数部分。我所看到的对这种用法的唯一限制是,不能将双数放在数组索引中 谢谢,这让人放心...:) 还有一个问题。 MA200_DIN =iMA(NULL,PERIOD_M5,Din_Per200,0,MODE_SMA,PRICE_CLOSE,1); MA200_UP =MA200_DIN+20*pt; MA200_DN =MA200_DIN-20*pt; MA5_DIN =iMA(NULL,PERIOD_H1,Din_Per5,0,MODE_SMA,PRICE_CLOSE,1); MA5_UP =MA5_DIN+20*pt; MA5_DN =MA5_DIN-20*pt; 建筑物 MA200_UP=MA200_DIN+20*pt; MA200_DN=MA200_DIN-20*pt; и MA5_UP=MA5_DIN+20*pt; MA5_DN=MA5_DIN-20*pt; 不起作用。当把它们的值输出到图表中时,它们都有相同的值,例如 1.4118用于MA200_DIN, MA200_UP, MA200_DN和 1.4106用于MA5_DIN, MA5_UP, MA5_DN。 事实证明,计算水平+20和-20点的公式不起作用。 我做错了什么? Alexey Subbotin 2010.06.01 21:57 #5867 pt等于什么? 试着用NormalizeDouble()输出。 Artyom Trishkin 2010.06.01 22:03 #5868 好的,谢谢,我已经知道了...我设置了pt=Point;已经在计算数值后 ... 正如马特鲁斯金所说:你是个傻瓜......:) Craft 2010.06.01 22:12 #5869 alsu: 给我们一个代码或设置一个任务,我们将纠正它 在WelsLab中,这个问题的类比看起来是这样的。 MyATR = SMA.Series((((High-Low)/Low), PerB) [i-1] ; 如果(BuyAtStop(i, (Open[i] + Open[i]*MyATR), "" ); 即当一个条形图被打开时,如果达到指定的水平,就会在当前条形图的Open[i]价格+触发器(相同的Open价格乘以PerB期间计算的MyATR[i-1])的位置建立一个Stop位置。 这个显示了我想在mql4上使用WellLab作为例子得到的东西。 我研究了现场的材料,试图做一个模拟。 MyATR = ((High[0] - Low[0])/Low[0]); BT = Open[0] + Open[0]*iMAOnArray(MyATR ,0,PerB,0,MODE_SMA,1); ST = Open[0] - Open[0]*iMAOnArray((MyATR ,0,PerS,0,MODE_SMA,1); if (Ask >= BT) // Если разница между { // Opn_B=true; // Критерий откр. Buy Cls_S=true; // Критерий закр. Sell } if (Bid <= ST) // Если разница между { // Opn_S=true; // Критерий откр. Sell Cls_B=true; // Критерий закр. Buy } 结果:订单堆积如山,请告知应增加(或改变)什么条件,使订单在指定水平上执行一次。 Alexey Subbotin 2010.06.01 22:26 #5870 注意:iMAOnArray函数的第一个参数应该是一个数组--而你有MyATR标量。为了弄好它,你应该。 1. 声明双倍MyATR[]。 2.设置数组大小为ArrayResize(MyATR,PerB)。 3. 填充数组 for(i=1;i<=PerB;i++) MyATR[i-1]=(High[i]-Low[i])/Low[i]; 索引i从1开始,因为我们只需要收盘 条。 4. 在这之后,你可以读取iMAOnArray(MyATR,0,PerB,0,MODE_SMA,0);这里最后一个参数是0,因为移位ha1已经在步骤3中被考虑到了。 检查一下它是如何工作的,也许错误就在这里 1...580581582583584585586587588589590591592593594...1145 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
例子。
在这里,我选择的变量是双倍 的类型,但在iMA 中,它们的值被用于需要int 值的地方(作为MA的周期)。
问题是:这种用法是否正确,或者是否有必要将这些值转换为int 类型?
我不介意,是否有一个有效的例子或链接?
请告诉我,是否可以用计算结果的double 值替代int 值进行进一步计算。例子。在这里,我选择的变量是
双倍 的类型,但在iMA 中,它们的值被用于需要int 值的地方(作为MA的周期)。所以我的问题是:这样的用法是正确的,还是需要将数值转换为
int 类型?
转换是自动完成的,只是切断了小数部分。我所看到的对这种用法的唯一限制是,不能将双数放在数组索引中
还有一个问题。
建筑物
不起作用。当把它们的值输出到图表中时,它们都有相同的值,例如
1.4118用于MA200_DIN, MA200_UP, MA200_DN和
1.4106用于MA5_DIN, MA5_UP, MA5_DN。
事实证明,计算水平+20和-20点的公式不起作用。
我做错了什么?
正如马特鲁斯金所说:你是个傻瓜......:)
给我们一个代码或设置一个任务,我们将纠正它
在WelsLab中,这个问题的类比看起来是这样的。
MyATR = SMA.Series((((High-Low)/Low), PerB) [i-1] ;
如果(BuyAtStop(i, (Open[i] + Open[i]*MyATR), "" );
即当一个条形图被打开时,如果达到指定的水平,就会在当前条形图的Open[i]价格+触发器(相同的Open价格乘以PerB期间计算的MyATR[i-1])的位置建立一个Stop位置。
这个显示了我想在mql4上使用WellLab作为例子得到的东西。
我研究了现场的材料,试图做一个模拟。
结果:订单堆积如山,请告知应增加(或改变)什么条件,使订单在指定水平上执行一次。
注意:iMAOnArray函数的第一个参数应该是一个数组--而你有MyATR标量。为了弄好它,你应该。
1. 声明双倍MyATR[]。
2.设置数组大小为ArrayResize(MyATR,PerB)。
3. 填充数组 for(i=1;i<=PerB;i++) MyATR[i-1]=(High[i]-Low[i])/Low[i]; 索引i从1开始,因为我们只需要收盘 条。
4. 在这之后,你可以读取iMAOnArray(MyATR,0,PerB,0,MODE_SMA,0);这里最后一个参数是0,因为移位ha1已经在步骤3中被考虑到了。
检查一下它是如何工作的,也许错误就在这里