Подправить код новичку

 
Не компилируется, как исправить?
Файлы:
Test_EA.mq5  3 kb
 
Sprut112:
Не компилируется, как исправить?

Вы потеряли две функции, о чем, кстати, компилятор Вам и сообщает. Найдите эти функции, вставьте в код и будет счастье.

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Закрытие сделок в %

Vladimir Karputov, 2018.12.07 05:37

Например так: вводим переменную Step equity.

//+------------------------------------------------------------------+
//|                                                      Test EA.mq5 |
//+------------------------------------------------------------------+
#property version   "1.000"
//---
#include <Trade\AccountInfo.mqh>
CAccountInfo   m_account;                    // account info wrapper
//--- input parameters
double InpStepEquity=100;                    // Step equity
//---
double m_start_equity=0.0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(CalculateAllPositions()==0)
      m_start_equity=m_account.Equity();

   if(m_account.Equity()>=m_start_equity+InpStepEquity)
     {
      CloseAllPositions();
      return;
     }
  }
//+------------------------------------------------------------------+

Если позиций нет (функция if(CalculateAllPositions()==0)) значит присваиваем переменной m_start_equity=m_account.Equity().

Как только набрали пороговое значение (if(m_account.Equity()>=m_start_equity+InpStepEquity)) - закрываем все позиции CloseAllPositions();.


 
Vladimir Karputov:

Он ругается на CloseAll.. и Calculate All.. , вот, а к переменным нет претензий
 
Sprut112:
Он ругается на CloseAll.. и Calculate All.. , вот, а к переменным нет претензий

Правильно ругается. Вы потеряли эти функции. Найдите их, напишите их, скопируейте их и вставьте в свой MQL5 код и будет Вам счастье. 

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

 
Vladimir Karputov:

Правильно ругается. Вы потеряли эти функции. Найдите их, напишите их, скопируейте их и вставьте в свой MQL5 код и будет Вам счастье. 

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

Дошло, спасибо. Я просто думал, что есть только предопределеные функции и шаг вправо влево расстрел. Оказывается их можно делать самому
 
Sprut112:
Дошло, спасибо. Я просто думал, что есть только предопределеные функции и шаг вправо влево расстрел. Оказывается их можно делать самому

Например в коде Close all positions есть одна из функций. Если поискать по моим кодам, то обнаружится и вторая функция.

 
Sprut112:
Дошло, спасибо. Я просто думал, что есть только предопределеные функции и шаг вправо влево расстрел. Оказывается их можно делать самому

В этом же и есть суть написания программ. Предопределенные тоже есть, в справке все они описаны. Но, большинство функций - ты пишешь сам. А потом - проходишь по ним в отладчике, убеждаясь, что они работают именно так, как тебе надо.

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

 
Georgiy Merts:

В этом же и есть суть написания программ. Предопределенные тоже есть, в справке все они описаны. Но, большинство функций - ты пишешь сам. А потом - проходишь по ним в отладчике, убеждаясь, что они работают именно так, как тебе надо.

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

Все работает как надо, довожу до кондиции как видите. У меня нет привычки без повода трещать о своей ТС в каждом посте
 
Sprut112:
Все работает как надо, довожу до кондиции как видите. У меня нет привычки без повода трещать о своей ТС в каждом посте

А, ну да, трещать будем тогда, когда можно будет впаривать Грааль или сигналы и "стричь баранов".

Согласен, это разумно.

 
Georgiy Merts:

А, ну да, трещать будем тогда, когда можно будет впаривать Грааль или сигналы.

Согласен, это разумно.

Я вижу , что Вы в кодах дока. Может продемонстрируете?