ОБЩАЯ ТЕМА [для любых обсуждений]

  • Автор темы Автор темы LUKA.
  • Дата начала Дата начала

Hanoy

Прохожий
Напишите пожалуйста советника на индикаторе

Помогите пожалуйста написать советника на индикаторе Q2MA.
Простейший алгоритм - сигнал есть,открываем сделку,сигнал в другую сторону -закрываем прошлую,открываем новую.
 

Вложения

  • Q2MA.mq4
    Q2MA.mq4
    3,5 КБ · Просмотры: 43

byf59

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

Вложения

Farrakhov

Почетный гражданин
Помогите пожалуйста написать советника на индикаторе Q2MA.
Простейший алгоритм - сигнал есть,открываем сделку,сигнал в другую сторону -закрываем прошлую,открываем новую.
Я балдею с вас господа типа трейдеры .:-):-):-)
Вы для начала чтобы просить написать сову вначале пройдитесь по истории по индюку хотябы пару дней если результат положительный то пару месяцев если и тут все ок то все исторю просмотри если ок(я правда такого пока не нашел) то не вздумай про это комунибудь говорить а сам изучи MQL или заплати комунибудь и тд
Здесь же даже по первым точкам видно что сольем депо на флете 6 секунд:oops::oops::oops:
 

Yaroslavik

Гуру форума
Я балдею с вас господа типа трейдеры .:-):-):-)
Вы для начала чтобы просить написать сову вначале пройдитесь по истории по индюку хотябы пару дней если результат положительный то пару месяцев если и тут все ок то все исторю просмотри если ок(я правда такого пока не нашел) то не вздумай про это комунибудь говорить а сам изучи MQL или заплати комунибудь и тд
Здесь же даже по первым точкам видно что сольем депо на флете 6 секунд:oops::oops::oops:
согласен полностью а вот у меня есть стратегия и на истории ничтяк ну с небольшими погрешностями но в целом бомба тока немогу найти программера чтоб написал под эти 2ва изумительно замечательных индюка простого действительно простого сову скальпера который в итоге всёравно в плюсе остаётся , тепрь вопрос кому интересно скайп Yaroslavikov !!!
 

Ugar

Гуру форума
Помогите пожалуйста написать советника на индикаторе Q2MA.
Простейший алгоритм - сигнал есть,открываем сделку,сигнал в другую сторону -закрываем прошлую,открываем новую.
согласен полностью а вот у меня есть стратегия и на истории ничтяк ну с небольшими погрешностями но в целом бомба тока немогу найти программера чтоб написал под эти 2ва изумительно замечательных индюка простого действительно простого сову скальпера который в итоге всёравно в плюсе остаётся , тепрь вопрос кому интересно скайп Yaroslavikov !!!
Есть на форуме рекламная ветка. Там программистов много.
Если готовы заплатить за работу можно ко мне на мыло. Адрес в подписи.
 

Yaroslavik

Гуру форума
Вот вариант такоЙ ! воспринимаются только те сигналы которые идут согласно тренду ибо их исполнение более вероятно !
 

Вложения

  • ФФФ.jpg
    ФФФ.jpg
    131,2 КБ · Просмотры: 78

Farrakhov

Почетный гражданин
Привет всем !!! хочу спросить спецов, почему у советника по ценам открытия хорошие результаты, а на всех тиках, ужасные, вот в чем вопрос, возможно ли переделать советника что бы он так же работал как на тестере по ценам открытия, и вообще это реально осуществить на деле,заранее благодарен за ответ.
Есть такая функция называется
void Sleep( int milliseconds)Функция задерживает выполнение текущего эксперта или скрипта на определенный интервал.
Функцию Sleep() нельзя вызывать из пользовательских индикаторов, так как индикаторы выполняются в интерфейсном потоке и не должны его тормозить.
В функцию встроена проверка состояния флага остановки эксперта каждую 0.1 секунды.
примерно так
...
extern int taim=5;
...
q=1000*60*taim;
Sleep(q);
...
которая будет выполнять нужные действия 1 раз в "taim" минут
если надо раз в час то 60 и тд
 
Последнее редактирование модератором:

LUKA.

САМ ПО СЕБЕ
Всем привет!

Возникла проблемка, индюк рисует МА с другого фрейма (пример: на Н1 рисует МА с D1).

На каждом закрытом баре он отрисовывает ской кусок, но пред'идущиие остаются на месте и приходится "Обновлять" в ручную, чтобы МА приняла свой вид на данны момент относительно новых данных.

Вопрос: чего надо вписать в код, чтобы при закрытии бара, он не только дорисовывал кусок но и обновлял предидущии.

Код маленький, но сообразить не могу :-(

Код:
Expand Collapse Copy
#property copyright "i-$_mtf-ma_2"
#property indicator_chart_window
//+------------------------------------------------------------------+
extern double tf        = 240;  // Тф с какого берем МА
//+------------------------------------------------------------------+
extern int    period    = 34;   // Период МА
extern string _Per1_= "0--SMA  1--EMA  2--SMMA  3--LWMA";
extern int    method    = 2;    // Метод МА
extern string _Per2_= "0-Close 1-Open 2-High 3-Low 4-Median";
extern int    price     = 4;    // Применить к МА
//+------------------------------------------------------------------+
extern string _Per3_= "ЦВЕТ   ТОЛЩИНА    СТИЛЬ";
extern color  col       = Aqua; // Цвет МА
extern int    width     = 2;    // Толщина линии
extern int    style     = 2;    // Стиль линии
//+------------------------------------------------------------------+
extern string _Per4_= "ОТРИСОВКА  БАРОВ";
extern int    CountBars = 1500; // Количество баров отрисовки МА
//----buffers
double ma[];
int init()
  {
  SetIndexBuffer(0,ma);
  SetIndexStyle(0,DRAW_LINE,style,width,col);
  SetIndexLabel(0,"MA " + tf);
  IndicatorShortName("Moving Average (" + tf + ", " + period + ")");
  if (CountBars >= Bars) 
      CountBars = Bars;
  SetIndexDrawBegin(0, Bars - CountBars + 1);
 
   return(0);
  }
int deinit()
  {
 
   return(0);
  }
int start()
  {
   int    cb=IndicatorCounted();
   SetIndexDrawBegin(0, Bars - CountBars + 1);
   int i=Bars-cb-1;
   double ctf=Period();
   double r=tf/ctf;
   while(i>=0)
   {
    int k =MathFloor(i/r);
 
    ma[i]=iMA(Symbol(),tf,period,0,method,price,k);
    i--;
   }
   Sleep(10000);
   return(0);
  }
//+------------------------------------------------------------------+
 

Ugar

Гуру форума
Всем привет!

Возникла проблемка, индюк рисует МА с другого фрейма (пример: на Н1 рисует МА с D1).

На каждом закрытом баре он отрисовывает ской кусок, но пред'идущиие остаются на месте и приходится "Обновлять" в ручную, чтобы МА приняла свой вид на данны момент относительно новых данных.

Вопрос: чего надо вписать в код, чтобы при закрытии бара, он не только дорисовывал кусок но и обновлял предидущии.

Код маленький, но сообразить не могу :-(

Код:
Expand Collapse Copy
#property copyright "i-$_mtf-ma_2"
#property indicator_chart_window
//+------------------------------------------------------------------+
extern double tf        = 240;  // Тф с какого берем МА
//+------------------------------------------------------------------+
extern int    period    = 34;   // Период МА
extern string _Per1_= "0--SMA  1--EMA  2--SMMA  3--LWMA";
extern int    method    = 2;    // Метод МА
extern string _Per2_= "0-Close 1-Open 2-High 3-Low 4-Median";
extern int    price     = 4;    // Применить к МА
//+------------------------------------------------------------------+
extern string _Per3_= "ЦВЕТ   ТОЛЩИНА    СТИЛЬ";
extern color  col       = Aqua; // Цвет МА
extern int    width     = 2;    // Толщина линии
extern int    style     = 2;    // Стиль линии
//+------------------------------------------------------------------+
extern string _Per4_= "ОТРИСОВКА  БАРОВ";
extern int    CountBars = 1500; // Количество баров отрисовки МА
//----buffers
double ma[];
int init()
  {
  SetIndexBuffer(0,ma);
  SetIndexStyle(0,DRAW_LINE,style,width,col);
  SetIndexLabel(0,"MA " + tf);
  IndicatorShortName("Moving Average (" + tf + ", " + period + ")");
  if (CountBars >= Bars) 
      CountBars = Bars;
  SetIndexDrawBegin(0, Bars - CountBars + 1);
 
   return(0);
  }
int deinit()
  {
 
   return(0);
  }
int start()
  {
   int    cb=IndicatorCounted();
   SetIndexDrawBegin(0, Bars - CountBars + 1);
   int i=Bars-cb-1;
   double ctf=Period();
   double r=tf/ctf;
   while(i>=0)
   {
    int k =MathFloor(i/r);
 
    ma[i]=iMA(Symbol(),tf,period,0,method,price,k);
    i--;
   }
   Sleep(10000);
   return(0);
  }
//+------------------------------------------------------------------+
int IndicatorCounted( )Функция возвращает количество баров, не измененных после последнего вызова индикатора. Большинство подсчитанных баров не нуждается в пересчете. Функция используется для оптимизации вычислений.
Это применяют что бы не персчитывать то что уже посчитано ранее.
По простому, вместо IndicatorCounted( ) подставить 0 и индикатор будет весь пересчитываться каждый раз.
Да ещё в конце попытка усыпить индикатор на 10 секунд. Sleep(10000);
Бесполезно. Индикатор спать не будет. Это только для советников и скриптов. Можно просто убрать.
 

LUKA.

САМ ПО СЕБЕ
Спасибо! Ugar.

Про Sleep индикаторов знаю, но к стати, как то читал статью в codebase, один парень вроде написал функцию, котороя позволяет отсрочить обновление индикатора.
 

Ugar

Гуру форума
Спасибо! Ugar.

Про Sleep индикаторов знаю, но к стати, как то читал статью в codebase, один парень вроде написал функцию, котороя позволяет отсрочить обновление индикатора.
Не знаю, не читал. Я бы записал текущее время в переменной объявленной на глобальном уровне. В функции start() проверял прошло ли время заданной паузы с момента записанного в эту переменную. Если не прошло выход из start(), а если прошло обновить индикатор и перезаписать в эту переменную текущее время.
Или можно оформить как пользовательскую функцию.
В начале функции вызвать.
start(){
if(!PauseSec(10))return(0);
дальше выполняется остапльной код функции старт индикатора.
Код:
Expand Collapse Copy
//+------------------------------------------------------------------+
//|Функция от Ugar eMail:[email protected]                                |
//+------------------------------------------------------------------+
//Функция возвращает true если с последнего обращения прошло больше или равно
//секунд. Иначе false.
//sec - пауза в секундах.
bool PauseSec(int sec)
   {
   bool ret=false;
   static datetime LastSec;
   datetime cur=TimeCurrent();
   if(cur>=LastSec+sec)
      {
      LastSec=cur;
      ret=true;
      }
   return(ret);
   }
Только что нацарапал функцию. Не проверял.
 
Последнее редактирование:

Farrakhov

Почетный гражданин
Весёлое решение. :rolf:
можно конечно сделать (например для Н1) исполнять советник на 0-й минуте и ставить слееп на 60 секунд тогда получится совсем точно по ценам открытия
 
Последнее редактирование:

Ugar

Гуру форума
можно конечно сделать (например для Н1) исполнять советник на 0-й минуте и ставить слееп на 60 секунд тогда получится совсем точно по ценам открытия
Можно. И на первый взгляд устраняется одна из проблем этого метода. Ну да ладно. Нравится Вам этот метод, пользуйтесь на здоровье.
 

Grigor33

Новичок форума
Привет всем!!!

Хотел спросить разрешат ли мне так же торговать на реале, не отправят ли меня в бан за такую торговлю???.
Отчет прилагаю.
Это моя ручная ТС с графическим советником (сов взят с этого форума). Стопы в системе есть, сов закрывает все сделки при определённом убытке, тейк закрываю до следующего сигнала ТС или на своё усмотрение.
 

Вложения

Ugar

Гуру форума
Привет всем!!!

Хотел спросить разрешат ли мне так же торговать на реале, не отправят ли меня в бан за такую торговлю???.
Отчет прилагаю.
Это моя ручная ТС с графическим советником (сов взят с этого форума). Стопы в системе есть, сов закрывает все сделки при определённом убытке, тейк закрываю до следующего сигнала ТС или на своё усмотрение.
А чё вдруг о бане задумался? Стоит наверное кучу ордеров заменить одним, но с суммарным лотом. Да и счёт микро не подойдёт, там лоты меньше, надо классик.
Из за кучи приказов за короткое время можно получить задержки исполнения или другие причины не выполнения приказов, но не бан. Замена кучи ордеров одним, решит эту проблему.
 

Grigor33

Новичок форума
А чё вдруг о бане задумался? Стоит наверное кучу ордеров заменить одним, но с суммарным лотом. Да и счёт микро не подойдёт, там лоты меньше, надо классик.
Из за кучи приказов за короткое время можно получить задержки исполнения или другие причины не выполнения приказов, но не бан. Замена кучи ордеров одним, решит эту проблему.

Спс за дельный ответ
Да и ещо хотел спросить есть некоторые конторы которые предлагают без депозитный бонус. Могу ли я без депозитный счет прировнять к реалу, ну я имею ввиду нету ли у без деп. реквот, проскальзывание для заманухи клиентов или они всё таки есть и на без.депе.
 

Ugar

Гуру форума
Спс за дельный ответ
Да и ещо хотел спросить есть некоторые конторы которые предлагают без депозитный бонус. Могу ли я без депозитный счет прировнять к реалу, ну я имею ввиду нету ли у без деп. реквот, проскальзывание для заманухи клиентов или они всё таки есть и на без.депе.
Во многих конторах с такими заманухами, обычно компенсируется жуткими условиями. Например, на инстафорекс спред по евре 3 пункта. Это грабёж.
 
Верх