using cAlgo.API;
namespace cAlgo.Robots
{
// このサンプルは、注文の実行価格を制御するためのStopTriggerMethodの使い方を示しています
[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
public class StopTriggerMethodSample : Robot
{
[Parameter("Stop Trigger Method", DefaultValue = StopTriggerMethod.Trade)]
public StopTriggerMethod StopTriggerMethod { get; set; }
protected override void OnStart()
{
// 新しいポジションのStopTriggerMethodを設定します
ExecuteMarketOrder(TradeType.Buy, SymbolName, Symbol.VolumeInUnitsMin, "StopTriggerMethod Test", 10, 10, string.Empty, false, StopTriggerMethod);
// 新しいストップオーダーのStopTriggerMethodを設定します。注文とそのストップロスの両方に対して
var target = Symbol.Bid + (100 * Symbol.PipSize);
PlaceStopOrder(TradeType.Buy, SymbolName, Symbol.VolumeInUnitsMin, target, "StopTriggerMethod Test", 10, 10, null, string.Empty, false, StopTriggerMethod, StopTriggerMethod);
// 開いているポジションのStopTriggerMethodを変更します
foreach (var position in Positions)
{
if (!position.StopLoss.HasValue) continue;
ModifyPosition(position, position.StopLoss, position.TakeProfit, position.HasTrailingStop, StopTriggerMethod);
}
}
}
}