Обычно роботы используют внешние параметры для своей торговли. В последующем примере робот принимает торговые параметры, такие как объем Volume , StopLoss и максимальный спред MaxSpread . Данный алгоритм откроет рыночный ордер заданного объема и с заданным уровнем Stop Loss, пока текущий спред на рынке ниже заданного максимума.

[Robot("First Robot")]
public class FirstRobot : Robot{
  [Parameter("Volume", DefaultValue = 100000, MinValue = 10000, MaxValue = 10000000)]
  public int Volume { get; set; }
  [Parameter("Stop Loss (pips)", DefaultValue = 10, MinValue = 1)]
  public int StopLoss { get; set; }
  [Parameter("Maximum Spread", DefaultValue = 1.5, MinValue = 0.1)]
  public double MaxSpread { get; set; }
  protected override void OnStart(){
    if (Symbol.Spread < MaxSpread){
      Trade.CreateBuyMarketOrder(Symbol.Code, Volume);
      Trade.Execute(order);
    }
  }
  protected override void OnPositionOpened(Position openedPosition){
    double? stopLossPrice = position.EntryPrice - StopLoss * Symbol.PipSize;
    Trade.ModifyPosition(position, stopLossPrice, null);

Имеется несколько поддерживаемых типов данных для заданных параметров:

 
  • int – Целое значение, т.е. дистанция в пунктах, объем торговой позиции.
  • Double – Плавающий номер, т.е. цена, значение индикатора
  • DataSeries – Ценовые данные рынка. Пользователь может задать, значения каких параметров советнику использовать: цену открытия (Open), максимума (High), минимума (Low) и закрытия (Close).
  • MovingAverageType – Параметры средней скользящей (moving average), которая может быть встроена в индикаторы (см. раздел индикаторов).

Добавив выбранного робота на график, вы сможете вручную изменять его параметры:

Значения символа (Symbol) и временного интервала (Timeframe) являются общими параметрами, после добавления робота на график. Эти параметры указаны в левом меню для каждого робота.