admin管理员组文章数量:1536400
2024年7月15日发(作者:)
//.删除所有挂件
int start()
{
ObjectsDeleteAll(0);
return(0);
}
################################################
//全部平仓
int start()
{
int cnt, total;
total=OrdersTotal();
for(cnt=total-1;cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,CLR_NONE);
}
if(OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,CLR_NONE);
}
}
return(0);
}
########################################
//删除所有挂单
#include <>
#include <>
int start()
{
if (IsTradeAllowed()==false) { Alert("自动交易功能未打开,请在选项中设置。");
return; }
if(MessageBox("是否要删除所有挂单? ", "删除挂单",
MB_YESNO|MB_ICONQUESTION) != IDYES) return;//
int total=OrdersTotal();
for(int i=total-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ==false) continue;
if(OrderType() < 2) continue;
while(true)
{
if( OrderDelete(OrderTicket()) !=TRUE ) Print("LastError
ErrorDescription(GetLastError()));
else break;
}
}
return;
}
#########################################
//取消所有单子
int start()
{
", =
bool result;
double price;
int cmd,error;
while(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
cmd=OrderType();
//---- first order is buy or sell
if(cmd==OP_BUY || cmd==OP_SELL)
{
while(true)
{
if(cmd==OP_BUY) price=Bid;
else price=Ask;
result=OrderClose(OrderTicket(),OrderLots(),price,3,CLR_NONE);
if(result!=TRUE) { error=GetLastError(); Print("LastError = ",error); }
else error=0;
if(error==135) RefreshRates();
else break;
}
}
}
Print( "单子全平 ! ");
return(0);
}
########################################
//------------定单操作函数版本1.3------------------------
//m取值0、1、2、3、4、5、6、7//0-5表示定单类型//6表示所有//也可以指定某
个定单号//7表示清理所有挂单
//1.0版本 0表示多单平仓、1表示空单平仓、2表示BUYLIMIT、3表示SELLLIMIT、
4表示BUYSTOP、5表示SELLSTOP
//1.1版本 继续1.0版本所有功能,加入6删除所有挂单,平仓所有成交定单
//1.2版本 继续1.1版本功能,加入7删除所有挂单
bool delwhat(int m)
{
bool trueorfalse;
if(m > 100000)
{
if(OrderSelect(m,SELECT_BY_TICKET,MODE_TRADES) == true)
{
if(OrderType() == 0)
{
trueorfalse = OrderClose(OrderTicket(),OrderLots(),Bid,maxslippages,Yellow);
//平仓操作
return(trueorfalse);
} else if(OrderType() == 1)
{
trueorfalse
OrderClose(OrderTicket(),OrderLots(),Ask,maxslippages,Yellow);//平仓操作
return(trueorfalse);
} else if(OrderType() > 1)
{
trueorfalse = OrderDelete(OrderTicket()); //删除挂单操作
return(trueorfalse);
}
=
}
else
{
Print("赋予删除函数的参数数值无效,请检查");
//MT_SpeechText("赋予删除函数的参数数值无效,请检查",1);
}
}
if (-1 < m < 8)
{
for(b=0;b<=OrdersTotal();b ) //循环建立一系列数字为序列号
{
if (OrderSelect(b,SELECT_BY_POS,MODE_TRADES) == false) break;//根据系列号
抓取定单,失败打断该操作
if(m == 0) //假如参数m的值为0,表示假如抓取的当前定单为buy单
{
if(OrderType()==0)
{
trueorfalse
OrderClose(OrderTicket(),OrderLots(),Bid,maxslippages,CLR_NONE); //平仓操作
return(trueorfalse);
} else {} //返回操作结果,成功为1,失败为0
} else if(m == 1) //抓取sell单
{
if(OrderType()==1)
{
trueorfalse
OrderClose(OrderTicket(),OrderLots(),Ask,maxslippages,CLR_NONE);//平仓操作
return(trueorfalse);
=
=
} else {}
//返回操作结果
} else if(m > 1 && m < 6 ) //抓取4种挂单
{
if(OrderType()>1 && OrderType() == m)
{
trueorfalse = OrderDelete(OrderTicket()); //删除挂单操作
return(trueorfalse);
} else {}
//返回操作结果
} else if(m == 6) //表示需要删除所有挂单,平仓所有多和空单
{
if(OrderType() == 0)
{
trueorfalse
OrderClose(OrderTicket(),OrderLots(),Bid,maxslippages,CLR_NONE);//平仓操作
return(trueorfalse); //返回操作结果
} else if (OrderType() == 1)
{
trueorfalse
OrderClose(OrderTicket(),OrderLots(),Ask,maxslippages,CLR_NONE);//平仓操作
return(trueorfalse); //返回操作结果
} else if(OrderType()>1)
{
trueorfalse = OrderDelete(OrderTicket()); //删除挂单操作
return(trueorfalse);
}
=
=
} else if(m == 7)
{
if(OrderType()>1)
{
trueorfalse = OrderDelete(OrderTicket()); //删除挂单操作
return(trueorfalse);
} else {}
}
版权声明:本文标题:mt4实用脚本 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1721051564a858203.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论