Советник DC14 (MQ5)

eevviill

Заблокирован
pre4

Пока только работает вход по АVG TP SL.
От этого будем всё исправлять.
 

Вложения

  • DC mq5.jpg
    DC mq5.jpg
    27,8 КБ · Просмотры: 180
  • DC 14 (pre4).mq5
    219,2 КБ · Просмотры: 108

eevviill

Заблокирован
И ещё. Это конечно больше к метаквотам. Например функция которая возвращает где цена. Над или под параболиком(1,-1). Зачем всё так усложнять???

MQL4
PHP:
double parab(string symb)
{
double parabolic = iSAR(symb,TF_Par,Step,MaxS,0);

if(iClose(symb,TF_Par,0)>parabolic) return(1);
if(iClose(symb,TF_Par,0)<parabolic) return(-1);
return(0);
}


MQL5
PHP:
//--- переменная для хранения хэндла индикатора iSAR
int    SAR_handle;

/////////////////////
int parab(string symbb)
{
double parabolic = iSARf(symb,TF_Price,Step,MaxS,0);

if(iClose(symbb,TF_Price,0)>parabolic) return(1);
if(iClose(symbb,TF_Price,0)<parabolic) return(-1);
return(0);
}

////////
double iClose(  string symbol_name,  int timeframe, int  start_pos){
double close_array[]; int              count=1;
     CopyClose(
             symbol_name,       // имя символа
              periodd(timeframe),         // период
             start_pos,         // откуда начнем 
             count,             // сколько копируем
             close_array      // массив для копирования цен закрытия
   ); 
   return(close_array[0]);  }
 
Последнее редактирование:

Dreamsdf

Новичок форума
ошибка в журнале советника:
cannot load indicator 'Moving Average' [4302]
cannot load indicator 'Parabolic SAR' [4302]
cannot load indicator 'Accelerator Oscillator' [4302]

но в терминале данные индикаторы есть,как можно исправить?
терминал MT5 от Alpari
 
Последнее редактирование:

eevviill

Заблокирован
ошибка в журнале советника:
cannot load indicator 'Moving Average' [4302]
cannot load indicator 'Parabolic SAR' [4302]
cannot load indicator 'Accelerator Oscillator' [4302]

но в терминале данные индикаторы есть,как можно исправить?
терминал MT5 от Alpari
Я же писал. В 4 версии пока только вход по AVG работает+ТП и СЛ.
К сожалению ни Дима(тот кто писал), ни Странник, ни Скальпер пока помочь не могут(ну или вообще не могут).

Подсобираю денег и буду обращатся к Нимусу.
 

ale002

::: __,,,^._.^,,,__ :::
В MT5 работа с индикаторами организована не так. Тем способом, который выбран в вашем сове, хэндлы можно создавать только в OnInit, а извлекать данные (CopyBuffer) - по ходу пьесы (OnTick). Но поскоку у вас дафига пар и ТФ, и хэндлов будет туева хуча. И ещё - система мультивалютная, а срабатывает по приходу тика одной пары. Не вникал из чего именно извлекаете сигналы, но пока придёт тик этой пары, на др парах может натикать стока, что пролетит мимо сигнала
 

eevviill

Заблокирован
В MT5 работа с индикаторами организована не так. Тем способом, который выбран в вашем сове, хэндлы можно создавать только в OnInit, а извлекать данные (CopyBuffer) - по ходу пьесы (OnTick). Но поскоку у вас дафига пар и ТФ, и хэндлов будет туева хуча. И ещё - система мультивалютная, а срабатывает по приходу тика одной пары. Не вникал из чего именно извлекаете сигналы, но пока придёт тик этой пары, на др парах может натикать стока, что пролетит мимо сигнала
Спасибо за объяснение.

Не работают функции индикаторов и функция закрытия (ордера не закрываются).
PHP:
atr = ATR(symb); par = parab(symb); ACf = AC(symb); Dam = Damiani(symb); 
   sp = spread(symb); DfMA = Distance_from_MA(symb);

На MQL4 версия.
http://forexsystemsru.com/sovetniki/66250-sovetnik-dc-73.html#post508595
 

eevviill

Заблокирован
Можете глянуть сколько будет стоить поправить?
 

ale002

::: __,,,^._.^,,,__ :::
Уже посмотрел: "поправить" это вы мягко выразались, работу с индикаторам надо сочинять практически полностью. Насчёт закрытия не смотрел. Вам надо было задействовать стандартные библиотеки MT5 - в них есть написанная прогерами Метаквотов работа с ордерами, историей, тралами и т.д. Правда, не мульти и без мэджика - тоже требует напильника. И запуск всего не по тику, а по таймеру раз в секунду было бы идеологически правильнее для мульта
 

SilverKZ

Элитный участник
Хотелось бы попробовать реализовать свою версию. Если не затруднит, дайте ссылку на описание ТС.
 

vlad_123

Местный знаток
Пофиксал пару ошибок в советнике.

Хай народ.

Пофиксал тут пару ошибок в советнике из первого поста:

1). В функциях 'double CalculateStrengthPairsTF' и всех индикаторных типа 'double iSARf' вызовы SymbolSelect обернуты в 'if (!SymbolSelect(...)) return(0.0);' ибо нефик калькулировать символы, не существующие в конкретном ДЦ.

2). Пофикшен 'double iMAf', а именно - вызов iMA, который и вызывал кучу ошибок 4202. Там в вызове iMA в качестве периода передавалось не обычное int значение period, а оно зачем-то преобразовывалось в timeframe как periodd(period).


Советника приаттачил.
 

Вложения

  • DC 14.mq5
    212,7 КБ · Просмотры: 80

eevviill

Заблокирован
Хай народ.

Пофиксал тут пару ошибок в советнике из первого поста:

1). В функциях 'double CalculateStrengthPairsTF' и всех индикаторных типа 'double iSARf' вызовы SymbolSelect обернуты в 'if (!SymbolSelect(...)) return(0.0);' ибо нефик калькулировать символы, не существующие в конкретном ДЦ.

2). Пофикшен 'double iMAf', а именно - вызов iMA, который и вызывал кучу ошибок 4202. Там в вызове iMA в качестве периода передавалось не обычное int значение period, а оно зачем-то преобразовывалось в timeframe как periodd(period).


Советника приаттачил.
Уху! Спасибо!
Низкий поклон от меня!(только что вклонился)
 

vlad_123

Местный знаток
Уху! Спасибо!
Низкий поклон от меня!(только что вклонился)

:)
Не за что.
Я завтра выложу версию с удалением данных индикаторов, а то у меня сегодня при тестировании ошибки выделения памяти показывало.
Если будут еще замечания - пишите.
 

vlad_123

Местный знаток
Как и обещал - новая версия советника.
Пофикшено много чего, из критичного - в первоначальной версии некорректно работало назначение Reverse-переменных. Т.е. как только по одной паре срабатывал реверс - нереверсивные значения перезаписывались реверсивными, т.е. советник начинал использовать только реверсивные переменные.

Кроме того, для каждого вызова индикатора включен вызов IndicatorRelease(). Это не здОрово с точки зрения performance, но для оценки работы советника потянет.

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

Ну и выбор фикс.лот/процент депо работал наоборот.

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

Вложения

  • DC 14.mq5
    205,9 КБ · Просмотры: 74
Последнее редактирование:

Denver74

Элитный участник
Как и обещал - новая версия советника.
Пофикшено много чего, из критичного - в первоначальной версии некорректно работало назначение Reverse-переменных. Т.е. как только по одной паре срабатывал реверс - нереверсивные значения перезаписывались реверсивными, т.е. советник начинал использовать только реверсивные переменные.

Кроме того, для каждого вызова индикатора включен вызов IndicatorRelease(). Это не здОрово с точки зрения performance, но для оценки работы советника потянет.

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

Ну и выбор фикс.лот/процент депо работал наоборот.

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

eevviill

Заблокирован
Переменные

Кстати забыл написать в этой ветке.

PHP:
"Валютные пары"; //валютные пары принимающие участие в торгах
EURUSD 
EURJPY
...
Lot //лот
Enter //уровень AVG валюты для открытия ордера(+ и -)
Exit = 30; //уровень AVG валюты для закрытия ордера(+ и -)
Spread_Limit = 6; //лимит величины спреда
Close_Profit_for2orders //общий профит для 2 ордеров
koef_close_profit //коэфициент для общего профита для 2-их ордеров(для сумы 3-их и каждых последующих ордеров)
dop_symb //дополнительный символ для брокеров с нестандартыми названиями валют
TF_Price //ТФ для MA,AC,PAR
"Настройки для реверса"; //настройки если реверс включён
"Damiani indicator"; //настройки индикатора. используется для определения вкл\выкл реверса
"Moving avarage"; //настройки индикатора. используется как фильтр входа
"Parabolic"; //настройки индикатора. используется для закрытия ордера
"ATR"; //настройки индикатора. используется как фильтр входа 
"Accelerator Oscillator"; //настройки индикатора. используется как фильтр входа 
TP; //тейк профит для 1-го ордера
SL; //стоп лос для 1-го ордера
"Безубыток" //настройки безубытка
BULevel //на сколько пунктов в + должна зайти цена чтобы сработал безубыток
BUsize //на сколько пунктов в + перемистится СЛ после срабатывания безубытка
"Время работы" //со скольки до скольки будет работать советник
StartHour //время начала работы
extStopHour //время конца работы
Friday_close_orders_hour //время закрытия ордеров в пятницу
"Служебное" //настройки ордера
slip=3 //проскальзывание
MaxAttempts=14 //максимальное количество попыток открыть ордер
MAGIC=14446 //меджик намбер ордера
Comment_ //комментарий к ордеру
"Dashboard" //настройки индикатора дашбоард
FontSize //размер индикатора
Period_ //период расчёта МА и ATR
"Настройки цвета данных" //цвет данных выводимых на экран
eurusd 
eurjpy
...
"Настройки размера данных" //размер данных выводимых на экран

Советник работает при перевесе одной пары над другой (AVG).
 

Flud69

Новичок форума
Поясните плизс что за ошибку выдаёт:
NG 0 DC 14_V2 31012013 (AUDJPY,H1) 10:10:47 функции
GL 0 DC 14_V2 31012013 (AUDJPY,H1) 10:10:52 CheckAVGfresh0(1, AVG_eur, AVG_usd)false
JI 0 DC 14_V2 31012013 (AUDUSD,H1) 10:10:52 CheckAVGfresh0(1, AVG_eur, AVG_usd)false
HF 0 DC 14_V2 31012013 (GBPJPY,H1) 10:10:52 CheckAVGfresh0(1, AVG_eur, AVG_usd)false
DR 0 DC 14_V2 31012013 (EURUSD,H1) 10:10:52 CheckAVGfresh0(1, AVG_eur, AVG_usd)false
QH 0 DC 14_V2 31012013 (EURJPY,H1) 10:10:52 CheckAVGfresh0(1, AVG_eur, AVG_usd)false
MF 0 DC 14_V2 31012013 (GBPUSD,H1) 10:10:52 CheckAVGfresh0(1, AVG_eur, AVG_usd)false
CS 0 DC 14_V2 31012013 (AUDUSD,H1) 10:11:15 TERMINAL_DISK_SPACE Объем свободной памяти на диске для папки MQL5, в Mb 20 TERMINAL_MEMORY_PHYSICAL Размер физической памяти в системе, в Mb 14 TERMINAL_MEMORY_TOTAL Размер памяти, доступной процессу терминала (агента), в Mb 15 TERMINAL_MEMORY_AVAILABLE Размер свободной памяти процесса терминала (агента)в Mb 16 TERMINAL_MEMORY_USED Размер памяти, использованной терминалом (агентом), в Mb 17
JE 0 DC 14_V2 31012013 (AUDUSD,H1) 10:11:15 TERMINAL_MEMORY_TOTAL Размер памяти, доступной процессу терминала (агента), в Mb 15 TERMINAL_MEMORY_AVAILABLE Размер свободной памяти процесса терминала (агента)в Mb 16 TERMINAL_MEMORY_USED Размер памяти, использованной терминалом (агентом), в Mb 17
CP 0 DC 14_V2 31012013 (AUDUSD,H1) 10:11:15 TERMINAL_MEMORY_AVAILABLE Размер свободной памяти процесса терминала (агента)в Mb 16 TERMINAL_MEMORY_USED Размер памяти, использованной терминалом (агентом), в Mb 17
RN 0 DC 14_V2 31012013 (AUDUSD,H1) 10:11:15 TERMINAL_MEMORY_USED Размер памяти, использованной терминалом (агентом), в Mb 17
 

eevviill

Заблокирован
Поясните плизс что за ошибку выдаёт:
NG 0 DC 14_V2 31012013 (AUDJPY,H1) 10:10:47 функции
GL 0 DC 14_V2 31012013 (AUDJPY,H1) 10:10:52 CheckAVGfresh0(1, AVG_eur, AVG_usd)false
JI 0 DC 14_V2 31012013 (AUDUSD,H1) 10:10:52 CheckAVGfresh0(1, AVG_eur, AVG_usd)false
HF 0 DC 14_V2 31012013 (GBPJPY,H1) 10:10:52 CheckAVGfresh0(1, AVG_eur, AVG_usd)false
DR 0 DC 14_V2 31012013 (EURUSD,H1) 10:10:52 CheckAVGfresh0(1, AVG_eur, AVG_usd)false
QH 0 DC 14_V2 31012013 (EURJPY,H1) 10:10:52 CheckAVGfresh0(1, AVG_eur, AVG_usd)false
MF 0 DC 14_V2 31012013 (GBPUSD,H1) 10:10:52 CheckAVGfresh0(1, AVG_eur, AVG_usd)false
CS 0 DC 14_V2 31012013 (AUDUSD,H1) 10:11:15 TERMINAL_DISK_SPACE Объем свободной памяти на диске для папки MQL5, в Mb 20 TERMINAL_MEMORY_PHYSICAL Размер физической памяти в системе, в Mb 14 TERMINAL_MEMORY_TOTAL Размер памяти, доступной процессу терминала (агента), в Mb 15 TERMINAL_MEMORY_AVAILABLE Размер свободной памяти процесса терминала (агента)в Mb 16 TERMINAL_MEMORY_USED Размер памяти, использованной терминалом (агентом), в Mb 17
JE 0 DC 14_V2 31012013 (AUDUSD,H1) 10:11:15 TERMINAL_MEMORY_TOTAL Размер памяти, доступной процессу терминала (агента), в Mb 15 TERMINAL_MEMORY_AVAILABLE Размер свободной памяти процесса терминала (агента)в Mb 16 TERMINAL_MEMORY_USED Размер памяти, использованной терминалом (агентом), в Mb 17
CP 0 DC 14_V2 31012013 (AUDUSD,H1) 10:11:15 TERMINAL_MEMORY_AVAILABLE Размер свободной памяти процесса терминала (агента)в Mb 16 TERMINAL_MEMORY_USED Размер памяти, использованной терминалом (агентом), в Mb 17
RN 0 DC 14_V2 31012013 (AUDUSD,H1) 10:11:15 TERMINAL_MEMORY_USED Размер памяти, использованной терминалом (агентом), в Mb 17
Это труба. Тести на 1М по ценам открытия.
 
Верх