新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1398 1...139113921393139413951396139713981399140014011402140314041405...1953 新评论 [删除] 2021.02.25 10:31 #13971 Andrey Sokolov:谢谢你。所以它只在mt5中出现。如果有人知道如何从EA中添加一个指标,请告诉我。 你也可以将指标和专家保存在一个模板上,随着功能的运行,将为你安装一个专家和指标。 //+------------------------------------------------------------------+ //| DeleteChart.mq4 | //| Copyright 2021, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2021, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #property show_inputs //--- input string Template = "ADX"; // Имя шаблона(without '.tpl') //--- ENUM_TIMEFRAMES TimeFrame; // Change TimeFrame - Current = dont changed //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- DeleteChart(); } //+------------------------------------------------------------------+ //| start function | //+------------------------------------------------------------------+ void DeleteChart(void) { long currChart,prevChart=ChartFirst(); int i=0,limit=100; bool errTemplate; while(i<limit) { currChart=ChartNext(prevChart); if(TimeFrame!=PERIOD_CURRENT) { ChartSetSymbolPeriod(prevChart,ChartSymbol(prevChart),TimeFrame); } errTemplate=ChartApplyTemplate(prevChart,Template+".tpl"); if(!errTemplate) { Print("Error ",ChartSymbol(prevChart),"-> ",GetLastError()); } if(currChart<0) break; Print(i,ChartSymbol(currChart)," ID =",currChart); prevChart=currChart; i++; } } //+------------------------------------------------------------------+ mt4文件https://docs.mql4.com/ru/chart_operations/chartapplytemplate mt5文件https://www.mql5.com/ru/docs/chart_operations/chartapplytemplate Документация по MQL5: Операции с графиками / ChartApplyTemplate www.mql5.com ChartApplyTemplate - Операции с графиками - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Andrei Sokolov 2021.02.25 12:24 #13972 SanAlex:你也可以将指标和专家保存在一个模板上,当功能工作时,它将为你安装一个专家和指标。mt4文件https://docs.mql4.com/ru/chart_operations/chartapplytemplatemt5 文件https://www.mql5.com/ru/docs/chart_operations/chartapplytemplate 谢谢你的回答。但我需要的是没有任何前奏的情况。 Sergey Likho 2021.02.25 13:01 #13973 MT4中有趣的小故障 如果你用按下的cntrl按钮在图表中创建了一个对象的副本,专家顾问中会捕捉到id ==CHARTEVENT_OBJECT_CREATE 事件。 如果我从专家顾问中删除这个对象,就会弹出错误4202--对象不存在。同时,该对象已经在图表上。 该怎么做?我如何删除该对象? if(id == CHARTEVENT_OBJECT_CREATE) { Print("New object create", sparam); if(!ObjectDelete(sparam)) { Print(" error remove ", GetLastError(), " ",sparam); //здесь будет ошибка 4202. Хотя это событие срабатывает когда объект есть на графике! } } [删除] 2021.02.25 14:36 #13974 Andrey Sokolov:谢谢你的回答。但你必须在没有任何前奏的情况下进行。 首先,你采取所需的指标并向其添加你需要的参数--周期、TF、线宽、线色等。 你把它保存在一个不同的名字下。编译它。在专家顾问的OnInit()或任何其他地方(不是OnTick()),添加你的指标 handle_newInd = iCustom(Symbol(),Period(),"my_Ind\\new_xxxxx",in_period,in_size,in_from,.....); if(handle_newCandles == INVALID_HANDLE) { return(INIT_FAILED); } ChartIndicatorAdd(0,1,handle_newInd); Tretyakov Rostyslav 2021.02.25 14:41 #13975 Сергей Таболин:首先,你采取所需的指标,并在其输入中添加所需的参数--周期、TF、线条粗细、颜色等。用一个不同的名字保存它。编译它。在专家顾问的OnInit()或任何其他地方(不是OnTick()),添加你的指标 MT4必须! Taras Slobodyanik 2021.02.25 14:57 #13976 Sergey Likho:MT4中有趣的小故障如果你用按下的cntrl按钮在图表中创建了一个对象的副本,专家顾问中会捕捉到id ==CHARTEVENT_OBJECT_CREATE 事件。如果我从专家顾问中删除这个对象,就会弹出错误4202 - 对象不存在。同时,该对象已经在图表上。该怎么做?我如何删除该对象? 这不是一个故障,这是一个特点),用户用鼠标拿着对象--不能删除它。 等到鼠标按钮被释放后,再将其删除。 Sergey Likho 2021.02.26 08:52 #13977 Taras Slobodyanik:这不是一个故障,而是一个功能),用户用鼠标拿着一个物体--没有办法删除它。等到鼠标按钮被释放,然后再删除。 非常感谢您!这真的是一个错误))。梳理了一下。现在一切都正常了! fxbo 2021.02.27 02:53 #13978 大家好!,谁可以帮助调整一个指标的代码...1.反转菲波,即菲波向形成的之字形棍子 拉伸 2.在设置中添加一个参数,将警报设置为指定水平....,即我手动指定我希望它嗡嗡作响并显示警报点的水平... 应该是像1-2-3这样的,提前感谢....截图上的例子,代码附在 。 //+------------------------------------------------------------------+ //| | //| Copyright © 2000-2007, MetaQuotes Software Corp. | //| http://www.metaquotes.ru | //+------------------------------------------------------------------+ // // 2009.12 - добавлены фибо уровни, "nen"(ом) c форума MQL #property copyright "" #property link "ххххх" #property link "ххххх" #property description "ххххх" #property strict #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 clrDarkGray #property indicator_color2 clrRed #property indicator_width2 3 //---- extern int Length = 6; // Length extern int CountBars = 300; // History extern bool fibo = true; // Use FIBO extern color colorFibo = clrSkyBlue; // Color FIBO extern bool AlertsMessage = true; // Alert Message extern bool AlertsSound = false; // Alert Sound extern bool AlertsEmail = false; // Alert Email extern bool AlertsMobile = false; // Alert Mobile extern string AlertsSoundFile = "alert.wav"; // Alert Sound File //---- double buffer[]; double lBar, hBar; datetime tiZZ; double p1,p2; datetime t1,t2; double fi_1[]={0, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0, 1.272, 1.5, 1.618, 1.854, 2.0, 2.618, 3.5, 4.618, 5.618, 6.854}; string fitxt100_1[]={"0.0", "23.6", "38.2", "50.0", "61.8", "78.6", "100.0", "127.2", "150.0", "161.8", "185.4", "200.0", "261.8", "350.0", "461.8", "561.8", "685.4"}; int Sizefibo; string TF[]={"MN","W1","D1","H4","H1","m30","m15","m5","m1"}; string Period_tf; double Arr[]; int LastSwing; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void init() { SetIndexStyle (0,DRAW_SECTION,0,1); SetIndexBuffer(0,buffer); SetIndexLabel (0,"Value"); SetIndexDrawBegin(0,0); SetIndexStyle (1,DRAW_ARROW); SetIndexBuffer(1,Arr); SetIndexArrow (1,159); SetIndexLabel (1,"Arr"); Sizefibo=ArraySize(fi_1); switch (Period()) { case 1 : {Period_tf=TF[8];break;} case 5 : {Period_tf=TF[7];break;} case 15 : {Period_tf=TF[6];break;} case 30 : {Period_tf=TF[5];break;} case 60 : {Period_tf=TF[4];break;} case 240 : {Period_tf=TF[3];break;} case 1440 : {Period_tf=TF[2];break;} case 10080 : {Period_tf=TF[1];break;} case 43200 : {Period_tf=TF[0];break;} } LastSwing = 0; } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function. Начало. | //+------------------------------------------------------------------+ int deinit() { ObjectDelete("_%fibo"); return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function. Конец. | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void start() { int shift, zu, zd, Swing, Swing_n, i, i1=0, i2=0; double HH, LL, BH, BL; //---- if (tiZZ!=Time[0] || lBar<Low[0] || hBar>High[0]) // micmed+nen { tiZZ=Time[0]; lBar=Low[0]; hBar=High[0]; if ((Bars-IndicatorCounted()-1)>2) ArrayInitialize(buffer,EMPTY_VALUE); } else return; Swing=0; Swing_n=0; shift=CountBars-1; zu=shift; zd=shift; BH=High[shift]; BL=Low[shift]; //---- for(shift=CountBars-1; shift>=0; shift--) { HH=High[Highest(NULL,0,MODE_HIGH,Length,shift+1)]; LL=Low [Lowest (NULL,0,MODE_LOW ,Length,shift+1)]; if (Low[shift]<LL && High[shift]>HH) { Swing=2; if (Swing_n== 1) zu=shift+1; if (Swing_n==-1) zd=shift+1; } else { if (Low [shift]<LL) Swing=-1; if (High[shift]>HH) Swing= 1; } if (Swing!=Swing_n && Swing_n!=0) { if (Swing== 2) {Swing=-Swing_n; BH=High[shift]; BL=Low[shift];} if (Swing== 1) {buffer[zd]=BL; i1=i2; i2=zd;} if (Swing==-1) {buffer[zu]=BH; i1=i2; i2=zu;} BH=High[shift]; BL=Low [shift]; } if (Swing== 1) {if (High[shift]>=BH) {BH=High[shift]; zu=shift;}} if (Swing==-1) {if (Low [shift]<=BL) {BL=Low [shift]; zd=shift;}} Swing_n=Swing; } if(LastSwing!=Swing) { if(LastSwing!=0) { if(AlertsMessage || AlertsEmail || AlertsMobile || AlertsSound) { string message = (WindowExpertName()+" - "+Symbol()+" "+PeriodString()+" - Change FIBO"); if (AlertsMessage) Alert(message); if (AlertsEmail) SendMail(Symbol()+" - "+WindowExpertName()+" - ",message); if (AlertsMobile) SendNotification(message); if (AlertsSound) PlaySound(AlertsSoundFile); } Arr[0] = Close[0]; } LastSwing = Swing; } if (fibo) { p1=buffer[i1]; t1=Time[i1]; p2=buffer[i2]; t2=Time[i2]; string nameObj="_%fibo"; ObjectDelete(nameObj); ObjectCreate(nameObj,OBJ_FIBO,0,t1,p1,t2,p2); ObjectSet(nameObj,OBJPROP_LEVELCOLOR,colorFibo); ObjectSet(nameObj,OBJPROP_COLOR,CLR_NONE); ObjectSet(nameObj,OBJPROP_STYLE,STYLE_DOT); ObjectSet(nameObj,OBJPROP_WIDTH,0); ObjectSet(nameObj,OBJPROP_LEVELSTYLE,STYLE_DOT); ObjectSet(nameObj,OBJPROP_LEVELWIDTH,0); ObjectSet(nameObj,OBJPROP_BACK,true); ObjectSet(nameObj,OBJPROP_FIBOLEVELS,Sizefibo); for (i=0;i<Sizefibo;i++) { ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+i,fi_1[i]); ObjectSetFiboDescription(nameObj, i, fitxt100_1[i]+" "+DoubleToStr((p1-p2)*fi_1[i]+p2, Digits)+"-"+Period_tf); } } } //+------------------------------------------------------------------+ //| Period String | //+------------------------------------------------------------------+ string PeriodString() { switch (_Period) { case PERIOD_M1: return("M1"); case PERIOD_M5: return("M5"); case PERIOD_M15: return("M15"); case PERIOD_M30: return("M30"); case PERIOD_H1: return("H1"); case PERIOD_H4: return("H4"); case PERIOD_D1: return("D1"); case PERIOD_W1: return("W1"); case PERIOD_MN1: return("MN1"); default: return("M"+(string)_Period); } return("M"+(string)_Period); } //+------------------------------------------------------------------+ Документация по MQL5: Сетевые функции / SendNotification www.mql5.com SendNotification - Сетевые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 附加的文件: kyucri.jpg 102 kb [删除] 2021.02.27 07:07 #13979 btc.mmd: 大家好!,可以帮助我修复指标1.转动菲波,即菲波向形成的棒状 人字形拉伸2.添加参数 "将警报设置为指定水平....",即我手动指出我希望它嗡嗡作响的水平并显示警报点...应该会有类似1-2-3的结果 提前感谢 ....截图上的例子,代码附在 。 //+------------------------------------------------------------------+ //|| //| Copyright © 2000-2007, MetaQuotes Software Corp. //| http://www.metaquotes.ru | //+------------------------------------------------------------------+ // хххххххх // 2009.12 - 增加了Fibo水平,"nen"(由)来自MQL论坛。 #财产版权"" #属性链接 "ххххх" #属性链接 "XXXXX" #财产描述 "xxxxxxxxx" #属性严格 对于初学者来说,删除你的欺骗行为,以人性化的方式粘贴代码。 //+------------------------------------------------------------------+ //| | //| Copyright © 2000-2007, MetaQuotes Software Corp. | //| http://www.metaquotes.ru | //+------------------------------------------------------------------+ // хххххххххххх // 2009.12 - добавлены фибо уровни, "nen"(ом) c форума MQL. #property copyright "" #property link "ххххх" #property link "хххххх" #property description "ххххххххх" #property strict Andrey Sayapin 2021.02.27 07:53 #13980 嗨,伙计们! 你能告诉我,为什么你把这个指标放上去后,图表上什么都没有显示? 它的编译没有错误,rsi_channel在文件夹中......不明白( 附加的文件: 2lvokfd_alert_v1.mq4 5 kb 1...139113921393139413951396139713981399140014011402140314041405...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谢谢你。所以它只在mt5中出现。如果有人知道如何从EA中添加一个指标,请告诉我。
你也可以将指标和专家保存在一个模板上,随着功能的运行,将为你安装一个专家和指标。
mt4文件https://docs.mql4.com/ru/chart_operations/chartapplytemplate
mt5文件https://www.mql5.com/ru/docs/chart_operations/chartapplytemplate
你也可以将指标和专家保存在一个模板上,当功能工作时,它将为你安装一个专家和指标。
mt4文件https://docs.mql4.com/ru/chart_operations/chartapplytemplate
mt5 文件https://www.mql5.com/ru/docs/chart_operations/chartapplytemplate
谢谢你的回答。但我需要的是没有任何前奏的情况。
MT4中有趣的小故障
如果你用按下的cntrl按钮在图表中创建了一个对象的副本,专家顾问中会捕捉到id ==CHARTEVENT_OBJECT_CREATE 事件。
如果我从专家顾问中删除这个对象,就会弹出错误4202--对象不存在。同时,该对象已经在图表上。
该怎么做?我如何删除该对象?
谢谢你的回答。但你必须在没有任何前奏的情况下进行。
首先,你采取所需的指标并向其添加你需要的参数--周期、TF、线宽、线色等。
你把它保存在一个不同的名字下。编译它。在专家顾问的OnInit()或任何其他地方(不是OnTick()),添加你的指标
首先,你采取所需的指标,并在其输入中添加所需的参数--周期、TF、线条粗细、颜色等。
用一个不同的名字保存它。编译它。在专家顾问的OnInit()或任何其他地方(不是OnTick()),添加你的指标
MT4中有趣的小故障
如果你用按下的cntrl按钮在图表中创建了一个对象的副本,专家顾问中会捕捉到id ==CHARTEVENT_OBJECT_CREATE 事件。
如果我从专家顾问中删除这个对象,就会弹出错误4202 - 对象不存在。同时,该对象已经在图表上。
该怎么做?我如何删除该对象?
这不是一个故障,这是一个特点)
,用户用鼠标拿着对象--不能删除它。
等到鼠标按钮被释放后,再将其删除。
这不是一个故障,而是一个功能)
,用户用鼠标拿着一个物体--没有办法删除它。
等到鼠标按钮被释放,然后再删除。
非常感谢您!这真的是一个错误))。梳理了一下。现在一切都正常了!
,谁可以帮助调整一个指标的代码...
1.反转菲波,即菲波向形成的之字形棍子 拉伸
2.在设置中添加一个参数,将警报设置为指定水平....,即我手动指定我希望它嗡嗡作响并显示警报点的水平...
应该是像1-2-3这样的
,提前感谢....
截图上的例子,代码附在
。
大家好!
,可以帮助我修复指标
1.转动菲波,即菲波向形成的棒状 人字形拉伸
2.添加参数 "将警报设置为指定水平....",即我手动指出我希望它嗡嗡作响的水平并显示警报点...
应该会有类似1-2-3的结果
提前感谢 ....
截图上的例子,代码附在
。
对于初学者来说,删除你的欺骗行为,以人性化的方式粘贴代码。
嗨,伙计们!
你能告诉我,为什么你把这个指标放上去后,图表上什么都没有显示?
它的编译没有错误,rsi_channel在文件夹中......不明白(