//+------------------------------------------------------------------+#include <WinUser32.mqh>#import "user32.dll"//+------------------------------------------------------------------+//| script program start function |//+------------------------------------------------------------------+int start()
{
//----int result = MessageBox("Are you ok?", "Caption",MB_YESNO|MB_ICONQUESTION);
if(result != IDYES) Alert("Кнопка да не нажата");
//----return(0);
}
//+------------------------------------------------------------------+
但在使用无文件记录的MessageBoxTimeoutA() 函数时,它完全失败。
//+------------------------------------------------------------------+#include <WinUser32.mqh>#import "user32.dll"//+------------------------------------------------------------------+//| script program start function |//+------------------------------------------------------------------+int start()
{
//----int result = MessageBoxTimeoutA(0, "Are you ok?", "Caption",MB_YESNO|MB_ICONQUESTION, 0, 10000);
if(result != IDYES) Alert("Кнопка да не нажата");
//----return(0);
}
//+------------------------------------------------------------------+
http://www.soft-sib.ru/articles/programs/10/
与文件服务器方法相比,使用DBMS和客户-服务器架构的另一个优势是可以使用事务性数据操作机制。这项服务由数据服务器提供,允许将几个数据修改动作合并为一个不可分割的操作 (事务)。交易的使用确保了对信息的可靠保护,使IS的客户端和服务器端都不会出现硬件和软件故障。
手册和教程指出了连接到服务器的必要性(为EA、脚本、指标)。
是否可以在不连接服务器的情况下调用特殊功能(原则上)?
是的,它是。事实上,服务器是需要接收启动start()函数的tick。
start()- 主函数。它是在收到下一个tick后的专家处被调用。对于自定义指标,在将指标附加到图表上后的重新计算过程中,在客户终端打开时(如果指标附加到图表上),以及在下一个tick出现后,都会调用该指标。在脚本中,它在附加到图表和初始化后立即执行。如果模块中没有start()函数,这个模块(专家顾问、脚本或自定义指标)就不能被启动。
脚本可以无限循环运行,因此它不需要刻度,指标和专家顾问需要刻度(在标准配置中(因为专家顾问也可以无限循环运行))。
但虱子可以是人为造成的--用VINAPI。此外,还有策略测试器 这样的标准功能(也能生成ticks)。
你只需要动动脑子,在网站(论坛)上搜索。
而不是把文件服务器技术的优点或缺点带进来。
你好,我有这样的代码,检查是否有订单,如果我有一个未结订单,那么再检查一次,以此类推,直到订单达到0。 但专家显然忽略了这个代码,开出了无限多的订单,请告知错误在哪里?
int FunctionBUYnext()
{
int b=OrdersTotal()。
如果(b>0)
{FunctionBUYnext();}
否则 {FunctionSell();}
}
有必要使用iCustom函数在交易专家顾问中画一条线。
我用ZigZag作为测试。
由于iCustom在我的案例中的目的只是为了画一条线(指标 数据不用于专家顾问),我决定将代码放在deinit()中。但它在那里不起作用,什么也没画出来。
在start()中,一切都很正常。
1.为什么它在deinit()中不起作用?
2.在测试和优化
,你需要避免无意义地运行上述代码(避免浪费CPU时间),只让它在被测试的历史记录的最后一栏上运行。
- 如何实现这一目标?
谢谢你!
代码是荒谬的。
为什么?所有的教诲
为什么?所有为什么?
这很奇怪,你是如何被教导...
你的 "代码 "主体中的函数在哪里被调用?
这个 "代码 "本身也很有趣...
使用对自己的调用...为什么不在没有订单时直接退出FunctionBUYnext()?
更进一步--没有检查订单类型,没有检查符号和魔法。
我想把你的 "老师 "送到架子上......。
面对一个问题...
该脚本与MessageBox()函数以这种形式工作
但在使用无文件记录的MessageBoxTimeoutA() 函数时,它完全失败。
即使是带有是/否按钮的信息窗口也不会出现。
谁遇到的--告诉我狗被埋在哪里?
这很奇怪,你是如何被教导...
你的 "代码 "主体中的函数在哪里被调用?
这个 "代码 "本身也很有趣...
使用对自己的调用...为什么不在没有订单时直接退出FunctionBUYnext()?
更进一步--没有检查订单类型,没有检查符号和魔力。
我想把你的 "老师 "送到架子上......。
我解释的意思,调用本身,因为你需要在这部分的检查,如果你做一个提款,它会再次返回到执行开始,我不需要它,符号和魔术师不考虑,我的老师互联网))))。如果不难,请给我发一些类似的东西,但要有效果,主要的想法是--不要让人知道是否有订单,如果没有就跳到一个特定的功能。
我解释的意思,调用本身,因为我们需要一个检查在这一部分,如果你退出它将再次返回到执行开始,我不需要它,符号和魔术师不考虑,我的老师互联网)))。如果你不介意发送类似的东西,但工作,主要的想法 - 不让如果订单,如果没有,然后跳到一个特定的功能。
哦,不要大喊大叫......。我认为你有CapsLock卡住了...字体大小 应该增加一倍,而且要加粗...
这只是一个...一个旁证。
现在让我向你解释一下。
我将解释一下这个问题。通过递归调用,你让你的EA准确地循环到这个部分......也就是说,如果有任何订单或市场头寸,EA应该挂起,什么也不做(只是挂起),直到你手动删除所有订单和关闭头寸?那么这样的自动交易有什么意义呢,如果EA没有你的干预就会挂在那里?
重新考虑你对EA逻辑的做法