空白 关闭所有_b(int Prosk){ string SMB=Symbol(); for (int i=OrdersTotal()-1;i>=0;i--) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { Alert("Error",GetLastError()," when order number is selected ",OrderTicket()," by pair ",Symbol()) 。 } 否则{ 如果(OrderSymbol()!=Symbol()){继续; } RefreshRates()。 如果(OrderType()==OP_BUY){ if(!OrderClose(OrderTicket(),OrderLots(),Bid,Prosk,CLR_NONE)){ 当关闭买入订单时,警告("错误",GetLastError(),",OrderTicket(),",Symbol())。 } } 如果(OrderType()==OP_SELL){ if(!OrderClose(OrderTicket(),OrderLots(),Ask,Prosk,CLR_NONE)){ Alert("Error",GetLastError(),{ when Sell order number is closed ",OrderTicket(),{ by pair ",Symbol())。 } } } } }
我将用我的方式来做,倒计时将是不同的。我总是从过去走到现在。但这是一个品味问题。事实上,有了正确的方法,这其实并不重要。
你好。
请帮助处理该页面。(56号文,58页)。
可能是太快了,你应该研究一下。:-)
那么你就会知道,你是按要价买入,按出价卖出。如果我们卖掉它们,它们的价格将低于它们的报价。
不,这与你写的正好相反。 当然,感谢你的关注。 我努力思考,这样那样地想出来,你错了。
总的来说,我看到问题不在Aks和Bids上,我也没有解决这个问题。
对不起,我也有我的。 在这里,我刚刚涌现的代码,它不工作。
//+------------------------------------------------------------------+
//|订单类型.mq4 |
//| Copyright © 2011, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp.
#属性链接 "http://www.metaquotes.net"
//+------------------------------------------------------------------+
//|专家初始化功能|
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|专家去初始化功能|
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|专家启动功能|
//+------------------------------------------------------------------+
double New_Time=0,razniza, r;int i=0,h=0,q=0,w=0,s=0,g=0。
int start()
{int M,Y;
//----
double ticket,Lots=0.2,fractal_u=Ask,TakeProfit=50,Points = MarketInfo (Symbol(), MODE_POINT);
//----
如果(i<10)
{
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,fractal_u+5*Points,3,0,fractal_u+5*Points+TakeProfit*Points,
"开仓",163899,0,Red);如果(New_Time==0){ New_Time = Time[0];}。Alert("New_Time",New_Time);i++; }
Alert("OrderTypeOP_BUYSTOP",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)。
OrderClose( ticket,Lots,Bid,5, 0 )。
如果(h<10)
{
ticket=OrderSend(Symbol(,OP_SELLSTOP,Lots,fractal_u-5*Points,3,0,fractal_u-5*Points+TakeProfit*Points,
"开仓",163899,0,Red);如果(New_Time==0){ New_Time = Time[0];}。Alert("New_Time",New_Time);h++; }
Alert("OrderTypeOP_SELLSTOP",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)。
OrderClose( ticket,Lots,Ask,5, 0 )。
如果(q<10)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Bid,3,0,5*Points+TakeProfit*Points,
"开仓",163899,0,Red);如果(New_Time==0){ New_Time = Time[0];}。Alert("New_Time",New_Time); q++; }
Alert("OrderTypeOP_BUY",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)。
OrderClose( ticket,Lots,Bid,5, 0 )。
如果(w<10)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Ask,3,0,5*Points+TakeProfit*Points,
"开仓",163899,0,Red);如果(New_Time==0){ New_Time = Time[0];}。Alert("New_Time",New_Time);w++; }
Alert("OrderTypeOP_SELL",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)。
OrderClose( ticket,Lots,Ask,5, 0 )。
如果(s<10)
{
ticket=OrderSend(Symbol(),OP_BUYLIMIT,Lots,fractal_u-5*Points,3,0,fractal_u-5*Points+TakeProfit*Points,
"开仓",163899,0,Red);如果(New_Time==0){ New_Time = Time[0];}。Alert("New_Time",New_Time); s++; }
Alert("OrderTypeOP_BUYLIMIT",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)。
OrderClose( ticket,Lots,Ask,5, 0 )。
如果(g<10)
{
ticket=OrderSend(Symbol(),OP_SELLLIMIT,Lots,fractal_u+5*Points,3,0,fractal_u+5*Points+TakeProfit*Points,
"开仓",163899,0,Red);如果(New_Time==0){ New_Time = Time[0];}。Alert("New_Time",New_Time);g++; }
Alert ("OrderTypeOP_SELLLIMIT",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)。
OrderClose( ticket, Lots, Bid, 5, 0 ) 。
//----
return(0);
}
//+------------------------------------------------------------------+
我做得相当快,我设置它的目的是为了获得订单类型的数值,它连续打开和关闭所有订单,我是说所有类型。我用指令检查了OrderClose,参数似乎被合理、正确地规定在它们的位置上。 他到底还需要什么?????
Alert("当前时间 日", iTime(NULL,PERIOD_D1,5))。
这给了我0,补充。
Alert("",GetLastError())。
给出了一个错误4054
我做错了什么?
请帮助。该代码应该删除所有货币对上的所有市场订单,但实际上它只删除了抛出EA的窗口上的订单。请帮助我找到这个错误。
空白 关闭所有_b(int Prosk){
string SMB=Symbol();
for (int i=OrdersTotal()-1;i>=0;i--) {
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
Alert("Error",GetLastError()," when order number is selected ",OrderTicket()," by pair ",Symbol()) 。
}
否则{
如果(OrderSymbol()!=Symbol()){继续; }
RefreshRates()。
如果(OrderType()==OP_BUY){
if(!OrderClose(OrderTicket(),OrderLots(),Bid,Prosk,CLR_NONE)){
当关闭买入订单时,警告("错误",GetLastError(),",OrderTicket(),",Symbol())。
}
}
如果(OrderType()==OP_SELL){
if(!OrderClose(OrderTicket(),OrderLots(),Ask,Prosk,CLR_NONE)){
Alert("Error",GetLastError(),{ when Sell order number is closed ",OrderTicket(),{ by pair ",Symbol())。
} } } } }
预先感谢你。
请帮助。该代码应该删除所有货币对上的所有市场订单,但实际上它只删除了抛出EA的窗口上的订单。请帮助我找到这个错误。
但你自己设置的约束:) )
如果(OrderSymbol()!=Symbol()){继续; }
但你自己设置的约束:) )
如果(OrderSymbol()!=Symbol()){继续; }
我同意 - 愚蠢的:))应该是怎样的?
我同意 - 愚蠢 :)))什么是正确的方式?
我已经把它删除了,但我的其他交易的订单无论如何都不会关闭。错误129(错误的价格)不断弹出
右边就会弹出。
你必须从MarketInfo函数中获取买入和卖出价
比如 - ask= MarketInfo(OrderSymbol(), MODE_ASK)。
并且不要忘了将其正常化
ask=NormalizeDouble(ask, MarketInfo(OrderSymbol(), MODE_DIGITS)