任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 945 1...938939940941942943944945946947948949950951952...1178 新评论 charter 2015.10.02 07:59 #9441 Leo59:我需要IMA技术指标的INITIAL CODE ,该指标在MetaTrader4终端的 "指标->趋势->移动平均线 "标签下被调用。现在更清楚了吗?为什么要重新发明车轮?让它像OsMA或任何其他代码一样。//+------------------------------------------------------------------+ //| Moving Average of Oscillator | //+------------------------------------------------------------------+ 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; //--- if(rates_total<=InpSignalSMA || !ExtParameters) return(0); //--- last counted bar will be recounted limit=rates_total-prev_calculated; if(prev_calculated>0) limit++; //--- macd counted in the 1-st buffer for(i=0; i<limit; i++) ExtMacdBuffer[i]=iMA(NULL,0,InpFastEMA,0,MODE_EMA,PRICE_CLOSE,i)- iMA(NULL,0,InpSlowEMA,0,MODE_EMA,PRICE_CLOSE,i); //--- signal line counted in the 2-nd buffer SimpleMAOnBuffer(rates_total,prev_calculated,0,InpSignalSMA,ExtMacdBuffer,ExtSignalBuffer); //--- main loop for(i=0; i<limit; i++) ExtOsmaBuffer[i]=ExtMacdBuffer[i]-ExtSignalBuffer[i]; //--- done return(0); } //+------------------------------------------------------------------+ 还是你断然不相信Metaquotes? [Deleted] 2015.10.02 10:07 #9442 大家好。我在第943页发布了一个关于*dll库的工作描述和例子的脚本。我想明白了一点,为什么这个脚本不工作了。1.在这种情况下不需要#include<WinUser32.mqh>。2.条件分别为 if(lastkey != 0)Alert("lastkey=",lastkey); 稳定地正确输出所按按键的代码。如果你做一个延迟,它是如何工作的,这是毫无疑问的。3.条件分别为 if(lastmouse != 0) Alert("lastmouse=",lastmouse); 稳定地输出512,即使鼠标没有移动。冒出其他数字的情况非常罕见作为对点击鼠标按钮的回应。4. if(lastwnd != 0) Alert("lastwnd=",lastwnd); 返回一个空字符串,很可能是因为库是旧的,不是Unicode。在帮助中看到,编辑器可以使用*dll库,只需将其拖放到编辑器窗口中。它打不开。问题。谁能帮助纠正 "IdleLib.dll "或更好的钱。如果某个地方有这个主题(和其他*dll),请显示链接。 amavladi 2015.10.05 12:46 #9443 请告知如何在我的EA中禁止自动交易(在某些事件之后),即把终端自动交易的按钮设置为禁止。我试图调用常量ACCOUNT_TRADE_ALLOWED,并将其值改为false,但编译器说这不会有任何效果(ACCOUNT_TRADE_ALLOWED == false; //表达式没有效果)。 Alexey Viktorov 2015.10.05 14:14 #9444 试试这个#import "user32.dll" int GetForegroundWindow(); int PostMessageW(int hWnd, int Msg, int wParam, string lParam); #import #define WM_COMMAND 0x0111 после определенного события PostMessageW(GetForegroundWindow(), WM_COMMAND, 33020, (string) 0); charter 2015.10.06 11:33 #9445 amavladi:请告知如何在EA中规定(在某一事件后)禁止自动交易,即通过程序设置终端自动交易 的按钮来禁止自动 交易。我试图调用常量ACCOUNT_TRADE_ALLOWED,并将其值改为false,但编译器说这不会有任何效果(ACCOUNT_TRADE_ALLOWED == false; //表达式没有效果)。这个任务(禁止EA交易)很容易用信号(true/false.... 允许/不允许交易)来解决。还是按 "自动交易 "按钮很重要? amavladi 2015.10.06 21:00 #9446 charter:这个任务(禁止EA交易)很容易用信号(true/false.... 允许/不允许交易)来解决。还是按 "自动交易 "按钮有那么重要?如果我不能禁用整个终端的自动交易,那么我当然会这样做。问题是,我有几个专家顾问在我的终端上运行,而我我想用一个单独的EA来监控Equity,并在紧急情况下同时关闭所有EA的自动交易功能,例如,当Aquity减少50%时。 Alexey Viktorov 2015.10.06 22:49 #9447 amavladi: 如果我不能禁止整个终端的自动交易,我一定会这样做。问题是,我有几个专家顾问在我的终端上运行,而我我想用一个EA来监控账户利润,并在紧急情况下同时关闭所有EA的自动交易功能,例如,当账户利润下降50%时。我还没有检查过它。你必须用附件中的WinUser32.mqh替换,才能使其发挥作用。现在检查了一下,可以使用。下面是一些更多的噱头#include <WinUser32.mqh> void OnTick() { после определенного события wCommands(20); } void wCommands(int com) { switch(com) { case 1: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33137, (string)0); return; //M1 | case 2: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33138, (string)0); return; //M5 | case 3: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33139, (string)0); return; //M15 | case 4: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33140, (string)0); return; //M30 | case 5: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33135, (string)0); return; //H1 | case 6: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33136, (string)0); return; //H4 | case 7: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33134, (string)0); return; //D1 | case 8: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33141, (string)0); return; //W1 | case 9: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33334, (string)0); return; //MN | case 10: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33050, (string)0); return; //Удалить эксперт | case 11: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 35426, (string)0); return; //Удалить скрипт | case 12: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 57602, (string)0); return; //Закрыть окно текушего графика | 57604 //Сохранить как 57607 //Вызов диспетчера печати 57608 //Печать графика 57609 //Предварительный просмотр case 13: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33048, (string)0); return; //Вызов свойств экстерта | case 14: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33157, (string)0); return; //Вызов свойств графика | case 15: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33025, (string)0); return; //Увеличение масштаба | case 16: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33026, (string)0); return; //Уменьшение масштаба | case 17: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33018, (string)0); return; //Переключение на бары | case 18: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33019, (string)0); return; //Переключение на свечи | case 19: PostMessageA(WindowHandle(Symbol(), Period()), WM_COMMAND, 33022, (string)0); return; //Переключение на линию | case 20: PostMessageA(GetForegroundWindow(), WM_COMMAND, 33020, (string)0); return; //Переключение кнопки советника | case 21: PostMessageA(GetForegroundWindow(), WM_COMMAND, 35429, (string)0); return; //Окно логина и пароля | case 22: PostMessageA(GetForegroundWindow(), WM_COMMAND, 37400, (string)0); return; //Пересканировать сервера | case 23: PostMessageA(GetForegroundWindow(), WM_COMMAND, 35403, (string)0); return; //Глобальные переменные | case 24: PostMessageA(GetForegroundWindow(), WM_COMMAND, 35419, (string)0); return; //Список индикаторов | case 25: PostMessageA(GetForegroundWindow(), WM_COMMAND, 33265, (string)0); return; //Открывает окно настройки | case 26: PostMessageA(GetForegroundWindow(), WM_COMMAND, 33262, (string)0); return; //Архив катировак | case 27: PostMessageA(GetForegroundWindow(), WM_COMMAND, 33309, (string)0); return; //Обзор рынка | case 28: PostMessageA(GetForegroundWindow(), WM_COMMAND, 33310, (string)0); return; //Навигатор | case 29: PostMessageA(GetForegroundWindow(), WM_COMMAND, 33314, (string)0); return; //Терминал | case 30: PostMessageA(GetForegroundWindow(), WM_COMMAND, 33315, (string)0); return; //Тестер стратегий | } }我纠正了以前的帖子,以便在不替换WinUser32.mqh的情况下工作。 附加的文件: winuser32.mqh 71 kb Mihail Marchukajtes 2015.10.07 08:44 #9448 向大家问好...我知道问题是这样的。当我编译代码时,变量d的值为110,指标显示一切正常,但随着新条形 的到来,变量变成109,因此,它完全搞砸了所有的指标读数。我已经搞砸了.....什么他妈的????int start() { int limit,Val,Oi; drawonce(); //limit=Bars; if (b!=Bars){ b=Bars; datetime ldt_BeginDay = iTime (NULL, PERIOD_D1,Q); int li_Bar = iBarShift (NULL, 0, ldt_BeginDay); d=0; for(int i=li_Bar-10; i>=0; i--){ if (curDay!=TimeDay(Time[i])) { curDay=TimeDay(Time[i]); OOO=iClose(NULL,PERIOD_D1,Q-d+1)-iOpen(NULL,PERIOD_D1,Q-d+1); if (volarr[Q-d]!=0) Val=volarr[Q-d]-volarr[Q-d+1]; if (oiarr[Q-d]!=0) Oi=oiarr[Q-d]-oiarr[Q-d+1]; d++; } Buffer1[i]=Val; Buffer2[i]=Oi; Buffer3[i]=OOO; } } WindowRedraw(); Comment(Q," ",d); return(0); } 为什么在编译过程中,一个值是可变的,但随着一个新条形的到来,这个变量会改变????? Mihail Marchukajtes 2015.10.07 14:43 #9449 那么.....,在我的案例中,即使是没有强大的专业人员????。 Mihail Marchukajtes 2015.10.07 16:59 #9450 有谁能解释一下编译和新bar???? 的区别? 1...938939940941942943944945946947948949950951952...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我需要IMA技术指标的INITIAL CODE ,该指标在MetaTrader4终端的 "指标->趋势->移动平均线 "标签下被调用。
现在更清楚了吗?
为什么要重新发明车轮?
让它像OsMA或任何其他代码一样。
还是你断然不相信Metaquotes?
大家好。我在第943页发布了一个关于*dll库的工作描述和例子的脚本。我想明白了一点,为什么这个脚本不工作了。
1.在这种情况下不需要#include<WinUser32.mqh>。
2.条件分别为 if(lastkey != 0)Alert("lastkey=",lastkey); 稳定地正确输出所按按键的代码。如果你做一个延迟,它是如何工作的,这是毫无疑问的。
3.条件分别为 if(lastmouse != 0) Alert("lastmouse=",lastmouse); 稳定地输出512,即使鼠标没有移动。冒出其他数字的情况非常罕见
作为对点击鼠标按钮的回应。
4. if(lastwnd != 0) Alert("lastwnd=",lastwnd); 返回一个空字符串,很可能是因为库是旧的,不是Unicode。
在帮助中看到,编辑器可以使用*dll库,只需将其拖放到编辑器窗口中。它打不开。
问题。谁能帮助纠正 "IdleLib.dll "或更好的钱。如果某个地方有这个主题(和其他*dll),请显示链接。
请告知如何在EA中规定(在某一事件后)禁止自动交易,即通过程序设置终端自动交易 的按钮来禁止自动 交易。我试图调用常量ACCOUNT_TRADE_ALLOWED,并将其值改为false,但编译器说这不会有任何效果(ACCOUNT_TRADE_ALLOWED == false; //表达式没有效果)。
这个任务(禁止EA交易)很容易用信号(true/false.... 允许/不允许交易)来解决。
还是按 "自动交易 "按钮很重要?
这个任务(禁止EA交易)很容易用信号(true/false.... 允许/不允许交易)来解决。
还是按 "自动交易 "按钮有那么重要?
如果我不能禁用整个终端的自动交易,那么我当然会这样做。问题是,我有几个专家顾问在我的终端上运行,而我
我想用一个单独的EA来监控Equity,并在紧急情况下同时关闭所有EA的自动交易功能,例如,当Aquity减少50%时。
如果我不能禁止整个终端的自动交易,我一定会这样做。问题是,我有几个专家顾问在我的终端上运行,而我
我想用一个EA来监控账户利润,并在紧急情况下同时关闭所有EA的自动交易功能,例如,当账户利润下降50%时。
我还没有检查过它。你必须用附件中的WinUser32.mqh替换,才能使其发挥作用。
现在检查了一下,可以使用。下面是一些更多的噱头
我纠正了以前的帖子,以便在不替换WinUser32.mqh的情况下工作。
向大家问好...我知道问题是这样的。当我编译代码时,变量d的值为110,指标显示一切正常,但随着新条形 的到来,变量变成109,因此,它完全搞砸了所有的指标读数。我已经搞砸了.....什么他妈的????
为什么在编译过程中,一个值是可变的,但随着一个新条形的到来,这个变量会改变?????