Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Использование Excel для работы на Forex, Excel в связке с MT4, MT5 для работы на валютных рынках
 
Здравствуйте дорогие любители Excel!

Предисловие

Ни для кого не секрет, что в интернете статей про торговлю на рынке форекс очень много, но в основном это 5% по настоящему стоящей информации в зоне RU. Все остальное или размноженно и выложено на тысячах сайтов, либо на английском (пол беды), либо реклама.
На мой взгляд planetaexcel.ru самый авторитетный ресурс посвященный Excel, за что огромное спасибо Николаю и всем участникам этого замечательного сайта. Думаю найдется не один человек интересующийся валютными операциями и в частности связкой Excel с разнообразными торговыми платформами и базами данных. В связи с этим прошу выделить отдельную ветку на форуме посвященную связке Excel c торговыми платформами, и созданию разнообразных вспомогательных программ средствами Excel.

А теперь перейду к одной из проблем в которой прошу помощи советом.

Задача:
Создание тиковой истории котировок с возможность выбора нужного тайм фрейма.

Что имеется:

А имеется такой вот макрос
Код
Private Sub Worksheet_Calculate()
i = Worksheets("EURUSD").UsedRange.Rows.Count

Worksheets("EURUSD").Cells(i + 1, 1).Value = Worksheets("Quotes").Cells(2, 2).Value 'Bid
Worksheets("EURUSD").Cells(i + 1, 2).Value = Worksheets("Quotes").Cells(2, 3).Value 'Ask
Worksheets("EURUSD").Cells(i + 1, 3).Value = Worksheets("Quotes").Cells(2, 4).Value 'Open
Worksheets("EURUSD").Cells(i + 1, 4).Value = Worksheets("Quotes").Cells(2, 5).Value 'High
Worksheets("EURUSD").Cells(i + 1, 5).Value = Worksheets("Quotes").Cells(2, 6).Value 'Low
Worksheets("EURUSD").Cells(i + 1, 6).Value = Worksheets("Quotes").Cells(2, 7).Value 'Close
Worksheets("EURUSD").Cells(i + 1, 7).Value = Worksheets("Quotes").Cells(2, 8).Value 'Volume
Worksheets("EURUSD").Cells(i + 1, 8).Value = Worksheets("Quotes").Cells(2, 9).Value 'Spread
Worksheets("EURUSD").Cells(i + 1, 9).Value = Time() 'Time
Worksheets("EURUSD").Cells(i + 1, 10).Value = Worksheets("Quotes").Cells(2, 12).Value 'Date

End Sub

Лист Quotes получает динамические данные от терминала



На листе EURUSD, записываются любые изменения на листе Quotes в таком виде:



Нужно:
1. Чтоб на листе Timeframes формировался список всех строк найденых на листе EURUSD по заданному таймфрейму.
2. Значения столюцов Open и Close автоматически заполнялись по следующему условию: Open - первая секунда новой минуты, Close - последняя ( значения 00:00:01 может не найтись, по этому нужно найти первое и последнее значение в пределах каждой минуты)

Например, нужный таймфрейм 1 минута. Функция должна найти все значения в пределах каждой минуты, найти максимальное и минимальное значение BID в пределах каждой минумы и записать соответственно в поля High и Low, найти первое и последнее значение каждой минуты и соответственно записать в поля Open и Close значения ячейки Bid

Дело усложняется тем, что функция должна искать в динамической среде.

Заранее спасибо всем отозвавшимся.
Изменено: Darky - 19.03.2016 22:59:13
Страницы: 1
Наверх