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

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

Вложения

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

Вложения

  • Shot-682.png
    Shot-682.png
    36,8 КБ · Просмотры: 175
  • Shot-683.png
    Shot-683.png
    39,1 КБ · Просмотры: 392
  • Shot-684.png
    Shot-684.png
    49,6 КБ · Просмотры: 415
  • Gartley Reversal Auto.mq4
    Gartley Reversal Auto.mq4
    21,9 КБ · Просмотры: 62
  • mv-i-Chuvashov_1_3.mq4
    mv-i-Chuvashov_1_3.mq4
    64,3 КБ · Просмотры: 56
В первом индикаторе было деление на 0 и он требует другой индикатор ZigZagE. Второй запустил под последний билд. Имена не менял - не перепутайте со старыми.
 

Вложения

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

Вложения

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

Вложения

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

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

Вложения

Здравствуйте. Может кто посмотрит. Есть функция подсчета прибыли и убытка. Но когда ее добавляю в любой советник, он сильно тормозит в тестере.
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);
}
 
Последнее редактирование:
Есть функция подсчета прибыли и убытка. Но когда ее добавляю в любой советник, он сильно тормозит.
Ошибок в ней вроде нет. Можно подкорректировать код для ускорения. При проверке на магик проверка на тип ордера не нужна.
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);
  }
 
Спасибо за ответ, дело в том что советник замедляется в тестере.
Если она не нужна для торговли - только для информации, то отключайте ее в тестере. Она какой строкой у Вас запускается в сове? Можно добавить проверку на тест типа
if(!IsTesting() && !IsOptimization()) ... SummaryProfit();
 
Если она не нужна для торговли - только для информации, то отключайте ее в тестере. Она какой строкой у Вас запускается в сове?
Мне как раз то и нужна эта функция. Для оптимизации советника. 132 строка.
 

Посмотрели (2206) Посмотреть

Смотрят сейчас (3) Посмотреть

Отслеживают (1865) Посмотреть

Назад
Верх