Al-N
Al-N 's avatar

Info

Username:alen.parijanian
Name:Al-N
Member since: 03 Jan 2021

About

None

Signature

None

Last comments

@cTrader Scalpers Buddy: Hi there. Is it please possible to add an email alert to this indicator? It would be so helpful
Notification Publishing copyrighted material is strictly prohibited. If you believe there is copyrighted material in this section you may use the Copyright Infringement Notification form to submit a claim.

No uploaded.

Warning! Executing cBots downloaded from this section may result in loss of funds. Use them at your own risk.
free  25 May 2021
// this trailing stop allows you to set your steps in 0.1 pips and follows the current market price using System; using System.Linq; using cAlgo.API; using cAlgo.API.Indicators; using cAlgo.API.Internals; using cAlgo.Indicators; namespace cAlgo.Robots {     [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]     public class my_tsl : Robot     {         [Parameter("Instance Name", DefaultValue = "")]         public string InstanceName { get; set; }         [Parameter("Include Trailing Stop", DefaultValue = true)]         public bool IncludeTrailingStop { get; set; }         [Parameter("Trailing Stop Trigger (pips)", DefaultValue = 2)]         public double TrailingStopTrigger { get; set; }         [Parameter("Trailing Stop Step (pips)", DefaultValue = 1)]         public double TrailingStopStep { get; set; }         protected override void OnStart()         {             // Put your initialization logic here         }         protected override void OnTick()         {             if (IncludeTrailingStop)             {                 SetTrailingStop();             }             // Put your core logic here         }         private void SetTrailingStop()         {             var sellPositions = Positions.FindAll(InstanceName, Symbol, TradeType.Sell);             foreach (Position position in sellPositions)             {                 double distance = position.EntryPrice - Symbol.Ask;                 if (distance < TrailingStopTrigger * Symbol.PipSize)                     continue;                 double newStopLossPrice = Symbol.Ask + TrailingStopStep * Symbol.PipSize;                 if (position.StopLoss == null || newStopLossPrice < position.StopLoss)                 {                     ModifyPosition(position, newStopLossPrice, position.TakeProfit);                 }             }             var buyPositions = Positions.FindAll(InstanceName, Symbol, TradeType.Buy);             foreach (Position position in buyPositions)             {                 double distance = Symbol.Bid - position.EntryPrice;                 if (distance < TrailingStopTrigger * Symbol.PipSize)                     continue;                 double newStopLossPrice = Symbol.Bid - TrailingStopStep * Symbol.PipSize;                 if (position.StopLoss == null || newStopLossPrice > position.StopLoss)                 {                     ModifyPosition(position, newStopLossPrice, position.TakeProfit);                 }             }         }         protected override void OnStop()         {             // Put your deinitialization logic here         }     } }