int start()
{
double Price=iOpen (Symbol (),0,0); int last_order_bar = 0;
int ot = OrdersTotal();
if (ot>0) //если есть ордера в рынке
{
if (OrderSelect (ot-1,SELECT_BY_POS))
if (OrderType ()==OP_BUY || OrderType ()==OP_SELL )
last_order_bar = iBarShift (Symbol (),0,OrderOpenTime ());
}
int last_hist_order_bar = 0;
int oht = OrdersHistoryTotal();
if (oht>0)
{
if (OrderSelect (oht-1,SELECT_BY_POS, MODE_HISTORY))
if (OrderType ()==OP_BUY || OrderType ()==OP_SELL)
last_hist_order_bar = iBarShift (Symbol (),0,OrderOpenTime ());
}
if (ot==0 || last_order_bar>0) if (oht==0 || last_hist_order_bar>0)
//===============================================================if(Bid==Price)if((Minute( ) ==45)&&(Minute( ) <50))
int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-1500*Point,Bid+150*Point,"jfh",123 );
}
return;
它起作用了!说实话,我有这个想法,用OR代替AND....,但...:)))))))))))))))))))))
谢谢!现在我明白了这个逻辑,虽然要计算15个关闭的,我必须把代码吹到气球大小!我想这是一个很好的办法。
能否将所有这些都压缩到一个循环中? 并且只用所需的N个交易数量的参数来代替?
这里是搜索N个最近关闭的订单的可能方式之一,寻找的订单可以通过类型(买入,卖出)和盈利能力(亏损,盈利)进行过滤。
在调用 fGet_TicketsLastCloseOrd()函数 并返回根据指定参数找到的票数后,你可以(我会这样做)用指定的票数(fi_NUM)和函数返回的值进行检查。所有收集到的票据将在数组中通过引用传递给函数。
而在这个变体中,搜索到多少张最后的门票并不重要。:)
而如果你需要通过这些最后关闭的订单获得利润,那就更容易了。
这里是搜索最后关闭订单的N张票的可能方式之一,你可以通过类型(买入,卖出)和盈利能力(亏损,盈利)来过滤订单。
在调用fGet_TicketsLastCloseOrd()函数并返回根据指定参数找到的票数后,你可以(我会这样做)用指定的票数(fi_NUM)和函数返回的值进行检查。所有收集到的票据将在数组中通过引用传递给函数。
而在这个变体中,搜索到多少张最后的门票并不重要。:)
而如果你需要通过这些最后关闭的订单获得利润,那就更容易了。
非常感谢,我先休息一下,我需要弄清楚什么是...
你好,请帮我解决这个问题:我想用一个指标来显示欧元币值、美元指数和欧元指数,但它们的数值相差好几阶。我怎样才能使它们的价值达到相同的顺序?我认为增加乘法器是不可行的...
将所有指标的最小值和最大值设置为相同的值
您好,我给专家的建议:我写了一个指标,我想在我的EA中使用这个信号。指示器功能和转移的指示器,哪一个会工作得更快?
谢谢
将所有指标的最小值和最大值设置为相同
哪些人...我希望所有这些都能通过一个指标显示出来,用于3个垂线缓冲区。
tommy27:
你如何使它们达到相同顺序的价值?
规模应该是一样的
是的,为了做到这一点,在像这样显示之前,转换所有三个缓冲区的数值是有意义的。
Xn=(X-Xmin)/(Xmax-Xmin)。
如果你直截了当地这样做,你得到的东西看起来像一条水平线。
好吧,如果你使用MQ的缩放比例,你就可以了。
如果它真的发生了,也不会很快发生,也许永远不会。
谢谢你的答复。
但我在其他代码中使用同样的可疑比较已经有很长一段时间了。
而且它成功地发挥作用。
我不明白为什么这个条件在最后一种情况下不起作用。我没有看到这些代码之间有任何根本性的差异。