保有中ポジション
Positionsインターフェース
保有中のポジションを取得します。決済されたPositionは自動的に外されるのでPositions内のPositionは保有中のPositionのみです。
public interface Positions : IEnumerable<Position>
例によってPositionの配列的なやつです。
プロパティ
(int) Count
保有中ポジションの数を取得します。Lot数や通貨量ではなくあくまでポジションの数です。
(Position) this[int index]
index番目のPositionを取得します。
メソッド
(Position) Find(string label, [string symbolName, TradeType tradeType])
指定条件のポジションを探して一つ取得します。なければnullが返ります。ラベルのみ、ラベルと通貨ペア名のみの指定でも検索できます。
(Position[]) FindAll(string label, [string symbolName, TradeType tradeType])
指定条件のポジションを探してすべて取得します。なければnullが返ります。ラベルのみ、ラベルと通貨ペア名のみの指定でも検索できます。
イベント
Opend, Closed
ポジションが開かれた(作られた)、閉じられた
Modified
ポジションが修正された
Positionインターフェース
Positionsの要素となっている、ポジションの情報を取得するインターフェースです。
public interface Position
こちらはポジションが決済されてもオブジェクト自体が消えるわけではないので注意が必要です。
プロパティ
(string) Label
ラベルを取得します。Historyの中から自分のトレードを探すときに使うのはこれです。エントリー時は必ずラベル付けときましょう。
(string) SymbolName
通貨ペア名を取得します。
(TradeType) TradeType
買い(TradeType.Buy)か売り(TradeType.Sell)かを取得します。
(double) VolumeInUnits
ポジションの数量(通貨量)を取得します。
(double) Quantity
ポジションのロット数を取得します。
(double) EntryPrice
ポジションのエントリー価格を取得します。
(doulbe) StopLoss
ポジションのストップロス価格を取得します。pipsじゃなくて価格です。
(double)Takeprofit
ポジションのテイクプロフィット価格を取得します。pipsじゃなくて価格です。
(DateTime) EntryTime
ポジションのエントリー日時を取得します。
(double) Pips
トレードの最終獲得Pipsを取得します。
(double) GrossProfit
トレードのスワップと手数料差し引き前の利益を取得します。
(double) Commissions
トレードの片道手数料を取得します。
(double) Swap
ポジション保持中に発生したスワップ合計を取得します。
(double) NetProfit
トレードの手数料、スワップ差し引き後の最終利益を取得します。
(string) Comment
ポジションについてるコメントを取得します。
(bool) HasTralingStop
トレーリング中かどうか取得します。
(StopLossTriggerMethod) StopLossTriggerMethod
ストップロスの執行方式を取得します。
(int) PositionId
ポジションのIDを取得します。
(double) Margin
ポジションが使用する証拠金金額を取得します。(cTrader 4.5で追加)
メソッド
すべてRobotのショートカットですが、実際はPosition起点で呼ぶことの方が多いです。返り値はすべて注文結果を表すTradeResultです。
(TradeResult) Close()
全決済します。
(TradeResult) ModifyStopLossPips(double? pips)
エントリー価格からのピップス指定でストップロスを修正します。引数にnullを渡すとストップロスを削除します。
(TradeResult) ModifyStopLossPrice(double? price)
価格指定でストップロスを修正します。同上。
(TradeResult) ModifyTakeprofitPips(double? pips)
エントリー価格からのピップス指定でテイクプロフィットを修正します。引数にnullを渡すとテイクプロフィットを削除します。
(TradeResult) ModifyTakeprofitPrice(double? price)
価格指定でテイクプロフィットを修正します。同上。
(TradeResult) ModifyTrailingStop(bool hasTraling)
トレイリングストップの有無を修正します。
(TradeResult) ModifyVolume(double volume)
ポジションを一部決済もしくは追加エントリーすることでポジションの数量をvolumeに変更します。EntryPriceが変わります。
(TradeResult) Reverse([double volume])
ドテンします。volumeを指定すると、全決済後、volumeだけ逆向きポジションを取ります。ポジションIDは変わりません。