Loading...
Searching...
No Matches
Indicators and strategies distribution

You can grant access to the developed indicators or strategy(modules) for any ATAS user, set the access expiration date and turn off access at any moment of time.

To do it, it is necessary to:

To activate the option of loading module, you need:

  1. To be registered in the Personal Area.
  2. To activate the Activate the Module Section option in the Profile -> For Developers section.
  3. The My Modules section will appear in the left menu after that. In this section, you can add new module, set users, who have access to these modules, and access expiration.

Preparation of a module Every module, which would be distributed among other users, should have a unique identifier. The FeatureId attribute (namespace OFT.Attributes, the OFT.Attributes.dll library) is designed for it. This attribute should be assigned to each module, which is included into the distributed package, specifying a unique string identifier. The older ATAS.Indicators.Attributies.FeatureId attribute is obsolete; use OFT.Attributes.FeatureIdAttribute instead.
Access is checked only for the classes marked with this attribute: an indicator or strategy without [FeatureId] is available to anyone who has the file.

Example:

[FeatureId("DFD43423-6645-4490-B5F7-45579FF940EE")]
public class MyIndicator : Indicator
{
protected override void OnCalculate(int bar, decimal value)
{
//your code
}
}
Base class for custom indicators.
Definition Indicator.cs:50
Definition IIndicatorAnalyticsService.cs:1
Definition AttributeResourceHelpers.cs:1

One and the same identifier could be assigned to several modules. In such a case, you will be able to control the access of the whole group of modules from the Personal Area.
After the module is ready, it is necessary to compile it. We also recommend obfuscating the module for its protection.

Loading the module into the service:

  1. Go to the Modules section
  2. Press the "Add module" button
  3. Fill in all the fields in the resulting form:
    1. Module name - name
    2. Module UID - the identifier, specified in the FeatureId attribute
    3. Description - arbitrary description
    4. File - select the compiled dll file

For each module, you can specify users, who have access to it, and the date of access expiration.
Users do not need to download the file themselves: when a user signs in to the platform, it downloads the modules available to the user's account, installs them into the indicators or strategies folder and replaces the installed file when you upload a new version. A module whose access has expired is not downloaded.
If a user has a downloaded module but has no access or access expired, the user will not see this module in the platform and will not be able to use it.

‍Currently, we do not add any additional copy protection to files provided via the ATAS API on our site. This means the developer is currently responsible for protecting the source code. In this context, the obfuscation is indeed the recommended and common approach.When implemented correctly and professionally, it provides sufficient protection against the code being read or redistributed in practice.