论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
查看:875回复:0
草龙
注册时间2004-12-17
[MT4-EA]CloseAll订单的各种方法集合
楼主发表于:2014-02-27 03:52只看该作者倒序浏览
1楼 电梯直达
电梯直达
CloseAll订单的各种方法集合//+------------------------------------------------------------------+ //| CloseAll.mq4 | //| CodersGuru | //| http://www.xpworx.com | //+------------------------------------------------------------------+ #property copyright "CodersGuru" #property link "http://www.xpworx.com" #property show_inputs extern int option = 0; //+------------------------------------------------------------------+ // Set this prameter to the type of clsoing you want: // 0- Close all (instant and pending orders) (Default) // 1- Close all instant orders // 2- Close all pending orders // 3- Close by the magic number // 4- Close by comment // 5- Close orders in profit // 6- Close orders in loss // 7- Close not today orders //+------------------------------------------------------------------+ extern int magic_number = 0; // set it if you'll use closing option 3 - closing by magic number extern string comment_text = ""; // set it if you'll use closing option 4 - closing by comment int start() { CloseAll(); return(0); } //+------------------------------------------------------------------+ int CloseAll() { int total = OrdersTotal(); int cnt = 0; RefreshRates(); switch (option) { case 0: for (cnt = 0 ; cnt <= total ; cnt++) { OrderSelect(0,SELECT_BY_POS,MODE_TRADES); if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Violet); if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Violet); if(OrderType()>OP_SELL) //pending orders OrderDelete(OrderTicket()); } break; case 1: for (cnt = 0 ; cnt <= total ; cnt++) { OrderSelect(0,SELECT_BY_POS,MODE_TRADES); if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Violet); if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Violet); } break; case 2: for (cnt = 0 ; cnt <= total ; cnt++) { OrderSelect(0,SELECT_BY_POS,MODE_TRADES); if(OrderType()>OP_SELL) OrderDelete(OrderTicket()); } break; case 3: for (cnt = 0 ; cnt <= total ; cnt++) { OrderSelect(0,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == magic_number) { if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Violet); if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Violet); if(OrderType()>OP_SELL) OrderDelete(OrderTicket()); } } break; case 4: for (cnt = 0 ; cnt <= total ; cnt++) { OrderSelect(0,SELECT_BY_POS,MODE_TRADES); if (OrderComment() == comment_text) { if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Violet); if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Violet); if(OrderType()>OP_SELL) OrderDelete(OrderTicket()); } } break; case 5: for (cnt = 0 ; cnt <= total ; cnt++) { OrderSelect(0,SELECT_BY_POS,MODE_TRADES); if (OrderProfit() > 0) { if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Violet); if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Violet); if(OrderType()>OP_SELL) OrderDelete(OrderTicket()); } } break; case 6: for (cnt = 0 ; cnt <= total ; cnt++) { OrderSelect(0,SELECT_BY_POS,MODE_TRADES); if (OrderProfit() < 0) { if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Violet); if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Violet); if(OrderType()>OP_SELL) OrderDelete(OrderTicket()); } } break; case 7: for (cnt = 0 ; cnt <= total ; cnt++) { OrderSelect(0,SELECT_BY_POS,MODE_TRADES); if (TimeDay(OrderOpenTime()) < TimeDay(CurTime())) { if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Violet); if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Violet); if(OrderType()>OP_SELL) OrderDelete(OrderTicket()); } } break; } }
TK29帖子1楼右侧xm竖版广告90-240
个性签名

阅尽天下指标
搬砖开始,始于2014

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告

本站免责声明:

1、本站所有广告及宣传信息均与韬客无关,如需投资请依法自行决定是否投资、斟酌资金安全及交易亏损风险;

2、韬客是独立的、仅为投资者提供交流的平台,网友发布信息不代表韬客的观点与意思表示,所有因网友发布的信息而造成的任何法律后果、风险与责任,均与韬客无关;

3、金融交易存在极高法律风险,未必适合所有投资者,请不要轻信任何高额投资收益的诱导而贸然投资;投资保证金交易导致的损失可能超过您投入的资金和预期。请您考虑自身的投资经验及风险承担能力,进行合法、理性投资;

4、所有投资者的交易帐户应仅限本人使用,不应交由第三方操作,对于任何接受第三方喊单、操盘、理财等操作的投资和交易,由此导致的任何风险、亏损及责任由投资者个人自行承担;

5、韬客不隶属于任何券商平台,亦不受任何第三方控制,韬客不邀约客户投资任何保证金交易,不接触亦不涉及投资者的任何资金及账户信息,不代理任何交易操盘行为,不向客户推荐任何券商平台,亦不存在其他任何推荐行为。投资者应自行选择券商平台,券商平台的任何行为均与韬客无关。投资者注册及使用韬客即表示其接受和认可上述声明,并自行承担法律风险。

版权所有:韬客外汇论坛 www.talkfx.com 联络我们:[email protected]