0

.Net CLR ラッパーで mtmanapi.dll を使用しています

名前に特殊文字を含まないシンボルの正しい値を取得Askしていますが (例:など)、シンボルに特殊文字が含まれている場合 (例:など)、メソッドを使用してフェッチおよび値を取得していません。 .BidSymbolEURUSDGBPUSDEURUSD'GBPUSD0AskBidSymbolInfoGet()

4

1 に答える 1

1

それは動作するはずで、以下のコードはサーバーから 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();
}
于 2016-11-01T07:15:35.440 に答える