terminal.GetMessages() некорректно работает

terminal.GetMessages() некорректно работает
Atom
8/5/2015
dron3333



foreach (string element in terminal.GetMessages())
{
    System.Console.WriteLine(element);
}

и получаю вот такой вывод: MN W D H4 H2 M60 M30 M20 M15 M10 M6 M5 M4 M3 M2 M1 Tick

Откуда здесь период графиков вообще не понял... Подскажите в чем здесь дело кто знает


Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 8/5/2015
Reply


Thanks:

dron3333

Avatar
Date: 8/5/2015
Reply


Mikhail Sukhov: https://github.com/StockSharp/StockSharp/blob/master/Connectors/Quik/QuikTerminal.cs

Тяжеловато пока мне Миша, я только разбираюсь. Можно легкий пример?

Thanks:

Mikhail Sukhov

Avatar
Date: 8/5/2015
Reply


dron3333:

Mikhail Sukhov: https://github.com/StockSharp/StockSharp/blob/master/Connectors/Quik/QuikTerminal.cs

Тяжеловато пока мне Миша, я только разбираюсь. Можно легкий пример?

Пример вы привели выше. А я дал ссылку на исходник. Если не понятно почему и что возвращает метод с наружи - всмотрите во внуть кода и разбирайтесь.

Thanks:

dron3333

Avatar
Date: 8/5/2015
Reply


Mikhail Sukhov:

dron3333:

Mikhail Sukhov: https://github.com/StockSharp/StockSharp/blob/master/Connectors/Quik/QuikTerminal.cs

Тяжеловато пока мне Миша, я только разбираюсь. Можно легкий пример?

Пример вы привели выше. А я дал ссылку на исходник. Если не понятно почему и что возвращает метод с наружи - всмотрите во внуть кода и разбирайтесь.

ааа... это так и должно быть? я просто хотел получить сообщения квика. Может тогда я не там копаюсь? В общем хочу доставать сообщения квика которые выскакивают в окне сообщений. Если такое возможно вообще. Подскажите как это сделать

Thanks:

COBRA

Avatar
Date: 8/7/2015
Reply


наверно имена окон в новых версиях QUIK поменялись вот и не работает "ToolbarWindow32" или "ComboBoxEx32"


public IEnumerable<string> GetMessages()
{
try
{
var reBarWindow = MainWindow.AllChildWindows.First(w => w.ClassName.CompareIgnoreCase("ReBarWindow32"));
foreach (var wnd in reBarWindow.AllChildWindows)
{
if (!wnd.ClassName.CompareIgnoreCase("ToolbarWindow32")) continue;
foreach (var combobox32 in wnd.AllChildWindows)
{
if (!combobox32.ClassName.CompareIgnoreCase("ComboBoxEx32")) continue;
var listContent = combobox32.Content as ListContent;
if (listContent == null) break;
//Reverse для FIFO - ранние сообщения должны быть с меньшим индексом в массиве
return listContent.GetListContentItems().Reverse();
}
}
}
catch
{
throw new InvalidOperationException(LocalizedStrings.Str1820);
}
return null;
}

Thanks:

dron3333

Avatar
Date: 8/9/2015
Reply


COBRA: наверно имена окон в новых версиях QUIK поменялись вот и не работает "ToolbarWindow32" или "ComboBoxEx32"

public IEnumerable GetMessages() { try { var reBarWindow = MainWindow.AllChildWindows.First(w => w.ClassName.CompareIgnoreCase("ReBarWindow32")); foreach (var wnd in reBarWindow.AllChildWindows) { if (!wnd.ClassName.CompareIgnoreCase("ToolbarWindow32")) continue; foreach (var combobox32 in wnd.AllChildWindows) { if (!combobox32.ClassName.CompareIgnoreCase("ComboBoxEx32")) continue; var listContent = combobox32.Content as ListContent; if (listContent == null) break; //Reverse для FIFO - ранние сообщения должны быть с меньшим индексом в массиве return listContent.GetListContentItems().Reverse(); } } } catch { throw new InvalidOperationException(LocalizedStrings.Str1820); } return null; }


Как теперь это исправить? Я еще мало что здесь понимаю... Как функцию написать чтобы работала правильно кто знает?
Thanks:

COBRA

Avatar
Date: 8/9/2015
Reply


Надо какой нибудь отладчик погуглить, чтобы посмотреть как устроен QUIK, или на форуме QUIK спросить

Thanks:

dron3333

Avatar
Date: 8/9/2015
Reply


COBRA: Надо какой нибудь отладчик погуглить, чтобы посмотреть как устроен QUIK, или на форуме QUIK спросить

может админ знает как ... я не потяну в этом

Thanks:

Mikhail Sukhov

Avatar
Date: 8/10/2015
Reply


dron3333: я не потяну в этом

Попробуйте обратиться к программисту. Сайты фрилансерские всякие. C# не такой уж редкий язык, чтобы не найти работника.

Thanks:

orphan

Avatar
Date: 8/10/2015
Reply


Костыль:


		public IEnumerable<string> GetMessages()
		{
			try
			{
				var reBarWindow = MainWindow.AllChildWindows.First(w => w.ClassName.CompareIgnoreCase("ReBarWindow32"));
				foreach (var wnd in reBarWindow.AllChildWindows)
				{
					if (!wnd.ClassName.CompareIgnoreCase("ToolbarWindow32")) continue;

					foreach (var combobox32 in wnd.AllChildWindows)
					{
						if (!combobox32.ClassName.CompareIgnoreCase("ComboBoxEx32")) continue;

//************************************************************************
					    bool isEdit = false;
                        foreach (var elem in wnd.AllChildWindows)
                            isEdit = elem.ClassName.CompareIgnoreCase("Edit");

                        if (!isEdit) continue;
//************************************************************************	
				    
						var listContent = combobox32.Content as ListContent;
						if (listContent == null) break;

						//Reverse для FIFO - ранние сообщения должны быть с меньшим индексом в массиве
						return listContent.GetListContentItems().Reverse();
					}
				}
			}
			catch
			{
				throw new Exception("Не удалось получить Окно сообщений");
			}

			return null;
		}


Thanks: Mikhail Sukhov


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy