cTrader

Guide on how to integrate licensing library into indicators and cBots

Adding licensing to your indicator/cBot

After you have created an indicator or robot you will need to integrate Licensing Library to validate users' licenses and protect your product from unauthorized distribution.

  1. Import namespace of the library by adding using PoshTrader.Licensing;

  2. Add Item Attributes to the main class

  3. Grant Full Access rights so licensing can communicate with our server

  4. Declare ItemLicense object

  5. Create the license on startup

  6. Check license status during runtime

using System;
using cAlgo.API;
using PoshTrader.Licensing;

namespace cAlgo
{
    [Item(ID, "Sample Indicator", Version = "1.0.0", Author = "John Doe")]
    [Indicator(TimeZone = TimeZones.UTC, AccessRights = AccessRights.FullAccess)]
    public class SampleIndicator : Indicator
    {
        private ItemLicense _license;

        protected override void Initialize()
        {
            _license = new ItemLicense(this);

            if (!_license.IsValid())
            {
                throw new Exception("Product license validation failed.");
            }

            // Put your Initialize logic here
        }

        public override void Calculate(int index)
        {
            if (!_license.IsValid())
                return;
                
            // Put your Calculate logic here
        }
    }
}

Tips: You can build an installation algo file by excluding Version in Item Attributes. This will allow you to publish installers of your indicators and cBots on the official cTrader website.

See an example here: https://ctrader.com/algos/indicators/show/2247

Creating a distribution file

To create the distribution file, please follow the steps below for creating an Algo file containing your indicators and/or robots.

  1. Navigate to the Automate tab in the left sidebar

  2. Select an indicator/robot you wish to export

  3. Press Build (Do NOT use Build with Source Code which would make your code unprotected!)

After you finish building your indicator/cBot you will find the distribution file as a .algo file located in %UserProfile%\Documents\cAlgo\Sources\ in Indicators or Robots folder.

Last updated