Reduce time to close all position
Reduce time to close all position
12 Jun 2018, 17:49
Dear cTrader,
I have code like this
if (Account.Equity <= Account.Balance * BalanceLossLevel) { Print(String.Format("Balance DROP -{0:0.0}% from $ {1} to $ {2}. Closing all buy position", (1 - (Account.Equity / Account.Balance)) * 100, Account.Balance, Account.Equity)); CloseAllPosition("Buy"); } }
And the CloseAllPosition is
private void CloseAllPosition(string tradeDirection) { if (tradeDirection == "Buy") { var positions = Positions.FindAll(newsLabel, Symbol, TradeType.Buy); for (int i = 1; i <= positions.Length; i++) { if (i != positions.Length) ClosePositionAsync(positions[i - 1]); else ClosePosition(positions[i - 1]); }}}
When I run robot, it ALWAYS takes 15ms from print out message to close first position (981 to 996)
I tried other code for CloseAllPosition as below
private void CloseAllPosition(string tradeDirection) { if (tradeDirection == "Buy") { int numPos = Positions.Count - 1; int i = 0; foreach (var pos in Positions) { if (pos.TradeType == TradeType.Buy) { if (i != numPos) ClosePositionAsync(pos); else ClosePosition(pos); } i++; } }}
It still takes 15ms to excute close first position.
Could you please advice for me other way to close all position faster?
Thanks!
Replies
thongbaogiaodich
12 Jun 2018, 18:02
Dear Panagiotis Charalampous,
Do you mean I need to modify the code as the second code in my first post?
private void CloseAllPosition(string tradeDirection) { if (tradeDirection == "Buy") { int numPos = Positions.Count - 1; int i = 0; foreach (var pos in Positions) { if (pos.TradeType == TradeType.Buy) { if (i != numPos) ClosePositionAsync(pos); else ClosePosition(pos); } i++; } } }
I already tried this code but have same result, takes 15ms also. Do you have any suggestion?
@thongbaogiaodich
PanagiotisCharalampous
13 Jun 2018, 09:10
Hi thongbaogiaodich,
Could you please post the complete cBot code?
Best Regards,
Panagiotis
@PanagiotisCharalampous
PanagiotisCharalampous
12 Jun 2018, 17:55
Hi thongbaogiaodich,
Try skipping
Just check if a position has TradeType.Buy before closing it.
Let me know if this helps,
Best Regards,
Panagiotis
@PanagiotisCharalampous