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

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


Code

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"

Code

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"

Code

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:

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


Костыль:

Code

		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