我将免费编写指标 - 页 98 1...919293949596979899100101102103104105...129 新评论 A-V-K 2020.10.09 07:19 #971 Aleksei Stepanenko:我只能提供一点帮助,绝对免费。在指示器的底部有两个功能。在评论中,它显示了指标本身的价值和最后一条趋势线上 当前点的价值。弄清楚。 谢谢你,阿列克谢。祝你有个愉快的一天。 Aleksei Stepanenko 2020.10.09 08:08 #972 A-V-K: 谢谢你,阿列克谢。祝你有个愉快的一天。 . Tretyakov Rostyslav 2020.10.09 16:35 #973 下午好! 我已经写了这个指标 //+------------------------------------------------------------------+ //| MTF_H&L.mq4 | //+------------------------------------------------------------------+ #property copyright "Copyright 2020" #property strict #property indicator_chart_window #property indicator_buffers 2 #property indicator_width1 1 #property indicator_color1 clrTeal #property indicator_type1 DRAW_LINE #property indicator_width2 1 #property indicator_color2 clrCrimson #property indicator_type2 DRAW_LINE //--- input ENUM_TIMEFRAMES period01 = PERIOD_D1; input ENUM_TIMEFRAMES period02 = PERIOD_M15; input int percount = 10; //Ограничение истории double Buffer1[]; double Buffer2[]; int index1=-1; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- SetIndexBuffer(0, Buffer1, INDICATOR_DATA); SetIndexBuffer(1, Buffer2, INDICATOR_DATA); //--- IndicatorDigits(Digits); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- int i, limit, barcount; barcount=period01/Period()*percount; if(barcount != 0) limit = barcount; else limit = rates_total - 2; for(i=limit;i>=0;i--) { if(TimeSeconds(time[i])==0) index1=iBarShift(Symbol(), period02, time[i], false); if(TimeHour(time[i])==0&&TimeMinute(time[i])<period02) { Buffer1[i]=iOpen(NULL,period02,index1); Buffer2[i]=iOpen(NULL,period02,index1); } else { Buffer1[i]=iHigh(NULL,period02,index1); if(Buffer1[i]<Buffer1[i+1]){ Buffer1[i]=Buffer1[i+1];} Buffer2[i]=iLow(NULL,period02,index1); if(Buffer2[i]>Buffer2[i+1]){ Buffer2[i]=Buffer2[i+1];} } } //--- return(rates_total); } //+------------------------------------------------------------------+ 请帮助我纠正该指标或告诉我如何纠正。 1) 我不知道如何设置参考点 "period01",以便指标在新周期开始时以 "iOpen "开始。 2)我不知道如何使用 "iHighest",所以我不需要使用这种 "拐杖"。 if(Buffer1[i]<Buffer1[i+1]){ Buffer1[i]=Buffer1[i+1];} 请帮助。 Алексей Тарабанов 2020.10.09 19:38 #974 MakarFX:下午好!我写了以下指标请帮助我纠正该指标或告诉我如何纠正。1) 我不知道如何设置参考点 "period01",以便指标在新周期开始时以 "iOpen "开始。2)我不知道如何使用 "iHighest",所以我不需要使用这种 "拐杖"。请帮助。 你为什么要写它? Tretyakov Rostyslav 2020.10.09 19:58 #975 Алексей Тарабанов:你为什么要写它? 寻找一个模式... 如果移到地下室,它看起来像这样 Aleksei Stepanenko 2020.10.09 20:53 #976 MakarFX:日安!问候你,马卡!这里的开盘价 是多少? 要立即采取第一小节的极值。比如这个。if(i==limit || TimeDay(time[i])!=TimeDay(time[i+1])) { Buffer1[i]=iHigh(NULL,period02,index1); Buffer2[i]=iLow(NULL,period02,index1); } else { if(iHigh(NULL,period02,index1)-Buffer1[i+1]>0) { Buffer1[i]=iHigh(NULL,period02,index1); } else { Buffer1[i]=Buffer1[i+1]; } if(Buffer2[i+1]-iLow(NULL,period02,index1)>0) { Buffer2[i]=iLow(NULL,period02,index1); } else { Buffer2[i]=Buffer2[i+1]; } } 还是我的想法有误? Tretyakov Rostyslav 2020.10.09 21:21 #977 Aleksei Stepanenko:问候你,马卡!这里的开盘价 是多少? 要立即采取第一小节的极值。比如这个。 还是我的想法有误? 我写道。 1) 我不知道如何设置参考点 "period01",以使指标在新周期开始时以 "iOpen "开始。 要马上采取第一条的极值是正确的,我在 "else "之后采取你的代码。谢谢你。 但在这里 if(i==limit || TimeDay(time[i])!=TimeDay(time[i+1])) 不适合,因为它与一天的开始相联系,我需要 "period01 "的选择--H1;H4;等等。 Aleksei Stepanenko 2020.10.09 21:40 #978 另外,你可以用当前日期除以时间框架中的秒数,然后将所得的值与前一个值进行比较。 int part=0; int OnCalculate(......) { for(......) { if(time[i]/PeriodSeconds(period01)>part) { part=time[i]/PeriodSeconds(period01); Buffer1[i]=iHigh(NULL,period02,index1); Buffer2[i]=iLow(NULL,period02,index1); } else ....... 启动可能不会与图表同步,但计时条会正确计数。你可以考虑如何使第一次启动同步。 如: if(time[i]%PeriodSeconds(period01)==0) Tretyakov Rostyslav 2020.10.10 09:11 #979 Aleksei Stepanenko:另外,你可以用当前日期除以时间框架中的秒数,然后将所得的值与前一个值进行比较。启动可能不会与图表同步,但计时条会正确计数。你可以考虑如何使第一次启动同步。如: 非常感谢你,我将尝试一下。 Aleksei Stepanenko 2020.10.10 09:47 #980 不客气。一个较短的条目。 Buffer1[i]=MathMax(iHigh(NULL,period02,index1),Buffer1[i+1]); Buffer2[i]=MathMin(iLow(NULL,period02,index1),Buffer2[i+1]); 1...919293949596979899100101102103104105...129 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我只能提供一点帮助,绝对免费。
在指示器的底部有两个功能。在评论中,它显示了指标本身的价值和最后一条趋势线上 当前点的价值。
弄清楚。
谢谢你,阿列克谢。祝你有个愉快的一天。
.
下午好!
我已经写了这个指标
请帮助我纠正该指标或告诉我如何纠正。
1) 我不知道如何设置参考点 "period01",以便指标在新周期开始时以 "iOpen "开始。
2)我不知道如何使用 "iHighest",所以我不需要使用这种 "拐杖"。
请帮助。
下午好!
我写了以下指标
请帮助我纠正该指标或告诉我如何纠正。
1) 我不知道如何设置参考点 "period01",以便指标在新周期开始时以 "iOpen "开始。
2)我不知道如何使用 "iHighest",所以我不需要使用这种 "拐杖"。
请帮助。
你为什么要写它?
你为什么要写它?
寻找一个模式...
如果移到地下室,它看起来像这样
日安!
问候你,马卡!
这里的开盘价 是多少? 要立即采取第一小节的极值。比如这个。
还是我的想法有误?问候你,马卡!
这里的开盘价 是多少? 要立即采取第一小节的极值。比如这个。
还是我的想法有误?我写道。
1) 我不知道如何设置参考点 "period01",以使指标在新周期开始时以 "iOpen "开始。
要马上采取第一条的极值是正确的,我在 "else "之后采取你的代码。谢谢你。
但在这里
不适合,因为它与一天的开始相联系,我需要 "period01 "的选择--H1;H4;等等。
另外,你可以用当前日期除以时间框架中的秒数,然后将所得的值与前一个值进行比较。
启动可能不会与图表同步,但计时条会正确计数。你可以考虑如何使第一次启动同步。
如:
另外,你可以用当前日期除以时间框架中的秒数,然后将所得的值与前一个值进行比较。
启动可能不会与图表同步,但计时条会正确计数。你可以考虑如何使第一次启动同步。
如:
不客气。一个较短的条目。