プラグイン

概要

プラグインの基底クラス。

備考

必要なすべてのデータを含み、プラグインの作成を容易にするためのフレームワークを提供します。

シグネチャ

1
public abstract class Plugin

 

名前空間

cAlgo.API

メソッド

ToString

概要

プラグインクラスの名前を返します。

シグネチャ

1
public string ToString()

 

戻り値

string

RefreshData

概要

MarketSeries、Positions、PendingOrders、History などを更新し、スレッドスリープ呼び出し後に延期されたイベントを送信します。スレッドのスリープメソッドを呼び出してメインスレッドをスリープさせた場合、スレッドが目覚めた後に延期されたイベントを送信するために RefreshData を呼び出す必要があります。

シグネチャ

1
public void RefreshData()

 

戻り値

void

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
 using cAlgo.API;
 using System.Linq;
 using System.Threading; 
 namespace Plugins
 {
     [Plugin(AccessRights = AccessRights.None)]
     public class NewPlugin : Plugin
     {
         protected override void OnStart()
         {
             Thread.Sleep(2000);
             RefreshData();
         }
     }

BeginInvokeOnMainThread

概要

指定されたコードをメインプラグインスレッドで非同期的に呼び出します。

シグネチャ

1
public void BeginInvokeOnMainThread(Action action)

 

パラメーター

名前説明
actionActionメインプラグインスレッドで呼び出すコード

戻り値

void

Print (1 of 3)

概要

指定されたオブジェクトのテキスト表現をログに出力します。

シグネチャ

1
public void Print(object value)

 

パラメーター

名前説明
valueobject出力するオブジェクト。

戻り値

void

 

パラメーター

名前タイプ説明
tradeTypeTradeType取引の方向
symbolNamestring取引のシンボル名
volumedouble取引のボリューム
targetPricedouble注文が成行注文になる価格
labelstring注文を表すラベル
stopLossPipsdouble?ストップロスのピップ数
takeProfitPipsdouble?テイクプロフィットのピップ数
expirationDateTime?注文の有効期限
commentstring注文コメント
hasTrailingStopboolトレーリングストップの有効化/無効化
callbackAction注文が配置されたときのアクション

戻り値

TradeOperation

1
 PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000, Symbol.Bid - 5* Symbol.PipSize);

PlaceStopOrderAsync (7 of 8)

概要

非同期実行モードでストップ注文を配置します

シグネチャ

1
public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)

 

パラメーター

名前タイプ説明
tradeTypeTradeType取引の方向
symbolNamestring取引のシンボル名
volumedouble取引のボリューム
targetPricedouble注文が成行注文になる価格
labelstring注文を表すラベル
stopLossPipsdouble?ストップロスのピップ数
takeProfitPipsdouble?テイクプロフィットのピップ数
expirationDateTime?注文の有効期限
commentstring注文コメント
hasTrailingStopboolトレーリングストップの有効化/無効化
stopLossTriggerMethodStopTriggerMethod?ポジションのストップロスのトリガーメソッド
callbackAction注文が配置されたときのアクション

戻り値

TradeOperation

1
 PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000, Symbol.Bid - 5* Symbol.PipSize);

PlaceStopOrderAsync (8 of 8)

概要

非同期実行モードでストップ注文を配置します

シグネチャ

1
public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action<TradeResult> callback)

 

パラメーター

名前タイプ説明
tradeTypeTradeType取引の方向
symbolNamestring取引のシンボル名
volumedouble取引のボリューム
targetPricedouble注文が成行注文になる価格
labelstring注文を表すラベル
stopLossPipsdouble?ストップロスのピップ数
takeProfitPipsdouble?テイクプロフィットのピップ数
expirationDateTime?注文の有効期限
commentstring注文コメント
hasTrailingStopboolトレーリングストップの有効化/無効化
stopLossTriggerMethodStopTriggerMethod?ポジションのストップロスのトリガーメソッド
stopOrderTriggerMethodStopTriggerMethodストップ注文が発動する際のトリガーメソッド
callbackAction注文が配置されたときのアクション

戻り値

TradeOperation

1
 PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000, Symbol.Bid - 5* Symbol.PipSize);

ExecuteMarketOrder (6)

ExecuteMarketOrder (1 of 6)

概要

マーケット注文を実行します

シグネチャ

1
public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume)

 

パラメーター

名前タイプ説明
tradeTypeTradeType取引の方向
symbolNamestring取引のシンボル名
volumedouble取引のボリューム(単位)

戻り値

TradeResult

ExecuteMarketOrder (2 of 6)

概要

マーケット注文を実行します

シグネチャ

1
public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label)

 

パラメーター

名前タイプ説明
tradeTypeTradeType取引の方向
symbolNamestring取引のシンボル名
volumedouble取引のボリューム(単位)
labelstring代表ラベル

戻り値

TradeResult

ExecuteMarketOrder (3 of 6)

概要

マーケット注文を実行します

シグネチャ

1
public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips)

 

パラメーター

名前タイプ説明
tradeTypeTradeType取引の方向
symbolNamestring取引のシンボル名
volumedouble取引のボリューム(単位)
labelstring代表ラベル
stopLossPipsdouble?ストップロスのピップ数
takeProfitPipsdouble?テイクプロフィットのピップ数

戻り値

TradeResult

ExecuteMarketOrder (4 of 6)

概要

マーケット注文を実行します

シグネチャ

1
public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment)

 

パラメーター

名前タイプ説明
tradeTypeTradeType取引の方向
symbolNamestring取引のシンボル名
volumedouble取引のボリューム(単位)
labelstring代表ラベル
stopLossPipsdouble?ストップロスのピップ数
takeProfitPipsdouble?テイクプロフィットのピップ数
commentstring注文コメント

戻り値

TradeResult

ExecuteMarketOrder (5 of 6)

概要

マーケット注文を実行します

シグネチャ

1
public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, Action<TradeResult> callback)

 

パラメーター

名前タイプ説明
tradeTypeTradeType取引の方向
symbolNamestring取引のシンボル名
volumedouble取引のボリューム(単位)
labelstring代表ラベル
stopLossPipsdouble?ストップロスのピップ数
takeProfitPipsdouble?テイクプロフィットのピップ数
commentstring注文コメント
callbackAction注文が配置されたときのアクション

戻り値

TradeResult

ExecuteMarketOrder (6 of 6)

概要

マーケット注文を実行します

シグネチャ

1
public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop)

パラメーター

名前タイプ説明
tradeTypeTradeType取引の方向
symbolNamestring取引のシンボル名
volumedouble取引のボリューム(単位)
marketRangePipsdoublePipsでのマーケットレンジ(スリッページ)
basePricedouble相対スリッページ価格を計算するための基準価格
callbackActionポジションが開かれたときに発生するイベント

戻り値

TradeOperation

ExecuteMarketRangeOrderAsync (2 of 6)

概要

非同期実行モードでマーケットオーダーを実行する

シグネチャ

1
public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, Action<TradeResult> callback)

 

パラメーター

名前タイプ説明
tradeTypeTradeType取引の方向
symbolNamestring取引のシンボル名
volumedouble取引のボリューム(単位)
marketRangePipsdoublePipsでのマーケットレンジ(スリッページ)
basePricedouble相対スリッページ価格を計算するための基準価格
labelstring注文を表すラベル
callbackActionポジションが開かれたときに発生するイベント

戻り値

TradeOperation

ExecuteMarketRangeOrderAsync (3 of 6)

概要

非同期実行モードでマーケットオーダーを実行する

シグネチャ

1
public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, Action<TradeResult> callback)

 

パラメーター

名前タイプ説明
tradeTypeTradeType取引の方向
symbolNamestring取引のシンボル名
volumedouble取引のボリューム(単位)
marketRangePipsdoublePipsでのマーケットレンジ(スリッページ)
basePricedouble相対スリッページ価格を計算するための基準価格
labelstring注文を表すラベル
stopLossPipsdouble?Pipsでのストップロス
takeProfitPipsdouble?Pipsでのテイクプロフィット
callbackActionポジションが開かれたときに発生するイベント

戻り値

TradeOperation

ReversePositionAsync (2 of 2)

概要

非同期実行モードでポジションを修正する

シグネチャ

1
public TradeOperation ReversePositionAsync(Position position, double volume, Action<TradeResult> callback)

 

パラメータ

名前説明
positionPosition修正するポジション
volumedouble新しいボリューム
callbackActionポジションが修正されたときに呼び出されるメソッド

戻り値

TradeOperation

1
2
3
4
5
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null)
 {
     ReversePositionAsync(position, 20000);
 }

ModifyPositionAsync (4)

ModifyPositionAsync (1 of 4)

概要

非同期実行モードでポジションを修正する

シグネチャ

1
public TradeOperation ModifyPositionAsync(Position position, double volume, Action<TradeResult> callback)

 

パラメータ

名前説明
positionPosition修正するポジション
volumedouble新しいボリューム
callbackActionポジションが修正されたときに呼び出されるメソッド

戻り値

TradeOperation

1
2
3
4
5
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null)
 {
     ModifyPositionAsync(position, 20000);
 }

ModifyPositionAsync (2 of 4)

概要

非同期実行モードでポジションを修正する

シグネチャ

1
public TradeOperation ModifyPositionAsync(Position position, double? 

stopLoss, double? takeProfit, Action<TradeResult> callback)

 

パラメータ

名前説明
positionPosition修正するポジション
stopLossdouble?新しいストップロス価格
takeProfitdouble?新しいテイクプロフィット価格
callbackActionポジションが修正されたときに呼び出されるメソッド

戻り値

TradeOperation

1
2
3
4
5
6
7
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null)
 {
     double? stopLoss = Symbol.Ask- 10*Symbol.PipSize;
     double? takeProfit = Symbol.Ask + 10 * Symbol.PipSize;
     ModifyPositionAsync(position, stopLoss,  takeProfit);
 }

ModifyPositionAsync (3 of 4)

概要

非同期実行モードでポジションを修正する

シグネチャ

1
public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, bool hasTrailingStop, Action<TradeResult> callback)

 

パラメータ

名前説明
positionPosition修正するポジション
stopLossdouble?新しいストップロス価格
takeProfitdouble?新しいテイクプロフィット価格
hasTrailingStopboolポジションのトレーリングストップの有効/無効を設定する
callbackActionポジションが修正されたときに呼び出されるメソッド

戻り値

TradeOperation

1
2
3
4
5
6
7
 var position = Positions.Find("myLabel", Symbol,

 TradeType.Buy);
 if (position != null)
 {
     double? stopLoss = Symbol.Ask- 10*Symbol.PipSize;
     double? takeProfit = Symbol.Ask + 10 * Symbol.PipSize;
     ModifyPositionAsync(position, stopLoss,  takeProfit);
 }

ModifyPositionAsync (4 of 4)

概要

非同期実行モードでポジションを修正する

シグネチャ

1
public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)

 

パラメータ

名前説明
positionPosition修正するポジション
stopLossdouble?新しいストップロス価格
takeProfitdouble?新しいテイクプロフィット価格
hasTrailingStopboolポジションのトレーリングストップの有効/無効を設定する
stopLossTriggerMethodStopTriggerMethod?ポジションのストップロスのトリガーメソッド
callbackActionポジションが修正されたときに呼び出されるメソッド

戻り値

TradeOperation

1
2
3
4
5
6
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null)
 {
     double? stopLoss = Symbol.Ask- 10*Symbol.PipSize;
     double? takeProfit = Symbol.Ask + 10 * Symbol.PipSize;
     ModifyPositionAsync(position, stopLoss,  takeProfit);
 }

戻り値

TradeOperation

1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrderAsync(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime, 5);
 }

ModifyPendingOrderAsync(9のうち6番目)

概要

非同期実行モードで保留中の注文を修正します

シグネチャ

1
public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, Action<TradeResult> callback)

 

パラメーター

名前説明
pendingOrderPendingOrder修正する保留中の注文
targetPricedouble注文が市場注文になる新しい目標価格
stopLossPipsdouble?新しいストップロス
takeProfitPipsdouble?新しいテイクプロフィット
expirationTimeDateTime?新しい有効期限と時間
volumedouble注文の新しい単位量
hasTrailingStopboolポジションのトレイリングストップを有効/無効にする
stopLossTriggerMethodStopTriggerMethod?ポジションのストップロスのトリガー方法
stopOrderTriggerMethodStopTriggerMethod?保留中の注文がストップオーダーの場合のトリガー方法を決定します
callbackAction注文が修正されたときに呼び出されるメソッド

戻り値

TradeOperation

1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrderAsync(order, order.TargetPrice, 10, order.<

span class="n">TakeProfitPips,
                         order.ExpirationTime, 5, hasTrailingStop, StopTriggerMethod.Trade, StopTriggerMethod.Opposite);
 }

ModifyPendingOrderAsync(9のうち7番目)

概要

非同期実行モードで保留中の注文を修正します

シグネチャ

1
public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)

 

パラメーター

名前説明
pendingOrderPendingOrder修正する保留中の注文
targetPricedouble注文が市場注文になる新しい目標価格
stopLossPipsdouble?新しいストップロス
takeProfitPipsdouble?新しいテイクプロフィット
expirationTimeDateTime?新しい有効期限と時間
volumedouble注文の新しい単位量
hasTrailingStopboolポジションのトレイリングストップを有効/無効にする
stopLossTriggerMethodStopTriggerMethod?ポジションのストップロスのトリガー方法
stopOrderTriggerMethodStopTriggerMethod?保留中の注文がストップオーダーの場合のトリガー方法を決定します
callbackAction注文が修正されたときに呼び出されるメソッド

戻り値

TradeOperation

1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrderAsync(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime);
 }

プロパティ

サーバー

概要

サーバーに関連する情報。

シグネチャ

1
public IServer Server {get;}

 

戻り値

IServer

1
2
3
4

 protected override void OnStart()
 {
     Print("サーバー時刻は: {0}", Server.Time);
 }

タイマー

概要

Timerオブジェクトへのアクセス。

シグネチャ

1
public Timer Timer {get;}

 

戻り値

Timer

1
2
3
4
5
6
7
8
 protected override void OnStart()
 {
     Timer.Start(1);//1秒間隔でタイマーを開始
 }
 protected override void OnTimer()
 {
     Print("タイマー間隔が経過しました");
 }

タイムゾーン

概要

プラグインのタイムゾーン。

シグネチャ

1
public TimeZoneInfo TimeZone {get;}

 

戻り値

TimeZoneInfo

Time

概要

現在のサーバー時刻を返します。Server.Timeプロパティへのショートカット。

シグネチャ

1
public DateTime Time {get;}

 

戻り値

DateTime

1
2
3
4
 protected override void OnStart()
 {
     Print("サーバー時刻は: {0}", Time);
 }

TimeInUtc

概要

現在のサーバー時刻をUTCで返します。Server.TimeInUtcプロパティへのショートカット。

シグネチャ

1
public DateTime TimeInUtc {get;}

 

戻り値

DateTime

1
2
3
4
 protected override void OnStart()
 {
     Print("サーバーのUTC時刻は: {0}", TimeInUtc);
 }

Application

概要

アプリケーションを表します。

シグネチャ

1
public Application Application {get;}

 

戻り値

Application

Symbols

概要

シンボル名を取得します。

シグネチャ

1
public Symbols Symbols {get;}

 

戻り値

Symbols

Asp

概要

アクティブなシンボルパネルを取得します。

シグネチャ

1
public Asp Asp {get;}

 

戻り値

Asp

Account

概要

すべてのアカウント情報を含みます

シグネチャ

1
public IAccount Account {get;}

 

戻り値

IAccount

1
2
3
4
5
6
7
 double balance = Account.Balance;
 string currency = Account.Currency;
 double equity = Account.Equity;
 double freemargin = Account.FreeMargin;
 double margin = Account.Margin;
 double? marginlevel = Account.MarginLevel;
 int leverage = Account.Leverage;

AssetConverter

概要

資産を別の資産に変換します。

シグネチャ

1
public IAssetConverter AssetConverter {get;

 

戻り値

IAssetConverter

関連チュートリアル

  • 通貨コンバーター

Assets

概要

利用可能なすべての資産のリストを返します。

シグネチャ

1
public Assets Assets {get;}

 

戻り値

Assets

History

概要

アカウントのすべての取引履歴のコレクションを表します。

シグネチャ

1
public History History {get;

 

戻り値

History

1
2
3
4
 foreach (HistoricalTrade trade in History)
 {
     Print(trade.EntryTime);
 }

Permissions

概要

すべてのアクセス権情報を含みます

シグネチャ

1
public Permissions Permissions {get;

 

戻り値

Permissions

TradeWatch

概要

Trade Watch パネルを取得します。

シグネチャ

1
public TradeWatch TradeWatch {get;

 

戻り値

TradeWatch

MarketSessions

概要

現在のマーケットセッションを返します。

シグネチャ

public MarketSession MarketSessions {get;
1

 

戻り値

MarketSession

関連チュートリアル

  • トレーディングセッション

Watchlists

概要

ウォッチリストを取得します。

シグネチャ

public Watchlists Watchlists {get;
1

 

戻り値

Watchlists

Http

概要

HTTPリクエストを送信します。

シグネチャ

public Http Http {get;
1

 

戻り値

Http

関連チュートリアル

  • ネットワークアクセス

Notifications

概要

サウンドやメールなどの通知を表します。

シグネチャ

1
public INotifications Notifications {get;

 

戻り値

INotifications

1
 Notifications.PlaySound(@"C:\Windows\Media\notify.wav");

ChartManager

概要

チャートマネージャーを返します。

シグネチャ

1
public ChartManager ChartManager {get;

 

戻り値

ChartManager

MarketData

概要

マーケットデータへのアクセスを提供します。

シグネチャ

1
public MarketData MarketData {get;

 

戻り値

MarketData

1
 private MarketDepth _md;
 _md = MarketData.GetMarketDepth("GBPUSD");

LocalStorage

概要

ローカルストレージAPIへのアクセス。

シグネチャ

1
public LocalStorage LocalStorage {get;

 

戻り値

LocalStorage

関連チュートリアル

  • ローカルストレージ

AlgoRegistry

概要

インストールされたアルゴリズムにアクセスします。

シグネチャ

1
public AlgoRegistry AlgoRegistry {get;

 

戻り値

AlgoRegistry

関連チュートリアル

  • アルゴリズムレジストリ

Backtesting

概要

%DOCUMENTATION%

シグネチャ

1
public Backtesting Backtesting {get;

 

戻り値

Backtesting

Indicators

概要

組み込みのインジケーターへのアクセス。

シグネチャ

1
public IIndicatorsAccessor Indicators {get;

 

戻り値

IIndicatorsAccessor

1
2
3
4
5
 protected override void Initialize()
 {
     //マーケットシリーズの価格データをインジケーターのパラメータとして使用します
     _ma = Indicators.SimpleMovingAverage(MarketSeries.Close, 20);
 }

関連チュートリアル

  • チャートインジケーターの管理

Commands

概要

コマンドへのアクセスを提供します。

シグネチャ

1
public Commands Commands {get;

 

戻り値

Commands

LastResult

概要

最新の取引結果

シグネチャ

1
public TradeResult LastResult {get;

 

戻り値

TradeResult

1
 ExecuteMarketOrder(TradeType.Buy, Symbol, 20000, null, 10, null);
 if(LastResult.IsSuccessful)
     Print(LastResult.Position.StopLoss);

Positions

概要

アカウントのすべてのオープンポジションのリスト。

シグネチャ

1
public Positions Positions {get;

 

戻り値

Positions

1
 foreach (var position in Positions)
 {
     if (position.StopLoss == null)
         ModifyPosition(position, 10, position.TakeProfit);
 }

PendingOrders

概要

アカウントのすべての保留中の注文の配列。

シグネチャ

1
public PendingOrders PendingOrders {get;

 

戻り値

PendingOrders

1
2
3
4
5
6
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrder(order, order.TargetPrice, 10, order.TakeProfit,
                             order.ExpirationTime);
 }

イベント

MarketSessionsChanged

概要

市場セッションが変更されると発生します。

シグネチャ

1
public event Action<MarketSessionChangedEventArgs> MarketSessionsChanged;

目次

このページについて