任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1043 1...103610371038103910401041104210431044104510461047104810491050...1178 新评论 Mihail Marchukajtes 2016.05.09 02:42 #10421 我将更详细地描述它好。主要指标位于欧元-美元对。这个指标调用了 黄金、美元指数和欧元货币等其他货币对的指标。这个指标在1分钟的货币对上工作,有时美元指数没有报价,例如,欧元有15分钟的蜡烛图,但美元指数没有这样的蜡烛图,指数被冻结,没有勾股。然后,一段时间后,16分钟的蜡烛图出现在欧元上,16分钟的蜡烛图出现在美元指数上。问题是什么?如何同步计算指标,因此只有当所有被调用的符号上的条形图在时间上重合时才会被计算,????我试过这种结构if((iTime(NULL,0,i)==iTime("XAUUSD",0,i))&&(iTime(NULL,0,i)==iTime("EURJPY",0,i))){ 它似乎很酷,但计算只针对当天进行,没有前几天的信号。也许有标准的解决方案来实现符号的同步化????。 Artyom Trishkin 2016.05.09 02:54 #10422 nikelodeon:我将更详细地描述它好。主要指标位于欧元-美元对。这个指标调用了黄金、美元指数和欧元货币等其他货币对的指标。这个指标在1分钟的货币对上工作,有时美元指数没有报价,例如,欧元有15分钟的蜡烛图,但美元指数没有这样的蜡烛图,指数被冻结,没有勾股。然后,一段时间后,16分钟的蜡烛图出现在欧元上,16分钟的蜡烛图出现在美元指数上。问题是什么?如何同步计算指标,因此只有当所有被调用的符号上的条形图在时间上重合时才会被计算????。我试过这种结构它似乎很酷,但计算只针对当天进行,没有前几天的信号。也许有一个标准的解决方案来同步符号????。试着在一个计时器的循环中SymbolInfoTick() 来获取符号的数据。而那里已经按照你的需要进行了同步。问题是,在当前符号上,程序只在该符号的tick到达时才开始。因此,你将无法及时从其他符号中获得刻度。但在一个独立运行的定时器中,你将能够从其他符号中获得刻度。如果你需要对不是你自己的符号上的嘀嗒声作出快速反应,可以将定时器设置为毫秒级。 [删除] 2016.05.09 13:48 #10423 artmedia70: 而你有一个非常模糊的问题,只有你能理解。非常欢迎你的到来!!!。谢谢你!节日快乐!再加2分,亲爱的。1)你可以从一个单独的窗口中删除指标?2)增加一个功能,如果当前的ATR高于ATR(对于H期),那么在这个条形图上面的ATR,会以不同的颜色突出显示吗? 或者这个值只写在这个条形图上面? Artyom Trishkin 2016.05.09 16:25 #10424 kocunyc89:向你致敬!!!"。谢谢你!节日快乐!再加2分,亲爱的。1) 你能从一个单独的窗口中删除指标吗?2)增加一个功能,如果当前ATR超过ATR(H期),那么ATR上面的条形图将以不同的颜色突出显示? 或者该值只写在这个条形图上面?哦,亲爱的...在这里,自己编辑吧。//+------------------------------------------------------------------+ //| iATRwithData.mq4 | //| Copyright 2016, Artem A. Trishkin, Skype artmedia70 | //| https://login.mql5.com/ru/users/artmedia70 | //+------------------------------------------------------------------+ #property copyright "Copyright 2016, Artem A. Trishkin, Skype artmedia70" #property link "https://login.mql5.com/ru/users/artmedia70" #property version "1.00" #property strict #property indicator_separate_window #property indicator_buffers 1 #property indicator_plots 1 //--- plot ATR #property indicator_label1 "ATR" #property indicator_type1 DRAW_LINE #property indicator_color1 clrDodgerBlue #property indicator_style1 STYLE_SOLID #property indicator_width1 1 //+------------------------------------------------------------------+ //| enums | //+------------------------------------------------------------------+ enum enumYN { enYes=1, // Yes enNo=0, // No }; //+------------------------------------------------------------------+ //| input parameters | //+------------------------------------------------------------------+ input int PeriodATR=14; // ATRs calculation period int periodATR=(PeriodATR<1)?1:PeriodATR; sinput enumYN DrawGraphic=enYes; // Drawing ATR data over the candles sinput int StartDrawingBar=100; // Max bar for drawing ATRs data int startDrawingBar; sinput int TextSize=5; // Text size sinput color TextColor=clrDodgerBlue; // Text color //--- indicator buffers double BufferATR[]; string Prefix; //+------------------------------------------------------------------+ //| Classes | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping SetIndexBuffer(0,BufferATR); Prefix="iATRwd("+IntegerToString(periodATR)+")"; IndicatorSetString(INDICATOR_SHORTNAME,Prefix); int bars=Bars(Symbol(),Period()); startDrawingBar=(StartDrawingBar<1)?1:(StartDrawingBar>bars)?bars:StartDrawingBar; //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- delete graphics ObjectsDeleteAll(0,Prefix,0); //--- } //+------------------------------------------------------------------+ //| 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[]) { //--- if(rates_total<periodATR) return(0); int limit=rates_total-prev_calculated; if(limit>1) limit=rates_total-periodATR-1; //--- for(int i=limit; i>=0; i--) { BufferATR[i]=iATR(Symbol(),Period(),periodATR,i); if(DrawGraphic && i<startDrawingBar) { string tm_txt=TimeToString(time[i],TIME_DATE|TIME_MINUTES); string nm=Prefix+"_"+tm_txt; string text=IntegerToString(int(BufferATR[i]/Point())); string tooltip="ATRs period for candle on "+tm_txt+" is "+text; SetArrowText(0,nm,TextColor,text,0,ANCHOR_LOWER,time[i],high[i],"Arial",TextSize,tooltip); } } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ //| Timer function | //+------------------------------------------------------------------+ void OnTimer() { //--- } //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { //--- } //+------------------------------------------------------------------+ //| Functions | //+------------------------------------------------------------------+ void SetArrowText(long chart_id, string name, color text_color, string text, int sub_window, long text_anchor, long text_time1, double text_price1, string font="Arial", long font_size=5, string tooltip="\n", bool selection=false, bool hidden=true) { if(ObjectFind(chart_id,name)<0) ObjectCreate(chart_id,name,OBJ_TEXT,sub_window,text_time1,text_price1); ObjectSetInteger(chart_id,name,OBJPROP_ANCHOR,text_anchor); ObjectSetInteger(chart_id,name,OBJPROP_WIDTH,font_size); ObjectSetString(chart_id,name,OBJPROP_FONT,font); ObjectSetString(chart_id,name,OBJPROP_TEXT,text); ObjectSetInteger(chart_id,name,OBJPROP_COLOR,text_color); ObjectSetInteger(chart_id,name,OBJPROP_FONTSIZE,font_size); ObjectSetInteger(chart_id,name,OBJPROP_TIME1,text_time1); ObjectSetDouble(chart_id,name,OBJPROP_PRICE1,text_price1); ObjectSetInteger(chart_id,name,OBJPROP_SELECTED,selection); ObjectSetInteger(chart_id,name,OBJPROP_SELECTABLE,selection); ObjectSetInteger(chart_id,name,OBJPROP_HIDDEN,hidden); ObjectSetString(chart_id,name,OBJPROP_TOOLTIP,tooltip); } //+------------------------------------------------------------------+还是你想让我也为你做一切? [删除] 2016.05.09 17:31 #10425 artmedia70:哦,亲爱的...在这里,你自己做。还是我也应该为你做? 非常感谢您!好样的!"。 Artyom Trishkin 2016.05.09 18:16 #10426 kocunyc89: 非常感谢你!善良的人 不客气。 PokrovMT5 2016.05.10 17:36 #10427 晚上好,是否可以让指标在两个窗口显示缓冲数据,一部分在主图上,一部分在子图上?如果是这样,请告知如何... Nauris Zukas 2016.05.11 08:19 #10428 artmedia70:不客气。如果这不是什么秘密,为什么你需要一个时间戳,显示你的程序最后一次运行的时间--其中的时间不会改变。 只是闲来无事的好奇心...这是为离线勾股图准备的。 Nauris Zukas 2016.05.11 08:28 #10429 你好。 哪些功能可以用来在两个MT4终端之间发送变量?如果可能的话,请添加一个文档的链接。 [删除] 2016.05.11 08:50 #10430 abeiks: 在两个MT4终端之间发送变量有哪些功能?int Flags=FILE_WRITE+FILE_TXT+FILE_COMMON。int Info = FileOpen(fName,Flags);FileWrite(Info,What's Up); 在另一个终端,读取。文件打开时的光标和F1 - 获得帮助 1...103610371038103910401041104210431044104510461047104810491050...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我将更详细地描述它好。
主要指标位于欧元-美元对。这个指标调用了 黄金、美元指数和欧元货币等其他货币对的指标。这个指标在1分钟的货币对上工作,有时美元指数没有报价,例如,欧元有15分钟的蜡烛图,但美元指数没有这样的蜡烛图,指数被冻结,没有勾股。然后,一段时间后,16分钟的蜡烛图出现在欧元上,16分钟的蜡烛图出现在美元指数上。问题是什么?如何同步计算指标,因此只有当所有被调用的符号上的条形图在时间上重合时才会被计算,????
我试过这种结构
它似乎很酷,但计算只针对当天进行,没有前几天的信号。也许有标准的解决方案来实现符号的同步化????。
我将更详细地描述它好。
主要指标位于欧元-美元对。这个指标调用了黄金、美元指数和欧元货币等其他货币对的指标。这个指标在1分钟的货币对上工作,有时美元指数没有报价,例如,欧元有15分钟的蜡烛图,但美元指数没有这样的蜡烛图,指数被冻结,没有勾股。然后,一段时间后,16分钟的蜡烛图出现在欧元上,16分钟的蜡烛图出现在美元指数上。问题是什么?如何同步计算指标,因此只有当所有被调用的符号上的条形图在时间上重合时才会被计算????。
我试过这种结构
它似乎很酷,但计算只针对当天进行,没有前几天的信号。也许有一个标准的解决方案来同步符号????。
试着在一个计时器的循环中SymbolInfoTick() 来获取符号的数据。而那里已经按照你的需要进行了同步。
问题是,在当前符号上,程序只在该符号的tick到达时才开始。因此,你将无法及时从其他符号中获得刻度。但在一个独立运行的定时器中,你将能够从其他符号中获得刻度。
如果你需要对不是你自己的符号上的嘀嗒声作出快速反应,可以将定时器设置为毫秒级。
而你有一个非常模糊的问题,只有你能理解。
非常欢迎你的到来!!!。谢谢你!节日快乐!
再加2分,亲爱的。1)你可以从一个单独的窗口中删除指标?
2)增加一个功能,如果当前的ATR高于ATR(对于H期),那么在这个条形图上面的ATR,会以不同的颜色突出显示吗? 或者这个值只写在这个条形图上面?
向你致敬!!!"。谢谢你!节日快乐!
再加2分,亲爱的。1) 你能从一个单独的窗口中删除指标吗?
2)增加一个功能,如果当前ATR超过ATR(H期),那么ATR上面的条形图将以不同的颜色突出显示? 或者该值只写在这个条形图上面?
哦,亲爱的...在这里,自己编辑吧。
还是你想让我也为你做一切?
哦,亲爱的...在这里,你自己做。
还是我也应该为你做?
非常感谢你!善良的人
不客气。如果这不是什么秘密,为什么你需要一个时间戳,显示你的程序最后一次运行的时间--其中的时间不会改变。
只是闲来无事的好奇心...
这是为离线勾股图准备的。
哪些功能可以用来在两个MT4终端之间发送变量?如果可能的话,请添加一个文档的链接。
int Flags=FILE_WRITE+FILE_TXT+FILE_COMMON。
int Info = FileOpen(fName,Flags);
FileWrite(Info,What's Up); 在另一个终端,读取。文件打开时的光标和F1 - 获得帮助