MQL госпиталь (бывшая "Больничка"): исправляем ошибки

Joker62

Почетный гражданин
Привет!*hi*
А у тебя какой тип спрейда? Плавающий или фиксированный?:facepalm:
Дело в том, что сам бот имеет ограничение по спрейду.
Если спрейд торгуемого инструмента выше установки в настройке бота - то торговать не будет.
Особенно бот очень чувствителен к плавающим спрейдам.:not-good:
Если так, то установи в настройке больше, чем на торгуемого инструмента.
А так у меня в тестере шпарить шустро.... правда, объемы уж больно велики в конце тестирования....o_o
Всем привет!
Возвращаемся к нашим баранам....
Сегодня я тщательно посмотрел весь код, хоть и декомпил, но кто-то там уже полазил кривыми руками, нарушил ряд логики, особенно в отложках, т.к. я получил предупреждения от брокера о не допустимом типа торговли. Пришлось остановить торговли на этом боте.
Местами я исправил те ошибки, которые были до меня.
Также восстановил часть структуры дополнительных настройки в боте.
На выходные, если не будет у меня другие дела, то выложу весь код.
И одно, заметил, что бот не сразу открывает сделки, а каким-то периодом по времени. Оно может не торговать от 2 дней до двух недель.
Так устроена сама логика торговли в самом боте.
 

serega7613

Прохожий
Всем привет!
Возвращаемся к нашим баранам....
Сегодня я тщательно посмотрел весь код, хоть и декомпил, но кто-то там уже полазил кривыми руками, нарушил ряд логики, особенно в отложках, т.к. я получил предупреждения от брокера о не допустимом типа торговли. Пришлось остановить торговли на этом боте.
Местами я исправил те ошибки, которые были до меня.
Также восстановил часть структуры дополнительных настройки в боте.
На выходные, если не будет у меня другие дела, то выложу весь код.
И одно, заметил, что бот не сразу открывает сделки, а каким-то периодом по времени. Оно может не торговать от 2 дней до двух недель.
Так устроена сама логика торговли в самом боте.
Здравствуйте все=) Вы уж простите меня я не оч. силен в роботорговле..,та чего уж там.., совсем не силён!=) Ну в этом боте я вижу прямую зависимость частоты сделок от размера спреда брокера. Если б была возможность убрать у него эту зависимость, то конечно могло бы получится интересно.На Альпари на пяти валютных парах с приложенными к боту сетами и мною пририсованным ноликом в настройках MaxSpread - сливает=(
 

Joker62

Почетный гражданин
Здравствуйте все =)
Вы уж простите меня я не оч. силен в роботорговле..,та чего уж там.., совсем не силён!=) Ну в этом боте я вижу прямую зависимость частоты сделок от размера спреда брокера. Если б была возможность убрать у него эту зависимость, то конечно могло бы получится интересно.На Альпари на пяти валютных парах с приложенными к боту сетами и мною пририсованным ноликом в настройках MaxSpread - сливает =(
Всем привет!*hi*
Ну вот, похоже восстановил и допилил немного этого бота.... :nda:
Немного о самом боте - есть несколько нюансов в самом боте.
Бот работает очень жестко - по сути он расчитан на работу те пары валют, у которых имеются высокая волатильность, например, пара USDJPY.
Но если будете с низкой волатильностью - будете долго ждать, когда он сработает. Это первый момент.
Второй момент. Убрал из кода зависимость от спрейда. Теперь он свободно работает.
Третий момент. Расширил параметры настроек бота.
Есть несколько моментов и нюансы.
Сам бот сильно ограничен тремя параметрами - VolatilityMultiplier, VolatilityLimit и VolatilityPercentageLimit.
Последний параметр работает, если включена опция UseVolatilityPercentage = true.
Если поиграть с тремя настройками, то можно заставить работать бота по шустрее, но зато увеличивается процент просадки.
Все конечно не опишешь все моменты и нюансы. Это надо самим тестировать и подбирать нужные параметры.
И последнее. На разных ДЦ, бот работает по разному, а именно, например, на ДЦ F4, на паре USDJPY работает медленно и меньше сделок, а на ДЦ Альпари - наоборот, много и профит больше... Вот такая картина с маслом... :not-good:
Исправленный бот в скрепке::down:
 

Вложения

  • ASSAR v8_Decompil.mq4
    89,4 КБ · Просмотры: 155
  • ASSAR v8_Decompil.ex4
    55,7 КБ · Просмотры: 91

ALTKUB

Активный участник
Всем привет!*hi*
Ну вот, похоже восстановил и допилил немного этого бота.... :nda:
Немного о самом боте - есть несколько нюансов в самом боте.
Бот работает очень жестко - по сути он расчитан на работу те пары валют, у которых имеются высокая волатильность, например, пара USDJPY.
Но если будете с низкой волатильностью - будете долго ждать, когда он сработает. Это первый момент.
Второй момент. Убрал из кода зависимость от спрейда. Теперь он свободно работает.
Третий момент. Расширил параметры настроек бота.
Есть несколько моментов и нюансы.
Сам бот сильно ограничен тремя параметрами - VolatilityMultiplier, VolatilityLimit и VolatilityPercentageLimit.
Последний параметр работает, если включена опция UseVolatilityPercentage = true.
Если поиграть с тремя настройками, то можно заставить работать бота по шустрее, но зато увеличивается процент просадки.
Все конечно не опишешь все моменты и нюансы. Это надо самим тестировать и подбирать нужные параметры.
И последнее. На разных ДЦ, бот работает по разному, а именно, например, на ДЦ F4, на паре USDJPY работает медленно и меньше сделок, а на ДЦ Альпари - наоборот, много и профит больше... Вот такая картина с маслом... :not-good:
Исправленный бот в скрепке::down:

Thanks joker62...
I am cheking with lot size 0.01 but giving send error,is it normal?have to use high lot size?
regards.
 

Joker62

Почетный гражданин
Thanks joker62...
I am cheking with lot size 0.01 but giving send error,is it normal?have to use high lot size?
regards.
Hello!*hi*
My question is - which gives an error in the log and that there write?оО
If you have a small deposit, and high risk, in spite of the initial size of the lot, the bot will swear.:nda:
Ask this question.o_o

==============================================================
Привет!
У меня вопрос - какую ошибку выдает в журнале и что там пишет?
Если у вас маленький депозит, и высокий риск, не смотря на начальный размер лота, то бот будет ругаться.
Уточните в этом вопросе.
 
Последнее редактирование:

ALTKUB

Активный участник
Hello!*hi*
My question is - which gives an error in the log and that there write?оО
If you have a small deposit, and high risk, in spite of the initial size of the lot, the bot will swear.:nda:
Ask this question.o_o

==============================================================
Привет!
У меня вопрос - какую ошибку выдает в журнале и что там пишет?
Если у вас маленький депозит, и высокий риск, не смотря на начальный размер лота, то бот будет ругаться.
Уточните в этом вопросе.

I am checking with fix lot size (0.01 or0.1)giving send error.I tried MM ( false and true)


Regards.
 

bugalter1983

Прохожий
Здравствуйте. У меня этот бот не открывает сделки, не на демо, не в тесторе.
 

Kostya3257

Активный участник
Исправленный бот в скрепке::down:[/QUOTE]

Чет он у меня в тестере граалит неприлично, а вот на демке в Альпах на 4-х парах за два часа ни одной сделкиo_o
 

Joker62

Почетный гражданин
I am checking with fix lot size (0.01 or0.1)giving send error.I tried MM ( false and true)
Regards.
Hi again....
Error code 4051 - Invalid function parameter.
And you're testing a couple UsdJPYx, in fact, this trade on ECN-accounts ... I think so. Set to configure - ECN_Mode on true. And should you earn. In another, I do not know how.:)
bugalter1983 сказал(а):
Здравствуйте. У меня этот бот не открывает сделки, не на демо, не в тесторе.
Вы хоть внимательно читаетесь мои сообщения о особенностях этого бота? Думаю, что нет.:angry:
Я писал, что сам бот работает в жестком режиме торговли. Если волатильность высокая, то откроет отложку! - а не сам ордер на покупку или на продажу. Если цена двинулась в сторону профита, то бот начинает модифицировать до полного профита или до срабатывания по стоп-лоссу, если пошел откат от полного профита.
Вы хоть бы посмотрели бы в тестере в режиме визуалки и все вопросы исчезли.:facepalm:
Kostya3257 сказал(а):
Чет он у меня в тестере граалит неприлично, а вот на демке в Альпах на 4-х парах за два часа ни одной сделки o_o
А вы хоть в журнале смотрели, как он открывает и каким периодом по времени? Опять же, нет.:angry:
Я говорил, что, все зависит от пары и его волатильность на рынках.
И последнее, боту без разницы, на каком тайм-фрейме торговать. Он сам торгует внутри кода на минутках.
И не зря в шапке настройки написано предупреждение: But do NOT move between time frames. - Не переключайте между тайм-фреймами.
Если начнете перемещать, что нарушается накопления данных для бота, т.к. он накапливает тиковых параметров, и за одно ищет вероятность высокую волатильность.
Надеюсь, что я вам дословно все разжевал.:facepalm:
 

rkkgs

Активный участник
Dear friends

Dear friends

this ea continue lost only

if you possible reverse trade option given inputs:

reverse trade: true / false
 

Вложения

  • Reaper_v2.1_live_44.ex4
    138,6 КБ · Просмотры: 42

Joker62

Почетный гражданин
Hi again....
Error code 4051 - Invalid function parameter.
And you're testing a couple UsdJPYx, in fact, this trade on ECN-accounts ... I think so. Set to configure - ECN_Mode on true. And should you earn. In another, I do not know how.:)

Вы хоть внимательно читаетесь мои сообщения о особенностях этого бота? Думаю, что нет.:angry:
Я писал, что сам бот работает в жестком режиме торговли. Если волатильность высокая, то откроет отложку! - а не сам ордер на покупку или на продажу. Если цена двинулась в сторону профита, то бот начинает модифицировать до полного профита или до срабатывания по стоп-лоссу, если пошел откат от полного профита.
Вы хоть бы посмотрели бы в тестере в режиме визуалки и все вопросы исчезли.:facepalm:

А вы хоть в журнале смотрели, как он открывает и каким периодом по времени? Опять же, нет.:angry:
Я говорил, что, все зависит от пары и его волатильность на рынках.
И последнее, боту без разницы, на каком тайм-фрейме торговать. Он сам торгует внутри кода на минутках.
И не зря в шапке настройки написано предупреждение: But do NOT move between time frames. - Не переключайте между тайм-фреймами.
Если начнете перемещать, что нарушается накопления данных для бота, т.к. он накапливает тиковых параметров, и за одно ищет вероятность высокую волатильность.
Надеюсь, что я вам дословно все разжевал.:facepalm:
Упс... не внимательно посмотрел сообщения ALTKUB...o_o
Увидел у него в настройках, что Risk = 0, что приведет к сообщению об ошибках 4051.
Исправил в боте и добавил в коде проверки наличия уровня риска. Если Risk = 0, то автоматом переводится в режим фиксированного лота по умолчанию (Default_Lot). Теперь бот не будет выдавать сообщения об ошибках... надеюсь, что это последняя моя правка...;)
замените у себя бот на исправленный: :down:
 

Вложения

  • ASSAR v8_Decompil.mq4
    89,6 КБ · Просмотры: 175
  • ASSAR v8_Decompil.ex4
    56,3 КБ · Просмотры: 107

Joker62

Почетный гражданин
Упс... не внимательно посмотрел сообщения ALTKUB...o_o
Увидел у него в настройках, что Risk = 0, что приведет к сообщению об ошибках 4051.
Исправил в боте и добавил в коде проверки наличия уровня риска. Если Risk = 0, то автоматом переводится в режим фиксированного лота по умолчанию (Default_Lot). Теперь бот не будет выдавать сообщения об ошибках... надеюсь, что это последняя моя правка...;)
замените у себя бот на исправленный: :down:
Вот отчет за сегодня, был небольшой рывок на парах EURUSD и USDJPY:
https://forexsystemsru.com/attachment.php?attachmentid=265188&stc=1&d=1486133500
так-то все работает... ;)
 
Последнее редактирование:

garry119

Гость
не устанавливается на график. почините, плиз
 

Вложения

  • mirror_bands.mq4
    2,3 КБ · Просмотры: 25

6349

Гуру форума
Подскажите что в коде не так, компилируется с ошибкой


//+------------------------------------------------------------------+
//| MTF_OBV MTF On Balance Volume ik |
//| Copyright © 2005, MetaQuotes Software Corp. |
//| _http://www.metaquotes.net/ _www.forex-tsd.com"|
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link "_http://www.metaquotes.net/"_www.forex-tsd.com"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Green
//---- input parameters
extern int TimeFrame=0;
//---- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{

//---- indicator line
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(0,DRAW_LINE);
SetIndexLabel(0,"MTF_OBV TF"+TimeFrame+"");

//---- name for DataWindow and indicator subwindow label
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Period_M1"; break;
case 5 : TimeFrameStr="Period_M5"; break;
case 15 : TimeFrameStr="Period_M15"; break;
case 30 : TimeFrameStr="Period_M30"; break;
case 60 : TimeFrameStr="Period_H1"; break;
case 240 : TimeFrameStr="Period_H4"; break;
case 1440 : TimeFrameStr="Period_D1"; break;
case 10080 : TimeFrameStr="Period_W1"; break;
case 43200 : TimeFrameStr="Period_MN1"; break;
default : TimeFrameStr="Current Timeframe";
}
IndicatorShortName("MTF_OBV TF"+TimeFrame+"");
}
//----
return(0);

//+------------------------------------------------------------------+
//| On Balance Volume |
//+------------------------------------------------------------------+

int start()
{
datetime TimeArray[];
int i,shift,limit,y=0,counted_bars=IndicatorCounted();

// Plot defined timeframe on to current timeframe
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);

limit=Bars-counted_bars+TimeFrame/Period();
for(i=0,y=0;i<limit;i++)
{
if (Time<TimeArray[y]) y++;

/***********************************************************
Add your main indicator loop below. You can reference an existing
indicator with its iName or iCustom.
Rule 1: Add extern inputs above for all neccesary values
Rule 2: Use 'TimeFrame' for the indicator timeframe
Rule 3: Use 'y' for the indicator's shift value
**********************************************************/

ExtMapBuffer1=iOBV(NULL,TimeFrame, PRICE_CLOSE,y);

}

//


return(0);
}
//+-----+------------------------------------------------------------------+
 
Последнее редактирование модератором:

mntiwana

Местный знаток
Подскажите что в коде не так, компилируется с ошибкой


//+------------------------------------------------------------------+
//| MTF_OBV MTF On Balance Volume ik |
//| Copyright © 2005, MetaQuotes Software Corp. |
//| _http://www.metaquotes.net/ _www.forex-tsd.com|
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link "_http://www.metaquotes.net/" _www.forex-tsd.com"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Green
//---- input parameters
extern int TimeFrame=0;
//---- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{

//---- indicator line
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(0,DRAW_LINE);
SetIndexLabel(0,"MTF_OBV TF"+TimeFrame+"");

//---- name for DataWindow and indicator subwindow label
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Period_M1"; break;
case 5 : TimeFrameStr="Period_M5"; break;
case 15 : TimeFrameStr="Period_M15"; break;
case 30 : TimeFrameStr="Period_M30"; break;
case 60 : TimeFrameStr="Period_H1"; break;
case 240 : TimeFrameStr="Period_H4"; break;
case 1440 : TimeFrameStr="Period_D1"; break;
case 10080 : TimeFrameStr="Period_W1"; break;
case 43200 : TimeFrameStr="Period_MN1"; break;
default : TimeFrameStr="Current Timeframe";
}
IndicatorShortName("MTF_OBV TF"+TimeFrame+"");
}
//----
return(0);

//+------------------------------------------------------------------+
//| On Balance Volume |
//+------------------------------------------------------------------+

int start()
{
datetime TimeArray[];
int i,shift,limit,y=0,counted_bars=IndicatorCounted();

// Plot defined timeframe on to current timeframe
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);

limit=Bars-counted_bars+TimeFrame/Period();
for(i=0,y=0;i<limit;i++)
{
if (Time<TimeArray[y]) y++;

/***********************************************************
Add your main indicator loop below. You can reference an existing
indicator with its iName or iCustom.
Rule 1: Add extern inputs above for all neccesary values
Rule 2: Use 'TimeFrame' for the indicator timeframe
Rule 3: Use 'y' for the indicator's shift value
**********************************************************/

ExtMapBuffer1=iOBV(NULL,TimeFrame, PRICE_CLOSE,y);

}

//


return(0);
}
//+-----+------------------------------------------------------------------+



A version from TSD , histo by MLADEN
===============================
Версия от ТСД, гисто Младен
 

Вложения

  • obv.gif
    obv.gif
    67,5 КБ · Просмотры: 234
  • OBV2.01_mtf+alerts histo.mq4
    5,9 КБ · Просмотры: 77
Последнее редактирование модератором:
Верх