新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1894 1...188718881889189018911892189318941895189618971898189919001901...1953 新评论 Alekseu Fedotov 2022.02.08 21:20 #18931 Vitaly Muzichenko #:工作,但最低限度是可以用手设定的缩进,并且至少是 是的,不低于窗口的10%。 Vitaly Muzichenko 2022.02.08 21:21 #18932 Alekseu Fedotov #:是的,至少有10%的窗口。 所以结果很糟糕。 DanilaMactep 2022.02.09 09:25 #18933 大家下午好。我打开了20个工具,需要在所有的工具上加载同一个模板。有没有可能用一个脚本来自动完成这个工作?如果是这样,能否请您分享如何做的代码? Maxim Kuznetsov 2022.02.09 09:36 #18934 DanilaMactep #:大家下午好。我打开了20个工具,需要在所有的工具上加载同一个模板。有没有可能用一个脚本来自动完成这个工作?如果是这样,请分享如何做的代码? 制作一个脚本--依次浏览图表(ChartFirst(), ChartNext())并应用所需的模板(ChartApplyTemplate())。 你可以在这里查看:https://www.mql5.com/ru/blogs/post/747636,或定制它 Полезняшки - скрипт для открытия чартов www.mql5.com Небольшой скрипт, открывает недостающие пары и применяет туда шаблон Valeriy Yastremskiy 2022.02.09 13:39 #18935 DanilaMactep #:大家下午好。我打开了20个工具,需要在所有的工具上加载同一个模板。有没有可能用一个脚本来自动完成这个工作?如果是的话,你能分享一下如何做的代码吗? 模板作为默认值将被记住。而所有的新窗口都将以默认模板打开。 Sergey Dymov 2022.02.09 21:48 #18936 Tretyakov Rostyslav #: 只需发布代码。 这里面有五页的代码。你们都会向我扔石头,我是一个业余的...论坛上说它超过了64000个字符。 附加的文件: Robo_v3.4_indi.mq5 50 kb Vladimir Karputov 2022.02.10 04:44 #18937 Sergey Dymov #:这里面有五页的代码。你们都会向我扔石头,我是一个业余的...论坛发誓,它超过了64000个字符。 你应该在'复制XXXX'功能中指定一个字符。 int copy_open=CopyOpen(Symbol(),PERIOD_M15,0,1,OpenPrice); if(copy_open<0) Print("Неудачная попытка копирования OpenPrice"); MatveySt 2022.02.10 12:35 #18938 Доброго времени суток! Помогите разобраться я новичок в програмировании, посмотрел ролик "Как написать индикатор" писал код с ведущим ,от кампилировал без ошибок, вывожу на терминал индикатор не отрисовывается, ошибок нет в окне он есть в списке запущиных индекаторовв тоже. Что я делаю не так? //+------------------------------------------------------------------+ //| MaOsC Уч.mq5 | //| Copyright 2022,Игорь | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022,Игорь" #property link "https://www.mql5.com" #property version "1.00" #property indicator_separate_window //Выводить индикатор в отдельное окно #property indicator_buffers 4 #property indicator_plots 1 //Количество графических серий в индикаторе #property indicator_label1 "MAOS" #property indicator_type1 DRAW_COLOR_HISTOGRAM // Графическое построение цветная гистограмма #property indicator_color1 clrLightBlue,clrBlue,clrYellow,clrGold,clrDarkOrange #property indicator_style1 STYLE_SOLID //стиль линий для отрисовки #property indicator_width1 2 //толшина линий input uint MaFastPeriod = 7; input uint MaSlowPeriod = 33; input ENUM_MA_METHOD MaMethod = MODE_SMA; //метод МА input ENUM_APPLIED_PRICE MaAppliaedPrice = PRICE_CLOSE; double MAOSBuffer[]; //буфер если связан с ценой то тип double double ColorsBuffer[]; double FastBuffer[]; double SlowBuffer[]; int FastPeriod, // глобальные переменные SlowPeriod, fma_h, sma_h; // описатель (хэндл) индекатора,для того что-бы можно было обращаться к нему в дальнейшем //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { FastPeriod = int(MaFastPeriod < 1 ? 1 : MaFastPeriod); //описание действия (если MaFastPeriod меньше 1 то указываем 1 а если оно больше либо = 1 то указываем MaFastPeriod) SlowPeriod = int(MaSlowPeriod == MaFastPeriod ? FastPeriod + 1 : MaSlowPeriod < 1 ? 1 : MaSlowPeriod); // описание действия(если MaSlowPeriod = FastPeriod то в таком случае +1,а иначе если MaSlowPeriod меньше 1 то указываем 1 а если оно больше либо = 1 то указываем MaSlowPeriod) SetIndexBuffer(0, MAOSBuffer, INDICATOR_DATA); SetIndexBuffer(1, ColorsBuffer, INDICATOR_COLOR_INDEX); SetIndexBuffer(2, FastBuffer, INDICATOR_CALCULATIONS); SetIndexBuffer(3, SlowBuffer, INDICATOR_CALCULATIONS); ArraySetAsSeries(MAOSBuffer, true); ArraySetAsSeries(ColorsBuffer, true); ArraySetAsSeries(FastBuffer, true); ArraySetAsSeries(SlowBuffer, true); ResetLastError(); fma_h = iMA(NULL,PERIOD_CURRENT, FastPeriod, 0, MaMethod, MaAppliaedPrice); if (fma_h == INVALID_HANDLE) { Print("Не удалось инициализировать индикатор Moving Average"); return INIT_FAILED; } fma_h = iMA(NULL,PERIOD_CURRENT, SlowPeriod, 0, MaMethod, MaAppliaedPrice); if (sma_h == INVALID_HANDLE) { Print("Не удалось инициализировать индикатор Moving Average"); return INIT_FAILED; } 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[]) { if (rates_total < 4) return(0); //индикатор. проверку и расчёт количества прощитываемых баров(если rates_total меньше 4 баров то ни какого вычесления и отрисовки не делаем ) int limit = rates_total - prev_calculated; if (limit > 1) { limit = rates_total -2; ArrayInitialize(MAOSBuffer, 0); ArrayInitialize(ColorsBuffer, 4); ArrayInitialize(FastBuffer, 0); ArrayInitialize(SlowBuffer, 0); } int count =(limit > 1 ? rates_total : 1), copied = 0; copied = CopyBuffer(fma_h, 0, 0, count, FastBuffer); if (copied != count) return(0); copied = CopyBuffer(sma_h, 0, 0, count, SlowBuffer); if (copied != count) return(0); for(int i=limit; i>=0; i--) { MAOSBuffer[i] = FastBuffer[i] - SlowBuffer[i]; ColorsBuffer[i] = (MAOSBuffer[i] > 0 ? (MAOSBuffer[i] > MAOSBuffer[i=1] ? 0 : 1) : MAOSBuffer[i] < 0 ? (MAOSBuffer[i] < MAOSBuffer[i+1] ? 2: 3) : 4); } return(rates_total); } //+------------------------------------------------------------------+ 附加的文件: MaOsC_sv.mq5 11 kb MaOsC_dr.ex5 11 kb Tretyakov Rostyslav 2022.02.10 13:35 #18939 MatveySt #: 1) 都必须是sma_h fma_h = iMA(NULL,PERIOD_CURRENT, FastPeriod, 0, MaMethod, MaAppliaedPrice); if (fma_h == INVALID_HANDLE) { Print("Не удалось инициализировать индикатор Moving Average"); return INIT_FAILED; } fma_h = iMA(NULL,PERIOD_CURRENT, SlowPeriod, 0, MaMethod, MaAppliaedPrice); if (sma_h == INVALID_HANDLE) { Print("Не удалось инициализировать индикатор Moving Average"); return INIT_FAILED; } 2)把 "+" for(int i=limit; i>=0; i--) { MAOSBuffer[i] = FastBuffer[i] - SlowBuffer[i]; ColorsBuffer[i] = (MAOSBuffer[i] > 0 ? (MAOSBuffer[i] > MAOSBuffer[i=1] ? 0 : 1) : MAOSBuffer[i] < 0 ? (MAOSBuffer[i] < MAOSBuffer[i+1] ? 2: 3) : 4); } MatveySt 2022.02.10 13:58 #18940 Tretyakov Rostyslav #:1) 都必须是sma_h2)把 "+" 谢谢你!!!。这一切都在起作用! 1...188718881889189018911892189318941895189618971898189919001901...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
工作,但最低限度是可以用手设定的缩进,并且至少是
是的,不低于窗口的10%。
是的,至少有10%的窗口。
所以结果很糟糕。
大家下午好。我打开了20个工具,需要在所有的工具上加载同一个模板。有没有可能用一个脚本来自动完成这个工作?如果是这样,能否请您分享如何做的代码?
大家下午好。我打开了20个工具,需要在所有的工具上加载同一个模板。有没有可能用一个脚本来自动完成这个工作?如果是这样,请分享如何做的代码?
制作一个脚本--依次浏览图表(ChartFirst(), ChartNext())并应用所需的模板(ChartApplyTemplate())。
你可以在这里查看:https://www.mql5.com/ru/blogs/post/747636,或定制它
大家下午好。我打开了20个工具,需要在所有的工具上加载同一个模板。有没有可能用一个脚本来自动完成这个工作?如果是的话,你能分享一下如何做的代码吗?
模板作为默认值将被记住。而所有的新窗口都将以默认模板打开。
只需发布代码。
这里面有五页的代码。你们都会向我扔石头,我是一个业余的...论坛上说它超过了64000个字符。
这里面有五页的代码。你们都会向我扔石头,我是一个业余的...论坛发誓,它超过了64000个字符。
你应该在'复制XXXX'功能中指定一个字符。
1) 都必须是sma_h
2)把 "+"
1) 都必须是sma_h
2)把 "+"