新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 433 1...426427428429430431432433434435436437438439440...1953 新评论 Boss11 2018.01.23 09:43 #4321 Alekseu Fedotov: 就这么简单。void OnStart() { // Формируем время Alert("14.30 позавчерашнего дня = ",StrToTime(TimeToStr(iTime(NULL,1440,2),TIME_DATE)+" "+"14:30")); //14.30 позавчерашнего дня datetime time=StrToTime(TimeToStr(iTime(NULL,1440,2),TIME_DATE)+" "+"14:30"); //Бар 14.30 позавчерашнего дня int shift=iBarShift(NULL,0,time); //Машка 14.30 позавчерашнего дня double ma=iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,shift); Alert("Машка 14.30 позавчерашнего дня = ",DoubleToString(ma,Digits));它是这样的。阿列克谢-费多托夫, 不幸的是,这不是它。你用TF获得条形号码,然后你用同样的TF,但你需要另一个(这就是问题)。我们需要用TF得到条形图的编号(例如30),然后用TF(1440)得到MA,从这个条形图的TF30开始。 就像你现在(14.30)想得到TF1440的MA。现在--不是问题,但要把它转移到几天前,那就是一个问题。 Boss11 2018.01.23 09:57 #4322 STARIJ: 是的,我们应该使用M1,和M5,....- 来检查。也许使用插值法?mt5有一个tick历史。如果你让我知道利润在哪里,我会再看一下。我需要回顾性地做技术分析,就像现在发生的一样,看一下结果。这就好比我昨天用TF 1d在14.30做了MA的技术分析,今天我通过昨天的MA得到了价格走势的结果。 如果我今天用TF 1440,从昨天的角度看,技术分析的数据将是不同的,因此预计结果也应该是不同的。 Alexey Viktorov 2018.01.23 10:13 #4323 Roman Sharanov:帮助,我需要从上一个蜡烛的高点到它上面的200p点画一个矩形,并提前一个柱子计时。我写了代码,但我不明白为什么矩形的左点不移动?右边的那个滑到了海的后面。函数的非预期行为...早些时候,当我试图创建一个以已经存在的对象命名的对象时,返回了一个错误,该对象没有将现有的参数变为新的参数。但现在,很明显,做出了改变,每次high[0]被改变或出现新的柱状物时,high[1]已经有了不同的值,在创建新的矩形时,其中一个参数发生了变化。解决的方法很简单:在创建对象之前检查其存在性。 Roman Sharanov 2018.01.23 10:36 #4324 STARIJ:它移动不,我没有用这个代码画任何东西 Konstantin Erin 2018.01.23 11:49 #4325 Roman Sharanov: 不,它没有用这个代码画任何东西。看看我的整个文件。 附加的文件: PR.mq4 3 kb Roman Sharanov 2018.01.23 12:05 #4326 STARIJ:看一下我的文件哦,我明白了,你有MQL4 :) 按时间序列做了数组,成功了,我还是不明白为什么它对我不起作用。 Konstantin Erin 2018.01.23 12:08 #4327 Boss11: 我需要回顾性地做技术分析,就像现在发生的一样,看一下结果。也就是说,就像我昨天用TF 1d在14.30做了一个MA的技术分析,今天我通过昨天的MA得到了价格走势的结果。 如果我今天用TF 1440,从昨天的角度看,技术分析的数据就会不同,因此预计结果也应该不同。对于TF1440,一切都很清楚。但对于M1,正如你所写的,有很大的误差空间? Boss11 2018.01.23 12:29 #4328 STARIJ:用TF1440一切都很清楚。但用M1就像你写的那样,有很大的误差?我没有用M1试过,但我认为错误率会更低。M1->M5将比M30->1d更准确。 wisor2006 2018.01.23 16:29 #4329 请告知一个具体问题的答案。我正在重做布林。改了几行,不画条。这是什么,对数吗?波动率公式来自https://research-journal.org/economical/analiz-razlichnyx-metodov-ocenki-istoricheskoj-volatilnosti-dlya-opcionnoj-torgovli/int start() { int i,k,counted_bars=IndicatorCounted(); double deviation; double sum,oldval,newres,oldpos; //---- if(Bars<=BandsPeriod) return(0); //---- initial zero if(counted_bars<1) for(i=1;i<=BandsPeriod;i++) { MovingBuffer[Bars-i]=EMPTY_VALUE; UpperBuffer[Bars-i]=EMPTY_VALUE; LowerBuffer[Bars-i]=EMPTY_VALUE; } //---- int limit=Bars-counted_bars; if(counted_bars>0) limit++; for(i=0; i<limit; i++) MovingBuffer[i]=iMA(NULL,0,BandsPeriod,BandsShift,MODE_EMA,PRICE_WEIGHTED,i); //---- i=Bars-BandsPeriod+1; if(counted_bars>BandsPeriod-1) i=Bars-counted_bars-1; while(i>=0) { sum=0.0; k=i+BandsPeriod-1; oldval=MovingBuffer[i]; oldpos=i; while(k>=i) { //newres=Close[k]-oldval; //sum+=newres*newres; sum+=log(fabs(High[k]/Close[k]))*log(fabs(High[k]/Open[k]))+log(fabs(Low[k]/Close[k]))*log(fabs(Low[k]/Open[k])); k--; } deviation=BandsDeviations*MathSqrt(fabs(sum/BandsPeriod)); UpperBuffer[i]=oldval+deviation; LowerBuffer[i]=oldval-deviation; i--; } 附加的文件: BS_Bands_TRO.mq4 24 kb WinProject 2018.01.24 15:52 #4330 请告诉我如何删除一个图形对象。有一些垂直线,其名称是由变量值构建的。 string name=="test1"; string Vertline="line_"+name; ObjectCreate(0,VertLine,OBJ_VLINE,0,time,cena); 我怎样才能只删除名称为test1的垂直线? 1...426427428429430431432433434435436437438439440...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
就这么简单。
它是这样的。
阿列克谢-费多托夫, 不幸的是,这不是它。你用TF获得条形号码,然后你用同样的TF,但你需要另一个(这就是问题)。我们需要用TF得到条形图的编号(例如30),然后用TF(1440)得到MA,从这个条形图的TF30开始。 就像你现在(14.30)想得到TF1440的MA。现在--不是问题,但要把它转移到几天前,那就是一个问题。
是的,我们应该使用M1,和M5,....- 来检查。也许使用插值法?mt5有一个tick历史。如果你让我知道利润在哪里,我会再看一下。
我需要回顾性地做技术分析,就像现在发生的一样,看一下结果。这就好比我昨天用TF 1d在14.30做了MA的技术分析,今天我通过昨天的MA得到了价格走势的结果。 如果我今天用TF 1440,从昨天的角度看,技术分析的数据将是不同的,因此预计结果也应该是不同的。
帮助,我需要从上一个蜡烛的高点到它上面的200p点画一个矩形,并提前一个柱子计时。
我写了代码,但我不明白为什么矩形的左点不移动?右边的那个滑到了海的后面。
函数的非预期行为...早些时候,当我试图创建一个以已经存在的对象命名的对象时,返回了一个错误,该对象没有将现有的参数变为新的参数。但现在,很明显,做出了改变,每次high[0]被改变或出现新的柱状物时,high[1]已经有了不同的值,在创建新的矩形时,其中一个参数发生了变化。
解决的方法很简单:在创建对象之前检查其存在性。
它移动
不,我没有用这个代码画任何东西
看看我的整个文件。
看一下我的文件
哦,我明白了,你有MQL4 :)
按时间序列做了数组,成功了,我还是不明白为什么它对我不起作用。
对于TF1440,一切都很清楚。但对于M1,正如你所写的,有很大的误差空间?
用TF1440一切都很清楚。但用M1就像你写的那样,有很大的误差?
我没有用M1试过,但我认为错误率会更低。M1->M5将比M30->1d更准确。
请告知一个具体问题的答案。我正在重做布林。
改了几行,不画条。这是什么,对数吗?
波动率公式来自https://research-journal.org/economical/analiz-razlichnyx-metodov-ocenki-istoricheskoj-volatilnosti-dlya-opcionnoj-torgovli/
请告诉我如何删除一个图形对象。有一些垂直线,其名称是由变量值构建的。
string name=="test1"; string Vertline="line_"+name; ObjectCreate(0,VertLine,OBJ_VLINE,0,time,cena); 我怎样才能只删除名称为test1的垂直线?