[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 457

 
vasili:
尊敬的专家,请帮助。
我无法处理自动保存模板的问题。
它不会在保存窗口中插入文件名。
以下是代码。

具有开箱即用的MT4控制功能的

//===========================================================================================
// 4.4.用于设置图表模板的函数。
//===========================================================================================
// 4.4.1 该函数通过模板列表中的模板名称在指定的图表上设置指定的模板。
void ServiceSetTemplateByName(int hwndChart, // 图表窗口的系统描述符,模板被载入其中。
string sNameTemplate); // 模板列表中的模板名称。
//===========================================================================================
// 4.4.2 该函数按模板列表中的编号在指定的图表上设置指定的模板。如果成功,该函数返回TRUE,否则返回FALSE。
bool ServiceSetTemplateByNumber(int hwndChart, // System descriptor of the chart window, where the template is loaded.
int nTemplate); // 模板列表中的模板编号。模板在列表中按名称排序。模板的数量被限制在64个。

最近测试了它。它是有效的。

 
7777877:
右键点击笑脸(在客户终端窗口的右上角)->顾问->删除

以及如何以编程方式,在代码的帮助下做到这一点。专家顾问是否履行了它的功能,并倒下了?
 
Elektronik:

你如何以编程方式,在代码的帮助下做到这一点?专家顾问是否执行了它的功能,然后就停机了?
https://www.mql5.com/ru/forum/110207
PostMessageA(WindowHandle(Symbol(),Period()), WM_COMMAND, 33050, 0);
 
Elektronik:

以及如何以编程方式进行,使用代码。专家顾问执行了它的功能,然后就关闭了?

同样的,有MT4准备好的控制功能。

//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// 7.mql4计划管理功能。
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// 7.1.该函数从指定的图表中删除了一个专家顾问。如果成功,该函数返回TRUE,否则返回FALSE。
bool ServiceDeleteExpert(int hwndChart); // 图表窗口的系统描述符,它被Expert Advisor删除。
//======================================================================================
// 7.2.FUNCTION从加载的指标列表中按名称删除指标。
void ServiceDeleteIndicatorsByName(int hwndChart, // System descriptor of the window, where the indicator is attached.
int nWindow, // 要删除指标的子窗口数量。如果是-1,所有子窗口的指标都被删除。
string &asIndicatorName[], // 一维数组,包含要删除的指标名称。
int nNumberName); // 数组中指标名称的数量。
//======================================================================================
// 7.3.该函数从指定的图表中删除脚本。如果成功,该函数返回TRUE,否则返回FALSE。
bool ServiceDeleteScript(int hwndChart); // 图表窗口的系统描述符,要删除的脚本。
//======================================================================================
// 7.4.该函数控制脚本关机对话框,如果该窗口存在,则返回脚本关机对话框的系统描述符。
//否则 - NULL。该脚本只适用于俄语和英语的本地化。
int ServiceDialogScript(int bInstruction); // 脚本关闭对话窗口的命令:TRUE - 关闭脚本,FALSE - 不关闭脚本。
//======================================================================================
// 7.5.该函数从上传的指标列表中获取指标名称。
// 如果成功,该函数使用 "nWindow "参数返回指定子窗口中的指标数量,否则返回0。
int ServiceGetNamesIndicators(int hwndChart, // System descriptor of the window, the indicator is attached to.
int nWindow, // 子图的编号。如果是-1,我们从所有子窗口读取指标名称。
string &asIndicatorName[], // 一维字符串数组,用于显示指标名称。
// 数组必须在每个单元格中以不同的值进行初始化!
这是//MQL4中字符串数组初始化的一个特殊性。
int nNumberName); // 数组大小 "asIndicatorName[]"来接收指标名称。
//======================================================================================
// 7.6.该函数调用指标列表窗口。
bool ServiceListIndicators(int hwndChart); // 图表窗口的系统描述符,在此基础上调用指标列表的窗口。
//======================================================================================
// 7.7.该函数按名称向指定的图表加载一个自定义指标。
void ServiceLoadCustomIndicator(int hwndChart, // 图表窗口的系统描述符,指标被载入其中。
string szNameIndicator, // 加载指标的名称。
int bOK); // 确认指标的启动,如果指标属性的对话窗口存在。
// TRUE - 允许自动点击 "OK "按钮,FALSE - 禁止自动点击 "OK "按钮。
//======================================================================================
// 7.8.该函数将专家顾问加载到按其名称指定的图表上。
void ServiceLoadExpert(int hwndChart, // 图表窗口的系统描述符,专家在此被加载。
string szNameExpert, // 要加载的专家顾问的名称。
int bOK); // 确认专家顾问的启动,如果专家顾问属性对话框可用。
// TRUE - "OK "按钮被启用,FALSE - "OK "按钮被禁用。
//======================================================================================
// 7.9.该函数按其名称向指定的图表加载脚本。
void ServiceLoadScript(int hwndChart, // 图表窗口的系统描述符,脚本被载入其中。
string szNameScript, // 加载脚本的名称。
int bOK); // 脚本启动确认,如果脚本属性对话框存在的话。脚本可能没有一个属性对话框!
// 当使用函数从当前图表上的脚本中加载脚本时,参数不工作,因为
// 在一个图表上不可能同时运行两个脚本。
// TRUE - "OK "按钮的自动点击被启用,FALSE - "OK "按钮的自动点击被禁用。
//======================================================================================
// 7.10. 该函数按其名称向指定的图表加载一个标准指标。
void ServiceLoadStdIndicator(int hwndChart, // 图表窗口的系统描述符,指标被载入其中。
string szNameIndicator, // 加载指标的名称。
int bOK); // 如果有指标属性的对话窗口,则确认指标开始。
// TRUE - 允许自动点击 "OK "按钮,FALSE - 禁止自动点击 "OK "按钮。
//======================================================================================
// 7.11. 该函数调用了专家属性的菜单。如果成功,该函数返回TRUE,否则--FALSE。
bool ServicePropertiesExpert(int hwndChart); // 图表窗口的系统描述符,在此基础上调用专家的属性菜单。
//=======================================================================================
// 7.12. 通过操作专家顾问按钮来启用/停用专家顾问的功能。
void ServiceSetExperts()。

 
Elektronik:

你如何以编程方式,在代码的帮助下做到这一点?专家顾问执行其功能,然后崩溃了?

常见问题
https://www.mql5.com/ru/forum/110207
PostMessageA(WindowHandle(Symbol(),Period()), WM_COMMAND, 33050, 0);

我不同意。不需要超越mql,不需要将EA从图表中删除。 在EA的代码中规定这一点,以编程方式阻止交易就足够了。

 
granit77:

我不同意。没有必要超越mql,也没有必要将EA从图表中删除。 只要在EA代码中规定这一点,以编程方式阻止交易即可。


让我不同意你的观点(看完)。

 
granit77:

我不同意。没有必要超越mql,也没有必要将EA从图表中删除。 只要在EA代码中规定这一点,以编程方式阻止交易即可。

是的,这是正确的!唯一的例外是用于远程管理。
 

你知道吗,请告知,在顾问中有一个代码部分,有必要知道在新的蜡烛 开盘时两对蜡烛的前一个蜡烛是如何收盘的,一切都很正常,但如果在那一刻,两对蜡烛上有刻度,顾问在主对上,没有任何问题,但如果随着新蜡烛开始的第二对没有刻度,来自它的值就不会更新,从它那里接收数据,不是来自前一个蜡烛,而是来自前一天。

{//1
if (iClose(SignalSimbol,PERIOD_H1,1) > iOpen(SignalSimbol,PERIOD_H1,1)) svcolor1 = 1; // бычья свеча
if (iClose(SignalSimbol,PERIOD_H1,1) < iOpen(SignalSimbol,PERIOD_H1,1)) svcolor1 = 2; // медвежья свеча
if (iClose(SignalSimbol,PERIOD_H1,1) == iOpen(SignalSimbol,PERIOD_H1,1)) svcolor1 = 3; // додж
if (iClose(TradeSimbol,PERIOD_H1,1) > iOpen(TradeSimbol,PERIOD_H1,1)) svcolor2 = 1; // бычья свеча
if (iClose(TradeSimbol,PERIOD_H1,1) < iOpen(TradeSimbol,PERIOD_H1,1)) svcolor2 = 2; // медвежья свеча
if (iClose(TradeSimbol,PERIOD_H1,1) == iOpen(TradeSimbol,PERIOD_H1,1)) svcolor2 = 3; // додж
spread =  MarketInfo(TradeSimbol,MODE_SPREAD);
TimeBar_t = (TimeCurrent()-Time[0])/60; // время в минутах с открытия свечи
RefreshRates ();
}//1 
 
Zhunko:

具有开箱即用的MT4控制功能的

最近测试了它。它是有效的。

谢谢你。
 
vasili:
亲爱的专家,请帮助。
我无法克服自动保存模板的问题。
它不会在保存窗口中插入文件名。
以下是代码。
这个问题很有现实意义。