Modify Account Positions

Created at 24 Jan 2013, 12:22
admin's avatar

Spotware Support

Joined 30.09.2011

Modify Account Positions
24 Jan 2013, 12:22


// -------------------------------------------------------------------------------
//
//    This is a Sample used as a guideline to build your own Robot. 
//    Please use the forum to provide us with your suggestions about cAlgo’s API.
//
// -------------------------------------------------------------------------------

using cAlgo.API;

namespace cAlgo.Robots
{
    [Robot]
    public class ModifyAccountPositions : Robot
    {
        protected override void OnTick()
        {
            foreach (var position in Positions)
            {
                if (position.StopLoss == null)
                {
                    Print("Modifying {0}", position.Id);
                    ModifyPosition(position, GetAbsoluteStopLoss(position, 10), GetAbsoluteTakeProfit(position, 10));
                }
            }
        }

        private double GetAbsoluteStopLoss(Position position, int stopLossInPips)
        {
            return position.TradeType == TradeType.Buy
                ? position.EntryPrice - Symbol.PipSize * stopLossInPips
                : position.EntryPrice + Symbol.PipSize * stopLossInPips;
        }

        private double GetAbsoluteTakeProfit(Position position, int takeProfitInPips)
        {
            return position.TradeType == TradeType.Buy
                ? position.EntryPrice + Symbol.PipSize * takeProfitInPips
                : position.EntryPrice - Symbol.PipSize * takeProfitInPips;
        }
    }
}

 


@admin