但在策略测试器中的工作并没有进行,在函数int init, int start, int deinit中放入了测试ALERTS。我在响应中看到,控制权从Terminal传给了int init函数,而控制权没有传给int start函数--没有响应ALERT。当EA被卸载时,有一个来自int deinit函数的响应。
但在策略测试器中的工作并没有进行,在函数int init, int start, int deinit中放入了测试ALERTS。我在响应中看到,控制权从Terminal传给了int init函数,而控制权没有传给int start函数--没有响应ALERT。当EA被卸载时,有一个来自int deinit函数的响应。
我如何创建一个函数并调用它?
artemida70,用S.Kovalev的教程组装了我的第一个EA。事实证明,其批判性功能的工作是有损失的。编写了我的标准函数。检查了它的错误,然后编译了专家顾问。作为工作的结果,我得到了。
- 关于标准函数:O-错误,1个警告。
-对于专家顾问的编译:О-错误,О-警告。
但在策略测试器中的工作并没有进行,在函数int init, int start, int deinit中放入了测试ALERTS。我在响应中看到,控制权从Terminal传给了int init函数,而控制权没有传给int start函数--没有响应ALERT。当EA被卸载时,有一个来自int deinit函数的响应。
请您对这种情况提出建议。非常需要有经验的专业人士的建议。
谢谢你
阅读教程...:)
这里你有一个奇怪的结构。你正在做终端的标准订单循环。从零到OrdersTotal() -1。然后你在循环中检查终端是否完全没有订单。你为什么不检查订单的票呢?或者魔力?而你的旗帜由于某种原因=0。而为什么不假呢?然而,你是老板。你的逻辑,你必须了解它...:)
谢谢你的提示))))。正是在这一点上:。从零到OrdersTotal()-1...这就是测试者没有继续下订单的原因))))。
我使用这个方案是因为我从别人的课上学到了这个方案。如果你能描述一个更合理的方法,我将非常感激))))
我被坑了,我已经快一个月没有走出mql4了,我想我是要疯了还是怎么了?
我不知道我想用它来做什么。
我把它放在那里,至少给我一个提示,什么是错的? 大师们,请帮助傻瓜们!。
extern double TakeProfit=50.
0;
extern double Lots=1;
extern int total;
int start()
{
double Price_1, Price_2, min, max;
RefreshRates();
Price_1=Bid;
Price_2=Ask;
min=iLow(NULL, 0,2);
max=iHigh(NULL, 0,2);
total=OrdersTotal();
if(total<1)
{ if(Price_1>)max)
OrderSend(Symbol(,OP_BUY,Lots,Ask,5,Bid-StopLoss*Point,Ask+TakeProfit*Point, "My order#",16384,0,Green);
if(Price_2<min)
OrderSend(Symbol(,OP_SELL,Lots,Bid,5,Ask+StopLoss*Point,Bid-TakeProfit*Point, "My order#",16384,0,Green);
}
}
return(0);
artemida70,用S.Kovalev的教程组装了我的第一个EA。事实证明,其批判性功能的工作是有损失的。编写了我的标准函数。检查了它的错误,然后编译了专家顾问。作为工作的结果,我得到了。
- 关于标准函数:O-错误,1个警告。
-对于专家顾问的编译:О-错误,О-警告。
但在策略测试器中的工作并没有进行,在函数int init, int start, int deinit中放入了测试ALERTS。我在响应中看到,控制权从Terminal传给了int init函数,而控制权没有传给int start函数--没有响应ALERT。当EA被卸载时,有一个来自int deinit函数的响应。
请您对这种情况提出建议。非常需要有经验的专业人士的建议。
谢谢你
我不明白这意味着什么--IC的标准功能对损失起作用。毕竟,任何功能,如果它跟踪开放标准,可能正确地工作或不正确地工作,因此它可能有错误。但策略本身--它可以是亏损的,也可以是盈利的。标准功能只跟踪策略所设定的标准,并向交易功能 发送信号。
谢谢你的提示))))。正是在这一点上:。从零到OrdersTotal() -1...这就是测试者没有继续下订单的原因))))。
我使用这个方案是因为我从别人的课上学到了这个方案。如果你能描述一个更合理的方法,我会非常感激))))。
有很多方法。一切都取决于你想找到什么。
在任何情况下,你都可以开始在订单中循环使用
for (int i =0; i<OrdersTotal(); i++)
然后准确检查你想在循环中找到的东西。
if (OrderSelect(i, SELECT_BY_POS) // 如果订单被选中(这里,我省略了MODE_TRADES函数参数,因为它是默认选中的)。
然后--你已经检查了你需要的订单参数,例如,Magik
if (OrderMagicNumber()==Magic) // 如果订单有给定的魔法号码,那么。那么这就是我们需要的顺序......
嗯...或其类型...
if (OrderType()==OP_BUY || OrderType()==OP_SELL) // 如果订单类型是 买入或卖出...
等。
虽然,我们可以用完全不同的方式来做......这一切都取决于你的习惯,也取决于代码的要求...
大家好!我的专家顾问中有以下代码(见下文)。按照我的理解,开仓 的信号来自两个指数的指标。我们怎样才能使订单只基于一个指标开仓,比如说CCI?非常感谢你。
帮助,EA在达到利润时没有关闭所有订单