• Тинькофф Банк-лучшие банковские продукты еще выгоднее
    Выбирайте продукт от банка Тинькофф
  • Уважаемые форумчане, друзья и посетители!
    Поступило предложение ( ссылка на обсуждение ) на сбор средств поддержания форума в рабочем состоянии с 1 июня ( оплата хостинга, бэкап ежедневный на другой хостинг и тд), отчетность будет предоставляться ежемесячно. Пока на ЮMoney ( яндекс деньги), доступно картой перевод, далее добавлю другие способы. Сумму перевода указывайте на ваш выбор исходя из своих возможностей.
    Форум продолжает свою работу благодаря Вашим пожертвованиям.

Иконка ресурса

Utility for aligning and restoring multiple chart positions in a screen matrix 2019-07-27

Нет прав для скачивания
Utility for aligning and restoring multiple chart positions in a screen matrix

Exported using NT Version 6.5.1000.11

If you often have the same set of charts up at one time, you can use this indicator to align them neatly into a "matrix" on the screen and restore the same layout later.

This functionality may be included in NT 7, making this more of an example of programming techniques.

The indicator also includes a feature which allows you to set three horizontal grid interval conditions, depending on the chart's time period. This may be useful if you want to have the horizontal grid spacing change as you change the chart's period e.g. for a 15 minute chart, set the tick interval to 10 ticks/pips, for a 60 minute chart, set the interval to 40 (4x15 minutes => 4x10 pips).

Of possible interest to some programmers is that the horizontal rule feature exposes its properties as expandable objects in the NT property grid, similar to how font and color objects expand. This code could be adapted for many other uses.

The code references unsupported NT objects, so use at your own risk and test with each NT update (especially v7).


Usage

If you have several charts, it takes a few minutes to set up the first time. If you save your setup in a workspace, your charts matrix will be restored next time you open the workspace.

1. Open your charts and roughly position them in rows and columns.

2. Add the ChartPositions indicator to each chart.

3. Each chart needs to know the size of the matrix, so specify the GridRows and GridColumns properties on each chart's ChartPosition indicator to the same matrix size e.g. 2 rows, 3 columns

4. For each chart, set the ChartRow and ChartColumn according to where you want it to appear in your matrix. These are zero-based, so the first column is 0, etc.

5. Save your workspace. This persists the individual settings for each chart. Next time you open the workspace your view will be restored.

If you fully expand a chart, the positioning logic is skipped. If you change the size of a chart and want it to return to its location, use F5 to re-run the indicators.

Note that if you save a chart's template, and then add a new chart using that template, the new chart will appear in same place as the first, so set the new chart's ChartColumn and ChartRow positions and save your workspace again.

To use the horizontal grid interval settings:

1. For each chart, expand a Horizontal Grid Rule object and set a period (e.g. minutes), a period value (e.g. 15), and a horizontal pips value (e.g. 10 pips).

2. Repeat for the other two rules if desired.

3. Save the workspace if you want these settings to persist too.


If you want to use the "expandable objects" for your own classes, copy the horizontal guide class namespace and paste into your own indicator and adapt the class defintion to suit. Declare object instances in the main code e.g. Initialize event.

Expose the actual objects via indicator properties and be sure to include the attributes similar to the ones shown.

For a good discussion of this technique, see http://www.codeproject.com/KB/cs/pro...?display=Print

The article doesn't show every line of code required, so see the demo program's PhoneNumber C# files for more information.

That's it!

OregonSun
=====
Утилита для выравнивания и восстановления нескольких позиций графика в матрице экрана

Экспортируется с использованием NT версии 6.5.1000.11

Если у вас часто есть один и тот же набор диаграмм одновременно, вы можете использовать этот индикатор, чтобы аккуратно выровнять их в «матрицу» на экране и позже восстановить ту же схему.

Эта функциональность может быть включена в NT 7, что делает ее более примером техники программирования.

Индикатор также включает функцию, которая позволяет вам установить три горизонтальных интервала сетки, в зависимости от периода времени графика. Это может быть полезно, если вы хотите изменить горизонтальный интервал сетки при изменении периода графика, например для 15-минутного графика установите интервал между тиками 10 тиков / пипсов, для 60-минутного графика установите интервал до 40 (4х15 минут => 4х10 пипсов).

Некоторым программистам интересен тот факт, что функция горизонтального правила представляет свои свойства как расширяемые объекты в сетке свойств NT, подобно тому, как расширяются объекты шрифта и цвета. Этот код может быть адаптирован для многих других целей.

Код ссылается на неподдерживаемые объекты NT, поэтому используйте на свой страх и риск и тестируйте каждое обновление NT (особенно v7).


использование

Если у вас есть несколько графиков, настройка займет несколько минут. Если вы сохраните настройки в рабочей области, матрица диаграмм будет восстановлена при следующем открытии рабочей области.

1. Откройте ваши диаграммы и примерно разместите их в строках и столбцах.

2. Добавьте индикатор ChartPositions на каждый график.

3. Каждой диаграмме необходимо знать размер матрицы, поэтому задайте свойства GridRows и GridColumns в индикаторе ChartPosition каждого графика для одного и того же размера матрицы, например. 2 ряда, 3 столбца

4. Для каждого графика установите ChartRow и ChartColumn в соответствии с тем, где вы хотите, чтобы они отображались в вашей матрице. Они начинаются с нуля, поэтому первый столбец равен 0 и т. Д.

5. Сохраните ваше рабочее пространство. При этом сохраняются индивидуальные настройки для каждого графика. В следующий раз, когда вы откроете рабочую область, ваш вид будет восстановлен.

Если вы полностью разверните график, логика позиционирования пропускается. Если вы изменили размер графика и хотите, чтобы он вернулся на свое место, используйте F5 для повторного запуска индикаторов.

Обратите внимание, что если вы сохраните шаблон диаграммы, а затем добавите новую диаграмму, используя этот шаблон, новая диаграмма появится в том же месте, что и первая, поэтому установите позиции ChartColumn и ChartRow новой диаграммы и снова сохраните свое рабочее пространство.

Чтобы использовать настройки интервала горизонтальной сетки:

1. Для каждого графика разверните объект Правило горизонтальной сетки и установите период (например, минуты), значение периода (например, 15) и значение горизонтальных пипсов (например, 10 пипсов).

2. Повторите для двух других правил, если хотите.

3. Сохраните рабочее пространство, если вы хотите, чтобы эти настройки тоже сохранялись.


Если вы хотите использовать «расширяемые объекты» для своих собственных классов, скопируйте пространство имен горизонтального направляющего класса и вставьте его в свой собственный индикатор и адаптируйте определение класса в соответствии с требованиями. Объявите экземпляры объекта в основном коде, например, Инициализировать событие.

Выставьте фактические объекты через свойства индикатора и обязательно включите атрибуты, подобные показанным.


В статье не показаны все необходимые строки кода, поэтому для получения дополнительной информации см. Файлы PhoneNumber C # демонстрационной программы.

Это оно!

OregonSun

ChartPositions.jpg
Автор
Muratik
Скачиваний
8
Просмотры
1.008
Первый выпуск
Обновление
Рейтинг
0,00 звёзд Оценок: 0

Ещё ресурсы от Muratik

Назад
Верх Низ