.Net CLR ラッパーで mtmanapi.dll を使用しています
名前に特殊文字を含まないシンボルの正しい値を取得Ask
していますが (例:など)、シンボルに特殊文字が含まれている場合 (例:など)、メソッドを使用してフェッチおよび値を取得していません。 .Bid
Symbol
EURUSD
GBPUSD
EURUSD'
GBPUSD0
Ask
Bid
SymbolInfoGet()
.Net CLR ラッパーで mtmanapi.dll を使用しています
名前に特殊文字を含まないシンボルの正しい値を取得Ask
していますが (例:など)、シンボルに特殊文字が含まれている場合 (例:など)、メソッドを使用してフェッチおよび値を取得していません。 .Bid
Symbol
EURUSD
GBPUSD
EURUSD'
GBPUSD0
Ask
Bid
SymbolInfoGet()
それは動作するはずで、以下のコードはサーバーから US100、OIL.WTI、225JPY の見積もりを返します。を使用していますSymbolInfoUpdated()
が、に似ていSymbolInfoGet()
ます。ただし、いくつかの注意事項があります。
mt.SymbolsRefresh();
1)ポンピングにmt.SymbolAdd(symbol.Name);
切り替える前に、電話する必要があるかもしれません
2)SymbolInfoGet()
ポンピングで最後に受け取った見積もりを返します。したがって、土曜日に接続して電話をかけても、月曜日まで何も返されません。
using (var mt = new ClrWrapper(new ConnectionParameters {Login = 0, Password = "", Server = "" }))
{
var symbols = mt.CfgRequestSymbol();
mt.SymbolsRefresh();
foreach (var symbol in symbols)
{
mt.SymbolAdd(symbol.Name);
}
mt.PumpingSwitchEx(PumpingMode.Default);
mt.BidAskUpdated += (sender, args) =>
{
var total = 0;
do
{
var symbolsInfos = mt.SymbolInfoUpdated();
foreach (var symbolInfo in symbolsInfos)
{
if (!symbolInfo.Symbol.All(char.IsLetter))
{
Console.WriteLine("{0} {1} {2}", DateTime.Now, symbolInfo.Symbol, symbolInfo.Bid);
}
}
total = symbolsInfos.Count;
} while (total > 0);
};
Console.ReadKey();
}