Перейти к содержанию
Форекс Форум трейдеров Академии «MasterForex-V»

Автоматизация рисования картинок в MT4


Рекомендуемые сообщения

Спасибо за ответ про название волн))) совсем что-то сглупил я

Выставил трендовую линию

Назначил цвет далее название и цвет

тяну фибо сетку (причем раньше пользовался скриптом из подФАКа Fibo_creation3.1, и фибо-сетка уже имеет другой вид от первоначального) запустил скрипт SetNormalFibo зашел в настройки фибо, нажал ОК

на первый взгляд вроде похоже на начальную терминаловскую сетку...

выставил фибо на экран, назначил цвет...

а вот на скрипт AdjustObjects ноль эмоций

проверил у трендовых линий то же самое нет реакции на этот скрипт

на рисунке пример, может увидите мою ошибку или еще что...не знаю, снова нужна помощь мастера :smile:

http://img243.imageshack.us/img243/5369/eurusdm151207.gif

Присоединяюсь к вопросу. Adust fibo я так понял работает ТОЛЬКО если

1. коррекционная сетка тянется на коррекционную волну то есть волна проведенная толстой линией

2. импульсная сетка тянется на волну отмеченную импульсной линией то есть штриховой линией

Правильно? дело в том что, работает в команде аналитиков столкнулся с тем что, необходиму тянуть импульсную сетку на волну отмеченную толстой линией, то есть по сути имп сетка тянется на корр волну( скрипт adjust так считает) и потому не срабатывает, Вопрос можно ли сделать так чтобы ADJUST Fibo срабатывал не только при условиях указанных выше но и того когда имп сетка тянется на корр волну (толстая линия)??

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 198
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

Спасибо за ответ про название волн))) совсем что-то сглупил я

Выставил трендовую линию

Назначил цвет далее название и цвет

тяну фибо сетку (причем раньше пользовался скриптом из подФАКа Fibo_creation3.1, и фибо-сетка уже имеет другой вид от первоначального) запустил скрипт SetNormalFibo зашел в настройки фибо, нажал ОК

на первый взгляд вроде похоже на начальную терминаловскую сетку...

выставил фибо на экран, назначил цвет...

а вот на скрипт AdjustObjects ноль эмоций

проверил у трендовых линий то же самое нет реакции на этот скрипт

на рисунке пример, может увидите мою ошибку или еще что...не знаю, снова нужна помощь мастера :smile:

Присоединяюсь к вопросу. Adust fibo я так понял работает ТОЛЬКО если

1. коррекционная сетка тянется на коррекционную волну то есть волна проведенная толстой линией

2. импульсная сетка тянется на волну отмеченную импульсной линией то есть штриховой линией

Правильно? дело в том что, работает в команде аналитиков столкнулся с тем что, необходиму тянуть импульсную сетку на волну отмеченную толстой линией, то есть по сути имп сетка тянется на корр волну( скрипт adjust так считает) и потому не срабатывает, Вопрос можно ли сделать так чтобы ADJUST Fibo срабатывал не только при условиях указанных выше но и того когда имп сетка тянется на корр волну (толстая линия)??

 

Самое главное: ЦВЕТ линии и фибо-сетки должны быть одинаковыми и линия НЕ должна быть тонкой-сплошной (тонкой-сплошной линией обозначаются каналы, т.е. по ним фибо-сетки не ставятся), по всем остальным типам линий: толстая, тонкая-пунктирная и т.д. фибо-сетка при запуске AdjustObjects выставится. При этом фибо-сетка может любая, не важно обычная, коррекционная, импульсная.

 

Судя по рисунку, цвет линии и фибо-сетки разные, цвет название волны тоже не похож на цвет линии волны :wink: .

 

По трендовым линиям: поставьте лининию по пикам волн например H1 (и установить ей соответствующий цвет), посмотрите концы лини на М1 до запуска скрипта и после (само-собой линия должна быть полностью видна на экране в момент запуска скрипта). На том-же ТФ для которого нарисована линия этой разницы не видно, видно только на меньших ТФ.

Например:

линия на Н1

http://s45.radikal.ru/i107/0907/c8/39d7060a4fec.gif

на М1 до запуска скрипта

http://s58.radikal.ru/i159/0907/38/babd0240e2a8.gif

после запуска

http://i082.radikal.ru/0907/75/f69ea8230901.gif

Ссылка на комментарий
Поделиться на другие сайты

Могли бы вы сделать скрипт который менял трендовую линию допустим на тонкую + пунктирную + луч

я думаю так удобней для использования как НК МФ

если нет то нет(

Cкрипты SetImpuls.mq4 и SetCorrection.mq4 меняют не только фибо-сетки. Если их вызывать для трендовых линии, то

SetImpuls.mq4 - менят линию на тонкую-сплошную или обычную (толстую), а SetCorrection.mq4 на тонкую-пунктирную или обычную (толстую).

 

С лучем, даже не знаю, т.к. скриптов уже много.

Просто если их будет очень много, то они будут непреподъемными для освоения, если только две версии гнать, обычный набор и расширенный.

 

А так, вот код для переключения свойства "Луч":

//+------------------------------------------------------------------+
//|														 Luch.mq4 |
//|							 Copyright © 2007, Troshenkin Andrey. |
//|												 troshenkin@bk.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, Troshenkin Andrey."
#property link	  "troshenkin@bk.ru"

#include <TFColor.mqh>
//+------------------------------------------------------------------+
//| script program start function									|
//+------------------------------------------------------------------+
int start()
{
  string name = GetLastObjectName();

  if (name != "")
  {
  if (ObjectType(name) == OBJ_TREND)
	 ObjectSet(name, OBJPROP_RAY, !ObjectGet(name, OBJPROP_RAY)); 
  } 
  
  return(0);
}

 

Ничаво хитрого и страшного здесь нет :).

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Добрый день!

Подскажите пожалуйста в чём может быть проблема?

Распаковал архив в указанное место,запустил терминал и полный ноль,не запускается плюс ко всему тормозит вся операционка.

Заранее благодарю за помощь.

Ссылка на комментарий
Поделиться на другие сайты

Добрый день!

Подскажите пожалуйста в чём может быть проблема?

Распаковал архив в указанное место,запустил терминал и полный ноль,не запускается плюс ко всему тормозит вся операционка.

Заранее благодарю за помощь.

 

 

Т.к. там только скрипты, то они не запускаются при запуске MT4, соотв. копирование не должно влиять.

Возможный вариант, то что MT4 пытается и скомпилировать еще раз "на бис" при запуске, хотя маловероятно.

Самое простое, это удалить скопированные скрипты (посмотреть какие скрипты лежат в архиве).

А там уже видно будет.

До этого с такой проблемой не встречался. У меня обычно такое происходило когда мучил какой-нить индикатор, который уже установлен на графике, если чета в нем некорректно сделано, то MT4 вешался напрочь, помогало только удаление его ex4-файла и перезапуск MT4.

Ссылка на комментарий
Поделиться на другие сайты

Алгоритм определения последнего созданного объекта. Читать обязательно!!!!

Последний объект определяется по номеру, который находится в названии объектов. Например: "Fibo 13194", "Fibo 13222". Предполагается что максимальный номер соответствует последнему созданному объекту.

Нюанс заключается в том, что в MT4 нумерация объектов сбрасывается минимум раз в сутки где-то в 18 МСК у Fibo или если объектов слишком много (номера объектов переваливают за 65000). Например после "Fibo 13194" идет "Fibo 123" - официально в этом случае последним будет считаться "Fibo 13194".

К сожалению обойти это пока низя и других способов определения последнего созданного объекта я пока не нашел.

насколько я понял, номера объектов нужны вот в таком контексте

string name = RECTANGLE_NAME() + ObjectsTotal(OBJ_RECTANGLE);

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

завязки на поиск объекта по его номеру не нашел.

зачем тогда завязываться на системные номера, если они плавают и столько гемора с этим?

вижу несколько решений, они похожи...

например:

1.создавать спец объект OBJ_TEXT с постоянным именем хитрым - "хитроеимя", во время инициализации любого скрипта- проверяем - если такого обекта нет, значит в первый раз, или ошибка какая-то итп, если надо - создаем.

писать в него через разделители имена последних созданных объектов

или просто номера:

FIBO 12345;RECT 123567;

при создании нового объекта достаем функцией ObjectDescription( "хитроеимя")

описание и вытаскиваем нужный номер, прибавляем 1 - создаем новое имя нового последнего объекта.

обновляем текст в объекте "хитроеимя"...

2.тоже самое - но с файлом (FileWrite()...)

3.хитрый обжект для каждого типа...

 

еще мысль - может для нумерации подойдет время создания в формате 20090723154933... тогда можно процедурку очистки написать старых объектов чтоб не мешались - например, удалять каждый день объекты созданные более чем месяц назад... ну это уже изыски.

 

судя по уровню скриптов - дальше додумаешь :cool2:

 

зы. если я не врубился в тему и все гораздо хуже - заранее сорри, хочу помочь, т.к. вижу что работа проведена большая и вроде качественно.

---------------

додумал в спокойной обстановке - может быть проблема, если удалили объект,в частности -последний ,тогда нужен предпоследний, который теперь новый последний...

вот тут конечно засада. тогда (если важен не порядок создания, а порядок размещения на нрафике) можно нумеровать например временем , с которого рисуется объект, если таких несколько - то добавлять секунды например.

тут от полного перебора объектов не уйдешь, но можно организовать связный массив - в имени объекта хранить номер предыдущего. тогда можно перемещаться туда-сюда, ну соответственно будет обвязка - корректировка следующего объекта при удалении предыдущего, вставка объекта...

 

нда, наверное все-таки проще нумеровать попорядку, но номер последнего - хранить и последовательно увеличивать, а не вытаскивать из ObjectsTotal() - ведь (в том числе) количество объктов может оказаться одинаковым в разное время(хотя это и редкость), но вот гарантировать, что это будет наибольший номер среди уже нумерованных объектов - нельзя.

на случай переполнения - переименовать RenameOldObjects в CompactObjectNumbers... хотя она может и не понадобиться - какая там макс длина имени? сколько знаков номера влезет? :biggrin:

Изменено пользователем forxpvm
Ссылка на комментарий
Поделиться на другие сайты

Добрый день!

Подскажите пожалуйста в чём может быть проблема?

Распаковал архив в указанное место,запустил терминал и полный ноль,не запускается плюс ко всему тормозит вся операционка.

Заранее благодарю за помощь.

 

 

Т.к. там только скрипты, то они не запускаются при запуске MT4, соотв. копирование не должно влиять.

Возможный вариант, то что MT4 пытается и скомпилировать еще раз "на бис" при запуске, хотя маловероятно.

Самое простое, это удалить скопированные скрипты (посмотреть какие скрипты лежат в архиве).

А там уже видно будет.

До этого с такой проблемой не встречался. У меня обычно такое происходило когда мучил какой-нить индикатор, который уже установлен на графике, если чета в нем некорректно сделано, то MT4 вешался напрочь, помогало только удаление его ex4-файла и перезапуск MT4.

 

Спасибо! буду разбираться.

Просьба у кого были такие проблемы откликнуться.

С уважением Дмитрий!

Ссылка на комментарий
Поделиться на другие сайты

вижу несколько решений, они похожи...

например:

1.создавать спец объект OBJ_TEXT

....

Когда начал их делать - были такие мысли, и так и сяк прикидывал, только как представил, что можно создать подряд несколько объектов, какие-то удалить, какие-то переименовать или еще чё-нибудь веселое сделать, на этом все и закончилось - концов не сыщешь, кто первый, кто последний.

 

В идеале хотел - мол выделил объект, скриптами отредактировал и в тинку. Ан нет - нет таких свойств. Далее подумал мож дата создания где-нить есть, чтобы не путаться, создал и тут же подправил, всегда понятно кого сейчас редактировать будешь - такая же история.

К расположению на графике привязываться - не удобно, бывает что фибо-сетку на первую волну вешаю, когда уже третья начинается, или канал нарисовать - они все получаются в прошлом.

Еще была идея - они все таки пишут даты создания объектов в \profiles\default\chart01.chr (для каждого графика свой файл), но тут свои приколы, новые объекты не сразу туда записываются, могут некоторое время и в памяти побыть, не считая проблемы - как определить какой файл какому графику принадлежит. Т.е. тоже отпадает :(.

 

Есть вариант положить на график эксперта который и будет мониторить объекты каждые 1-2 сек и записывать по порядку все объекты в файл а последний в глобальную переменную или OBJ_TEXT. Там с записью в файл есть подвох, может быть несколько профилей, в каждом из них несколько графиков пар, причем пары могут повторяться. Можно конечно у эксперта свойство сделать куда народ будет записывать уникальный номер, т.е. на каждом графике эксперт со своим номером к этому номеру и привязываться. Но эксперт на графике чета мне не нравится. Тем более если кто-то уже использует свой эксперт, вешать два эксперта на один график по-моему не получится.

 

Так и остановился на привязке к номерам в названиях. Просто и сердито. :smile:

 

Хотя может и стоит реализовать вариант с экспертом: если лежит на графике эксперт - значит его используем, нет - значит по старинке.

Ссылка на комментарий
Поделиться на другие сайты

Доброго времени суток, Андрей!

 

Спасибо огромное за скрипты, очень облегчает работу!

 

у меня в процессе рисования возникло одно неудобство:

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

 

чтобы избежать загрузки графика "отработанными" пивотами можно либо удалять их, либо ставить в Свойствах-Отображение-только М1. В любом случае пивоты нужно выделить.

 

Вот тут и начинаются неудобства: объект Arrow довольно сложно выделить двойным кликом мыши - обычно выделяются любые объекты находящиеся рядом (НК, волны, фибо сетки) но только не Arrow.

 

возможно это неудобно не только для меня.

 

вопрос ко всем: существует ли скрипт позволяющий выделять Arrow?

 

если у кого-то есть - поделитесь, плиз!

 

если такого скрипта нет, то вопрос к Андрею - может имеет смысл включить что-то подобное в набор для рисования - думаю, будет полезно.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 месяца спустя...

за скрипты спасибо!! хорошая вещь.

а как бы в скриптах работающих с фибо-сетками уменьшить количество уровней - мне столько не нужно(получается что уровни идут через каждые 5-10 пунктов какую бы сетку не натянул по любому получишь сопротивление), в каком файле нужно подправить?

с уважением, Сергей.

Ссылка на комментарий
Поделиться на другие сайты

Хотел поменять цвета,все сделал так как написано "После внесения изменений в этот файл, необходимо откомпилировать только библиотеку "/libraries/TFColor.mq4", скрипты компилировать не требуется." но никаких результатов,цвета остались такие же как до изменения настроек,в чем проблема,помогите какой нибуть подсказкой...
Ссылка на комментарий
Поделиться на другие сайты

вопрос ко всем: существует ли скрипт позволяющий выделять Arrow?

 

если у кого-то есть - поделитесь, плиз!

 

если такого скрипта нет, то вопрос к Андрею - может имеет смысл включить что-то подобное в набор для рисования - думаю, будет полезно.

 

На сколько знаю программно выделять объекты в MT4 возможности нет :(.

 

за скрипты спасибо!! хорошая вещь.

а как бы в скриптах работающих с фибо-сетками уменьшить количество уровней - мне столько не нужно(получается что уровни идут через каждые 5-10 пунктов какую бы сетку не натянул по любому получишь сопротивление), в каком файле нужно подправить?

с уважением, Сергей.

 

 

Все настройки устанавливаются в файле

"\experts\include\TFColorConfig.mqh"

там есть строка

 

//настройки для фибо-сеток ("..\scripts\SetImpuls.mq4", "..\scripts\SetCorrection.mq4")

double FIBO_LEVELS[] = {0.0, 0.118, 0.236, 0.382, 0.5, 0.618, 0.764, 0.882,

1.0, 1.118, 1.236, 1.382, 1.5, 1.618, 1.764, 1.882,

2.0, 2.236, 2.382, 2.5, 2.618, 2.764,

3.0, 3.236, 3.382, 3.5, 3.618, 3.764,

4.0, 4.382, 4.5, 4.618};

 

в ней как раз и указаны уровни.

 

После редактирования этого файла, нужно откомпилировать файл

"\experts\libraries\TFColor.mq4".

 

 

Хотел поменять цвета,все сделал так как написано "После внесения изменений в этот файл, необходимо откомпилировать только библиотеку "/libraries/TFColor.mq4", скрипты компилировать не требуется." но никаких результатов,цвета остались такие же как до изменения настроек,в чем проблема,помогите какой нибуть подсказкой...

 

Тут даже не знаю, если в TFColorConfig.mqh все поменяли и TFColor.mq4 откомпилировали

то еще вариант может быть - нужно закрыть MT4 и удалить файл "\experts\libraries\mqlcache.dat", при следующем запуске он сам создатся.

Больше вариантов я пока не знаю, что может быть.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...
Подскажите плз... как отрезки зигзагов рисовать как в обучалке. А то у меня длинууущая трендовая линия рисуется, никак не могу ее сделать отрезком, все перерыл. Help
Ссылка на комментарий
Поделиться на другие сайты

У меня просьба к автору сделать скрипт для отображения или скрития оанды на графике и добать его в набор.иногда она мешает думаю найдутся такие люди которые со мной согласны,например при рисовании волн или просто так для наглядности.

Оанду нужна ведь не все время а иногда поглядивать на уровни

Ссылка на комментарий
Поделиться на другие сайты


×
×
  • Создать...