using cAlgo.API;
using System.Linq;
namespace cAlgo
{
// このサンプルは、Automate API を使用してユーザーのプラットフォームの Watchlists を監視する方法を示しています
[Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
public class WatchlistSample : Indicator
{
protected override void Initialize()
{
Watchlists.Added += Watchlists_Added;
Watchlists.Removed += Watchlists_Removed;
Watchlists.WatchlistRenamed += Watchlists_WatchlistRenamed;
Watchlists.WatchlistSymbolAdded += Watchlists_WatchlistSymbolAdded;
Watchlists.WatchlistSymbolRemoved += Watchlists_WatchlistSymbolRemoved;
Print("Watchlists の数: ", Watchlists.Count());
foreach (var watchlist in Watchlists)
{
Print("Watchlist 名前: {0} | シンボル #: {1}", watchlist.Name, watchlist.SymbolNames.Count);
}
}
private void Watchlists_WatchlistSymbolRemoved(WatchlistSymbolRemovedEventArgs obj)
{
Print("シンボル {0} が Watchlist {1} から削除されました", obj.SymbolName, obj.Watchlist.Name);
}
private void Watchlists_WatchlistSymbolAdded(WatchlistSymbolAddedEventArgs obj)
{
Print("シンボル {0} が Watchlist {1} に追加されました", obj.SymbolName, obj.Watchlist.Name);
}
private void Watchlists_WatchlistRenamed(WatchlistRenamedEventArgs obj)
{
Print("名前が変更された Watchlist {0}", obj.Watchlist.Name);
}
private void Watchlists_Removed(WatchlistRemovedEventArgs obj)
{
Print("削除された Watchlist {0}", obj.Watchlist.Name);
}
private void Watchlists_Added(WatchlistAddedEventArgs obj)
{
Print("追加された Watchlist {0}", obj.Watchlist.Name);
}
public override void Calculate(int index)
{
}
}
}