Trades Manager
- Libraries
- Omar Alkassar
- Version: 1.10
- Updated: 17 January 2022
- Activations: 20
The library is dedicated to help manage your trades, calculate lot, trailing, partial close and other functions
Orders
- CloseallSell
- CloseallBuy
- CloseallOpen
- DeletePending
- DeleteAll: Close All Market Orders and delete all pending orders.
- CheckOpenBuyOrders: return the count of buy orders.
- CheckOpenSellOrders: return the count of sell orders.
- CheckOpenOrders: return the count of market orders.
- ModifyOrder
- DeleteOrder
- CloseOrder
- OpenOrder
Lot Calculation
- Mode 0: Fixed Lot.
- Mode 1: Martingale Lot (1,3,5,8,13) you can use it in different way calculate on history orders =0, on current open order=1, when loss=1 ,when profit=0.
- Mode 2: Multiplier Lot (1,2,4,8,16) you can use it in different way calculate on history orders =0, on current open order=1, when loss=1 ,when profit=0.
- Mode 3: Plus Lot (1,2,3,4,5) you can use it in different way calculate on history orders =0, on current open order=1, when loss=1 ,when profit=0.
- Mode 4: SL/Risk Lot calculate based on stop loss and risk ex balance=1000 -risk =10 -SL=20 then loss is 100$ lot will be 0.50.
- Mode 5: Based On Balance Lot calculate based 0.01 for each 1000$.
Partial Close
- close_count: apply partial close X times.
- close_step: apply partial close each X pips in profit.
- close_percent: close X% Percentage of the lot size is counted from initial lot size.
Trailing
- Mode 0: Previous High/Low Trailing.
- Mode 1: Break Even.
- Mode 2: Normal Trailing Mode (Stop/Step).
- Mode 3: Missing Stop place SL to all order if you miss that.
- Mode 4: Missing TakeProfit place TP to all order if you miss that.
Other tools:
- CheckSpread: SpreadFilter return true / false.
- PrintInfo: return simple information as string to use it in comment.
- CheckTime: Time Filter return true / false with information on chart.
- CloseAtPerProfit: close all order when x% profit reach.
- CloseAtProfit: close all order when x$ profit reach.
- CloseAtPerLoss: close all order when x% loss reach.
- CloseAtLoss: close all order when x$ loss reach.
All functions allowed you to control, call any symbol not just chart symbol.
All functions design to detect any error while process and retrying until done.
Usage
#import "\\Market\\Trades Manager.ex4" void CloseallSell(string symbol,int magic=0); void CloseallBuy(string symbol,int magic=0); void CloseallOpen(string symbol,int magic=0); void DeletePending(string symbol,int magic=0); void DeleteAll(string symbol,int magic=0); int CheckOpenSellOrders(string symbol,int magic=0); int CheckOpenBuyOrders(string symbol,int magic=0); int CheckOpenOrders(string symbol,int magic=0); double PointCheck(string symbol,int magic=0); double ProfitCheck(string symbol,int magic=0); void ModifyOrder(int ticket,double price,double stoploss,double takeprofitint,datetime expiration=0,color arrow_color=clrNONE); void DeleteOrder(int ticket,color arrow_color=clrNONE); void CloseOrder(int ticket,double lots,double price,color arrow_color=clrNONE); void OpenOrder(string symbol,int cmd,double volume,double price,double stoploss,double takeprofit,string comment=NULL,int magic=0,datetime expiration=0,color arrow_color=clrNONE); bool CheckSpread(string symbol,int Maximum_Spread); string PrintInfo(string symbol); bool CheckTime(string symbol,int TradingTimeStart,int TradingTimeEnd); void CloseAtPerProfit(int percentage,string symbol,int magic=0); void CloseAtProfit(double value,string symbol,int magic=0); void CloseAtPerLoss(double percentage,string symbol,int magic=0); void CloseAtLoss(double value,string symbol,int magic=0); double GetLotSpec(int Mode,double Lot,string symbol,int magic=0,double Multiplier=2,int CalMode=1,int CalWhen=1,int sl=0,int risk=0); void PClose(string symbol,int ticket,int type,double price,datetime opentime,double orderlots,double stoploss,double takeprofit,int close_count,int close_step,int close_percent); void DoTrailingSpec(int Mode,string symbol,int ticket,int type,double price,double stoploss,double takeprofit,int des=1,int step=1,ENUM_TIMEFRAMES TF=PERIOD_CURRENT); #import
Feel free to give your opinion about the tool .... and please inform me of any improvements needed to be done.
Happy Trading (:
...