МГС  Московская Гигабитная Сеть
 www.umos.su info@umos.su  Выделенные линии Ве/б-Студия Хостинг Collocation
 Тарифы Вопросы и ответы Полезная информация Контакты

Софт >> Excel

Страниц в ветке: 1
Yans
Гость


Зарегистрирован: 29/10/2010
Сообщений: 18
Нахождение: Россия, г.Волгодонск, Ростовск...
Помогите запустить Market Delta в Exel
      #318598 - 29/11/2010 15:15 прикреплённые файлы (170 загрузок)

Проблема такая - есть готовый файл, но запустить в реале не получается. В Оффисе 2003 макрос запускаетя только на тех данных что присутствуют на странице Trades. Если завести, например с Квика, новые данные, то расчет Дельты не происходит и выдает ошибку (на рисунке), на этом все и заканчивается. Юзал давно VB-6, а VBA только начал, поэтому пока не догоню в чем дело. Там на рисунке видно какие-то пароли, но при запуске никаких табличек не выскакивает на счет паролей. Помогите кто может!

--------------------
Я не волшебник, но быстро учусь!


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Yans
Гость


Зарегистрирован: 29/10/2010
Сообщений: 18
Нахождение: Россия, г.Волгодонск, Ростовск...
Re: Помогите запустить Market Delta в Exel [re: Yans]
      #318602 - 29/11/2010 15:19 прикреплённые файлы (144 загрузок)

А вот и рисунок с ошибкой. Кстати, эта шибка на 2007м Оффисе. Но и на 2003м с новыми данными не работает и в реале тоже.

--------------------
Я не волшебник, но быстро учусь!


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Yans
Гость


Зарегистрирован: 29/10/2010
Сообщений: 18
Нахождение: Россия, г.Волгодонск, Ростовск...
Re: Помогите запустить Market Delta в Exel [re: Yans]
      #320570 - 16/12/2010 20:28 прикреплённые файлы (122 загрузок)

Сам покопался в макросе, вроде получилось. Работает в реале от Квика. Кому надо поменять Таймфрейм нужно поменять в макросе две строки (Tm = DateAdd("n", 15, Tm)), вместо 15 ставите свое время. Перед запуском в реале удалить все данные на листе Trades. Если выключить Квик и потом снова включить, пересчет продолжается, что очень радует. Хотелось бы добавить выделение ячейки с максимальным объемом на свече. Но пока тяму не хватает. Может кто поможет? Подключайтесь! Вместе может и слепим?

--------------------
Я не волшебник, но быстро учусь!


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Yans
Гость


Зарегистрирован: 29/10/2010
Сообщений: 18
Нахождение: Россия, г.Волгодонск, Ростовск...
Re: Помогите запустить Market Delta в Exel [re: Yans]
      #320652 - 17/12/2010 21:58 прикреплённые файлы (122 загрузок)

Еще один вариант ТФ М5. Не плохо бы фильтр присабачить, а то свечи уж больно большие.

--------------------
Я не волшебник, но быстро учусь!


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Yans
Гость


Зарегистрирован: 29/10/2010
Сообщений: 18
Нахождение: Россия, г.Волгодонск, Ростовск...
Re: Помогите запустить Market Delta в Exel [re: Yans]
      #321433 - 28/12/2010 20:17

Что-то не наблюдаю активности! Все вроде работает, но хочется большего. Хочу прикрутить выделение ячейки с наибольшей Дельтой на каждой свече. Нашел как выделять ячейку, но не знаю куда вставить. Для этого надо знать весь алгоритм расчетов, чем сейчас и занят. С удивлением обнаружил много лишнего в коде. Нашелся один лишний модуль, куча переменных и процедур, которые не участвуют в расчетах. Почистил как мог - вроде все работает. Не могу понять две строчки (на прилагаемом рисунке), может кто объяснит колхознику по-простому? Строчки выделены рамкой. Всех с Новым годом!

--------------------
Я не волшебник, но быстро учусь!


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Yans
Гость


Зарегистрирован: 29/10/2010
Сообщений: 18
Нахождение: Россия, г.Волгодонск, Ростовск...
Re: Помогите запустить Market Delta в Exel [re: Yans]
      #321799 - 03/01/2011 21:23 прикреплённые файлы (129 загрузок)

А вот и файлы!

--------------------
Я не волшебник, но быстро учусь!


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Yans
Гость


Зарегистрирован: 29/10/2010
Сообщений: 18
Нахождение: Россия, г.Волгодонск, Ростовск...
Re: Помогите запустить Market Delta в Exel [re: Yans]
      #322295 - 12/01/2011 13:40 прикреплённые файлы (106 загрузок)

Ну вот вроде получилось сделать выделение максимальной Дельты на каждой свече! Если у кого есть лучший вариант решения этой проблемы, прошу поделиться. Мне кажется существуют и другие способы решения. Интересно было бы посмотреть и поучиться в плане оптимизации кода, т.к. в итоге это сказывается на скорости обработки данных. Еще, вопрос к знатокам. В коде пришлось поменять местами "купля" "продажа", т.к. не вижу логики в отображении свечей. Например, если цена идет вверх несколько свечей, то преобладают быки - дельта должна быть положительной в большинстве случаев, а было все наоборот. Где-то на форумах задавали вопрос Квиковцам насчет направления сделок, обещали решить этот вопрос. Так что не знаю, правильно я сделал или нет?

--------------------
Я не волшебник, но быстро учусь!


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Yans
Гость


Зарегистрирован: 29/10/2010
Сообщений: 18
Нахождение: Россия, г.Волгодонск, Ростовск...
Re: Помогите запустить Market Delta в Exel [re: Yans]
      #322298 - 12/01/2011 14:08

К стати еще. Если кому надо убрать постоянно выпрыгивающую табличку что "макрос содержит личную информацию...", то "...галку нужно убрать в настройках безопасности - удалять личную информацию...". Где-то на форумах нашел - мне помогло!

--------------------
Я не волшебник, но быстро учусь!


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
maras_m
Гость


Зарегистрирован: 17/11/2009
Сообщений: 8
Re: Помогите запустить Market Delta в Exel [re: Yans]
      #322348 - 13/01/2011 01:30 прикреплённые файлы (92 загрузок)

как завести шкатулку,выскакивает эта ошибка....

Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Yans
Гость


Зарегистрирован: 29/10/2010
Сообщений: 18
Нахождение: Россия, г.Волгодонск, Ростовск...
Re: Помогите запустить Market Delta в Exel [re: maras_m]
      #322511 - 14/01/2011 23:04 прикреплённые файлы (136 загрузок)

А ларчик просто открывался! Ответ на рисунке. Жаль, но выделение максимальной Дельты на свече работает не правильно - изначально не правильный алгоритм получился. Вобщем думать надо. Вместе с рисунком кидаю тренировочный файл, а там в коде найдете коментарий "Здесь выделение ячейки". Если у кого появятся идеи, прошу поделиться, буду благодарен. Скорее всего через массивы надо решать, а с этим пока трудности.

--------------------
Я не волшебник, но быстро учусь!


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Yans
Гость


Зарегистрирован: 29/10/2010
Сообщений: 18
Нахождение: Россия, г.Волгодонск, Ростовск...
Re: Помогите запустить Market Delta в Exel [re: Yans]
      #324737 - 09/02/2011 19:34

Появилась мысль стакан еще прикрутить. Но вот возникла проблема, может кто поможет, посоветует что? Вопрос такой: есть две переменные Cenas и high одного типа Double. В коде представлены в таком виде Cenas = Round(tr.prices, 1) и high = Round(tr.pric, 1), т.е. Обе округлены до одного знака после запятой. Обе они в процесе обработки изменяются. И вот когда их значения равны должно произойти какое-то событие.Построчно запускаю макрос, переменные изменяются, но когда они становятся одинаковыми (Cenas = high), то ничего не происходит - конструкция If Cenas = high Then...End If.. не срабатывает, а точнее пропускается. Стал разбираться и выяснил, что если заменить Cenas = high, на CN = 0, а CN = Cenas - high, то и в этом случае не срабатывает - почему-то CN не равно нулю, хотя и Cenas и high, если навести на них мышку, числа одинаковые. Например показывают 101,4 и 101,4, а их разница почему-то не равна нулю. В чем тут дело, не пойму?
Вот кусочек кода:

While Round(tr.prices, 1) > high ' Проверка на максимум

DeltaSheet.Rows(2).Insert Shift:=xlDown 'Вставка строки со сдвигом вниз
If (Round(tr.prices, 1) - high) * 10 > 0 Then
high = high + 0.1
DeltaSheet.Cells(2, 1).Value = high
cn = high - Cenas
If cn = 0 Then
'DeltaSheet.Cells(2, 1).Value = high
'Else
DeltaSheet.Cells(2, 1).Value = high
DeltaSheet.Cells(2, clmn + 2).Value = tr.bid
DeltaSheet.Cells(2, clmn + 3).Value = Cenas
DeltaSheet.Cells(2, clmn + 4).Value = tr.ask


End If

End If



Wend

--------------------
Я не волшебник, но быстро учусь!


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
igmar
Верю в СССР
***

Зарегистрирован: 06/11/2006
Сообщений: 685
Нахождение: Россия
Re: Помогите запустить Market Delta в Exel [re: Yans]
      #324763 - 10/02/2011 10:51

Отнять одно значение от другого и будет видно чему равна разница. Отнимать в ячейке, а не в уме и не наведением мышки.

Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Yans
Гость


Зарегистрирован: 29/10/2010
Сообщений: 18
Нахождение: Россия, г.Волгодонск, Ростовск...
Re: Помогите запустить Market Delta в Exel [re: igmar]
      #325681 - 18/02/2011 20:07

Да Умные люди уже объяснили - вещественные переменные и все такое.... Вобщем надо сначала переменные привести к целым числам - вот и все решение! Стакан почти прикрутил, осталось проверить в реале.http://forex.kbpauk.ru/images/icons/ooo.gif

--------------------
Я не волшебник, но быстро учусь!


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Yans
Гость


Зарегистрирован: 29/10/2010
Сообщений: 18
Нахождение: Россия, г.Волгодонск, Ростовск...
Re: Помогите запустить Market Delta в Exel [re: Yans]
      #326541 - 26/02/2011 16:34 прикреплённые файлы (132 загрузок)

Выкладываю файл MD со стаканом. Но сразу предупреждаю - стакан не обновляется, к сожалению! В архиве в Вордовском документе показано как подключать файл к Квику, а на рисунках показано где и что можно поменять. Проблема в том что по отдельности и MD и Стакан работают (в реале), а вместе нет! Вот и вопрос к знатокам - как сделать чтобы две процедуры работали одновременно. Вообще возможно ли это?

--------------------
Я не волшебник, но быстро учусь!


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
lib
Гость


Зарегистрирован: 19/04/2009
Сообщений: 1
Нахождение: Москва
Re: Помогите запустить Market Delta в Exel [re: Yans]
      #327953 - 13/03/2011 11:31

Занимательная штуковина, а если цена - целое число, тады надо шаг цены прикручивать или как и кстати куда?

--------------------
..не то чтоб на слово не верю.., но ссылочка вас оправдает... (с)


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Yans
Гость


Зарегистрирован: 29/10/2010
Сообщений: 18
Нахождение: Россия, г.Волгодонск, Ростовск...
Re: Помогите запустить Market Delta в Exel [re: lib]
      #328325 - 15/03/2011 22:48

Блин! Вот незадача! Везде назадавал вопросов! Все кто ответил утверждают, что многопоточность Excell не поддерживает! Хотел все перенести на VB 6.0, но и там тоже самое. Вобщем пока облом. На одном форуме нарыл подсказку. Буду пробовать. Если получится, отпишусь. Ну а если цена - целое число, надо код переделывать. В принципе не очень сложно. Вот например строчка из кода: high = Round(tr.price, 2) 'округляем цену до двух знаков после нуля (Round,...2) и присваиваем high. Если цена число целое, то и округлять не надо. Можно просто записать: high = tr.price и так по всему коду! Вот и все! Удачи.
Если кто знает способ, как заставить два потока данных обрабатывать одновременно прошу не жадничать! Мож через массивы...?

--------------------
Я не волшебник, но быстро учусь!


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Анугама
Душа форума
***

Зарегистрирован: 30/01/2006
Сообщений: 269
Нахождение: Екатеринбург
Re: Помогите запустить Market Delta в Exel [re: Yans]
      #355087 - 29/12/2011 09:00

В Excel можно реализовать как псевдомногопоточность, так и реальную многопоточность. Первое возможно, если разделить по времени выполнение процедур. Использовать конструкцию
Application.OnTime Now + TimeValue("00:00:05"), "my_Procedure"
Пример, по-сути, из справки, запускает некий макрос через 5 минут. Можно организовать автоматический запуск нужных процедур по таймеру, причём, передавая от одной к другой данные (как бы параметры), что имитирует многопоточность. Т.к. запуск процедуры напрямую с параметрами невозможен, данные передавать надо через лист, который можно временно создавать программно в скрытом виде и кидать на него некие данные. После чего лист грохать.
Второе - более сложный наворот, с запуском ещё одного приложения Excel (именно приложения, Application) в виде инвизибл, но которое, тем не менее, будет работать и выполнять какую-то обработку данных. Т.е. получаем резидентно висящий в оперативке ещё один файл Excel, в котором обрабатываются некие макросы.
Сам я реализовывал только первый вариант, но и второй, судя по форумам, люди юзают.

--------------------
Что рубль падает, что доллар - всё хорошо для шляпы нищего...


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Страниц в ветке: 1



Дополнительная информация
0 зарегистрированных и 0 незарегистрированных пользователей просматривает форум.

Модератор:  michaelus, SGN, EVM, x4x, 000, Akelo, Socol, Ленивый, Ptem, Kadavr, podval, untoxa, VovaM, Asd, Igonter 

Распечатать тему

Доступ и ограничения:
      Вы не можете начать новую тему
      Вы не можете отвечать на тему
      HTML включён
      UBBCode включён

Рейтинг: ***
Тема прочитана: 5755

Рейтинг темы

Перейти на

Send letter to Poul | Предупреждение Poul Trade Forum

Powered by UBB.threads™ 6.5.4

Generated in 0.027 seconds in which 0.004 seconds were spent on a total of 12 queries. Zlib compression enabled.