Доработка ботов (советников, индикаторов) vol. 2

zhserg

Местный знаток
Уважаемые специалисты! Не ставятся на график эти индикаторы. Наверное, под старые билды. ПРОСЬБА поправить.
Для Gartley Reversal Auto нужен индикатор ZigZagE. Второй индикатор поправил.
 

Вложения

  • mv-i-Chuvashov_1_3.mq4
    65,1 КБ · Просмотры: 50

bot14

┳━┳
Поправил оба, ошибок нет. На графике даже что-то рисуют ;)
 

Вложения

  • Shot-682.png
    Shot-682.png
    36,8 КБ · Просмотры: 152
  • Shot-683.png
    Shot-683.png
    39,1 КБ · Просмотры: 369
  • Shot-684.png
    Shot-684.png
    49,6 КБ · Просмотры: 391
  • Gartley Reversal Auto.mq4
    21,9 КБ · Просмотры: 59
  • mv-i-Chuvashov_1_3.mq4
    64,3 КБ · Просмотры: 53

vladradon

Программист
В первом индикаторе было деление на 0 и он требует другой индикатор ZigZagE. Второй запустил под последний билд. Имена не менял - не перепутайте со старыми.
 

Вложения

  • Gartley Reversal Auto.mq4
    22,2 КБ · Просмотры: 72
  • mv-i-Chuvashov_1_3.mq4
    64,5 КБ · Просмотры: 67

vladradon

Программист
Надо доработать его, чтоб он показывал дополнительную линию на указанное мной расстояние от линии Ask
Можно задавать отрицательное значение для смещения вниз.
 

Вложения

  • ASK_Line+.mq4
    5,6 КБ · Просмотры: 44

tirion

Почетный гражданин
На протяжении длительного периода индикатор показал себя с положительной стороны. И хотя я не отношусь к тайной секте любителей стрелок, в этом случае они не помешали бы. Просьба, если это не так сложно, "прикрутить" стрелки.Extreme_Spike.png
 

Вложения

  • Extreme_Spike.mq4
    16,6 КБ · Просмотры: 116

Аввакум2

Гуру форума
В первом индикаторе было деление на 0 и он требует другой индикатор ZigZagE. Второй запустил под последний билд. Имена не менял - не перепутайте со старыми.

Кроме ZigZagE, кажись, там ещё обычный ZigZag нужен. Не у каждого в терминале он есть.
 

Вложения

  • ZigZagE.mq4
    4 КБ · Просмотры: 57

yurecwa

Активный участник
Здравствуйте. Может кто посмотрит. Есть функция подсчета прибыли и убытка. Но когда ее добавляю в любой советник, он сильно тормозит в тестере.
double SummaryProfit()
{
double Sum = 0;
//Суммарный профит по всем открытым ордерам
for(int i=0;i < OrdersTotal();i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
if(OrderType() < 2 && OrderSymbol() == _Symbol && OrderMagicNumber() == Magik)
Sum += OrderProfit()+ OrderSwap() + OrderCommission(); //включая своп и комиссию
}
//Сумма по ордерам, закрытым сегодня:
for( int i=OrdersHistoryTotal()-1;i>=0;i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
{
if(
OrderType() < 2 //
&& TimeYear(OrderCloseTime()) == TimeYear(TimeCurrent()) //Год
&& TimeDayOfYear(OrderCloseTime()) == TimeDayOfYear(TimeCurrent()) //и День соотвествуют текущему
&& OrderSymbol() == _Symbol //По текущему символу
&& OrderMagicNumber() == Magik ) //По заданному магику
Sum += OrderProfit()+ OrderSwap() + OrderCommission();
}
}
return(Sum);
}
 
Последнее редактирование:

vladradon

Программист
Есть функция подсчета прибыли и убытка. Но когда ее добавляю в любой советник, он сильно тормозит.
Ошибок в ней вроде нет. Можно подкорректировать код для ускорения. При проверке на магик проверка на тип ордера не нужна.
C-подобный:
double SummaryProfit()
  {
   double Sum = 0;
   int TYear=TimeYear(TimeCurrent());
   int TDofYear=TimeDayOfYear(TimeCurrent());
//Суммарный профит по всем открытым ордерам
   for(int i=0; i < OrdersTotal(); i++)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == Magik
         && OrderSymbol() == _Symbol)
         Sum += OrderProfit()+ OrderSwap() + OrderCommission(); //включая своп и комиссию
     }
//Сумма по ордерам, закрытым сегодня:
   for(int i=OrdersHistoryTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) && OrderMagicNumber() == Magik
         && OrderSymbol() == _Symbol //По текущему символу
         && TimeYear(OrderCloseTime()) == TYear //Год
         && TimeDayOfYear(OrderCloseTime()) == TDofYear) //и День соотвествуют текущему
         Sum += OrderProfit()+ OrderSwap() + OrderCommission();
        }
   return(Sum);
  }
 

vladradon

Программист
Спасибо за ответ, дело в том что советник замедляется в тестере.
Если она не нужна для торговли - только для информации, то отключайте ее в тестере. Она какой строкой у Вас запускается в сове? Можно добавить проверку на тест типа
if(!IsTesting() && !IsOptimization()) ... SummaryProfit();
 

yurecwa

Активный участник
Если она не нужна для торговли - только для информации, то отключайте ее в тестере. Она какой строкой у Вас запускается в сове?
Мне как раз то и нужна эта функция. Для оптимизации советника. 132 строка.
 
Верх