Topics
Replies
theonlinemick
28 Jul 2017, 07:51
Thanks, I got it working :)
This allows you to input your starting capital prior to launching the bot, your desired profit amount in $, and the bot stops when equity reaches that profit level - then closes all positions.
using System; using System.Linq; using cAlgo.API; using cAlgo.API.Indicators; using cAlgo.API.Internals; using cAlgo.Indicators; using System.Text; namespace cAlgo { [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)] public class ShadowHedge : Robot { [Parameter("Starting Balance ($)", DefaultValue = 5000)] public int StartingBalance { get; set; } [Parameter("Profit Target ($)", DefaultValue = 500)] public int ProfitTarget { get; set; } double _myEquity; protected override void OnTick() { if (Account.Equity > (StartingBalance + ProfitTarget)) { Stop(); } } protected override void OnStart() { _myEquity = Account.Equity; } protected override void OnStop() { foreach (var position in Positions) { ClosePosition(position); } } } }
@theonlinemick
theonlinemick
27 Jul 2017, 11:24
Great, thank you, works perfectly.
added the parameter and label for anyone who wants to save time.
[Parameter("Cancel Pending Orders", DefaultValue = 30, MinValue = 0)]
public int MaxPipDistance { get; set; }
protected override void OnTick()
{
foreach (var order in PendingOrders)
{
var pipDistance = Math.Abs((order.TargetPrice - Symbol.Ask) / Symbol.PipValue);
if (pipDistance > MaxPipDistance)
{
CancelPendingOrder(order);
Print("Order Has Reached Max Distance, Order Cancelled");
}
}
}
@theonlinemick
theonlinemick
26 Jul 2017, 21:07
Ok scratch that, I just thought of a much better work around.
Very simple question...
How do I cancel all pending orders on all symbols reach a specific pip distance from respective bid/ask price?
@theonlinemick
theonlinemick
26 Jul 2017, 20:26
"The equity is gaining well, but the acc bal slowly reduces" - yes, I do mean the equity (it is not a martigale bot).
@theonlinemick
theonlinemick
28 Jul 2017, 07:55
Using Account.Balance didnt get the desired results - as the balance gradually decreses while the equity steps up. Resulting in the set profit value not generally stopping at a profitable point. This allows you to fix the starting capital and trigger the take profits when equity reaches a set amound above the fixed capital amount, regardless of account balance drawdown.
@theonlinemick