[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 48

 
orlovkem >> :

也许评论是错误的,但本质是真实的,价格水平高于指标值,应该买入,但应该只做一次,只要存款里有钱,EA就会买。你只需要限制交易的数量。要想一次不超过一个,那是不行的。

在当前的条形图和上一个条形图上做检查,那么信号将是一个。

只在交叉路口。

也就是说,如果在当前条形图上的指标较高,而在前一个条形图上的指标较低。

它意味着买入,而且对于信号来说只有一次买入。

 
orlovkem >> :

也许我写得不对,但本质上是正确的,价格水平已经高于指标值,我需要买入,它就会买入,但我需要做一次,只要存款上有钱,EA就会买入。你只需要限制交易的数量。要想一次不超过一个,那是不行的。

你确定顾问在买入(卖出)吗?你试过吗?从代码来看,根本不应该有一笔交易,而不是说 "只要存款里有钱,它就买"。还是你没有写代码?

 
xeon >> :

控制同时开仓的订单数量的最简单方法

有一点不同--订单不是平行打开的,只是在关闭一个订单后,另一个订单在同一方向打开(在这一点上,交易已经用尽了它的力量,我处于亏损状态)。

((

 
VladislavVG >> :

你确定顾问在买入(卖出)吗?你试过吗?从代码来看,根本不应该有一笔交易,而不是说 "只要有存款,它就买"。还是你没有写代码?


我写了代码,它买入和卖出。在策略测试器上试了一下。

 
satop >> :

在当前的条形图和上一个条形图上做检查,那么信号将是一个。

只有当它越过时才会出现。

也就是说,如果该指标在当前柱状体上较高,而在前一个柱状体上较低的话

它意味着买入,而且对于信号来说只有一次买入。

谢谢你的提示,我想我明白了对我的要求。我将尝试一下。再次感谢。

 
xruss >> :

略有错误 - 订单不是平行打开的,只是在关闭一个订单后,另一个订单在同一方向打开(在这一点上,交易已经用尽其力量,我处于亏损状态)。

((

而如果你把整个片段发给我们,负责选择最后的订单和检查它的条件,我们就会理解它。以这种方式提出一些建议是很困难的。另外,在信号发出后,在开仓的同时,你可以设置一个标志,禁止接下来的这种类型的交易,并在开仓的区块中检查其是否存在。如果旗帜升起 - 交易被跳过。在收到相反的信号时,该标志被移除,但在第一次成功开仓后,新的标志被设置--禁止该类型的开仓交易,因为收到了新的信号。以此类推。

 
orlovkem >> :

我已经写好了代码,它既能买入也能卖出。我在策略测试器上试了一下。

所以,这不是你在前一页发布的代码。这个代码什么都不买,什么都不卖。如果你不相信我,你可以复制它,并在测试器中运行它。

例如,对我来说,很明显没有一对数字能同时满足a>=b和a<b的条件。从你的专家来看,不仅对你来说不明显,而且对你来说,这种数字的存在是明显的。当然,我可能是错的--那么请你,如果不难的话,给我一个这样一对数字的例子。只有在这种情况下,才会使用你的算法下达买入订单。卖出也是如此。

>> 好运。

 
Everlost писал(а)>>

如果你能发布整个片段,负责选择最后一个订单和检查它的条件,我们可以解决这个问题。以这种方式提出一些建议是很困难的。另外,在信号发出后,在开仓的同时,你可以设置一个标志,禁止接下来的这种类型的交易,并在开仓的区块中检查其是否存在。如果旗帜升起 - 交易被跳过。在收到相反的信号时,该标志被移除,但在第一次成功开仓后,新的标志被设置--禁止该类型的开仓交易,因为收到了新的信号。以此类推。

我稍后会展示一下,但在我看来,这些标志会更酷。 如何通过mql4设置它们?

以下是我的代码。

//Учет ордеров истории
int ORDtype=-1;
double ORDprofit=0.001;
for( i=OrdersHistoryTotal(); i>=0; i--)
{
if(OrderSelect( i, SELECT_BY_POS, MODE_HISTORY))
 {
  if(OrderSymbol()==Symbol())
  {
   if(OrderCloseTime()!=0)
   {
     ORDtype=OrderType();
     ORDprofit=OrderProfit();
   }
  }
 }
}    

....

if (( ORDtype==OP_SELL)||( ORDtype==-1)&&(( ORDprofit<=0)||( ORDprofit==0.001))...
{
...
}
if (( ORDtype==OP_BUY)||( ORDtype==-1)&&(( ORDprofit<=0)||( ORDprofit==0.001))...
{
...
}
 

我想让专家从6点到20点在经纪商那里不工作,在它关闭前检查并等待它关闭。 一切都在工作,但我希望能在专家停止交易时添加交易结束的提醒。

if(TimeHour(TimeCurrent()) > 6 && TimeHour(TimeCurrent()) < 20 && Worktime == true)
{
if (OrdersTotal() == 0)
Alert("Торговля закончена");
return(0);
}

它开始在每一次嘀嗒 声中发出哔哔声。在这种情况下,警报不仅会被击中一次,而且周期也会被切断。请告诉我该走哪条路,我想不出来......

 
Dimoncheg >> :

我想让专家从6点到20点在经纪商那里不工作,在它关闭前检查并等待它关闭。 一切都在工作,但我希望能在专家停止交易时添加交易结束的提醒。

if(TimeHour(TimeCurrent()) > 6 && TimeHour(TimeCurrent()) < 20 && Worktime == true)
{
if (OrdersTotal() == 0)
Alert("Торговля закончена");
return(0);
}

它开始在每一次嘀嗒声中发出哔哔声。在这种情况下,警报不仅会被击中一次,而且周期也会被切断。请告诉我该走哪条路,我就是想不明白......

其中一个选项。

if(TimeHour(TimeCurrent()) > 6 && TimeHour(TimeCurrent()) < 20 && Worktime == true)
   {
   if (OrdersTotal() == 0)
   if( NeedAlert){ Alert("Торговля закончена"); NeedAlert=false;}
   return(0);
   }
当你开始交易时,将bool变量NeedAlert设置为true。
原因: