//+------------------------------------------------------------------+
//| sweeper_order.mq4 |
//| Hugo |
//| |
//+------------------------------------------------------------------+
#property copyright "Hugo"
#property link "http://hugo-mt4.blogspot.tw/"
#property version "1.00"
int slippage = 0; //設定滑價價格
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart(){
// 當倉位不為0時反覆的做清倉
while(OrdersTotal()!=0){
for(int i=0;i < OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){ // 選中的訂單
int ticket=OrderTicket(); // 獲選中的訂單編號
string symbol=OrderSymbol(); //獲選中的貨幣稅
double lots=OrderLots(); //獲選中的手數
bool status = false; // 是否平倉或刪單成功
// 賣掉 BUY 單
if(OrderType()==OP_BUY){
status = OrderClose(ticket,lots,MarketInfo(symbol,MODE_BID),slippage,CLR_NONE);
}
// 買回 SELL 單
if(OrderType()==OP_SELL){
status = OrderClose(ticket,lots,MarketInfo(symbol,MODE_ASK),slippage,CLR_NONE);
}
// 刪除預掛單
if(OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP ||
OrderType()==OP_SELLLIMIT || OrderType()==OP_SELLSTOP){
status = OrderDelete(ticket);
}
// 檢查失敗原因,若為 4109 則停止 script
if(!status){
int code = GetLastError();
Print("*******************");
Print("error code ", code);
if (code==4109){ // 自動交易未打開
Print("EA not enable");
return 0;
}
}
}
}
}
return;
}
//+------------------------------------------------------------------+
MT4
2015年1月8日 星期四
MT4 自動交易 掃除所有倉位 Script
掃除目前所有倉位,
提供大家學習,
若有更好的方法及想法也歡迎批評指教
訂閱:
文章 (Atom)