terminal.GetMessages() некорректно работает
Atom Ответить
05.08.2015


Код

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


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

Теги:


Спасибо:




10 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 05.08.2015
Ответить


Спасибо:

dron3333

Фотография
Дата: 05.08.2015
Ответить


Mikhail Sukhov Перейти
https://github.com/StockSharp/StockSharp/blob/master/Connectors/Quik/QuikTerminal.cs



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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 05.08.2015
Ответить


dron3333 Перейти
Mikhail Sukhov Перейти
https://github.com/StockSharp/StockSharp/blob/master/Connectors/Quik/QuikTerminal.cs



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


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

dron3333

Фотография
Дата: 05.08.2015
Ответить


Mikhail Sukhov Перейти
dron3333 Перейти
Mikhail Sukhov Перейти
https://github.com/StockSharp/StockSharp/blob/master/Connectors/Quik/QuikTerminal.cs



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


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



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

Автор топика
Спасибо:

COBRA

Фотография
Дата: 07.08.2015
Ответить


наверно имена окон в новых версиях 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;
}
Спасибо:

dron3333

Фотография
Дата: 09.08.2015
Ответить


COBRA Перейти
наверно имена окон в новых версиях 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;
}


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

COBRA

Фотография
Дата: 09.08.2015
Ответить


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

dron3333

Фотография
Дата: 09.08.2015
Ответить


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


может админ знает как ... я не потяну в этом
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 09.08.2015
Ответить


dron3333 Перейти
я не потяну в этом


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

orphan

Фотография
Программист
Дата: 10.08.2015
Ответить


Костыль:

Код

		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;
		}

Спасибо: Mikhail Sukhov


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy