Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1660

 
MakarFX #:

1) Да, это значения количества "свеч-подтверждения"

2) Нет, на первой не открывает, только после заданного кол-ва "свеч-подтверждения"

3) Меняй магик и ставь на любую пару

Магик лучше сделать внешней переменной

1) Понял;

2) Я прикреплю скрин в этом сообщении, он не на первой открывает, а если вход по 4 свечам стоит в условиях, то он на 4ой и откроет, как на скрине. Это не самое главное, само собой, просто хотелось-бы знать как это можно убрать. Но даже если и оставить это, то тогда за что отвечает "Init=true"? В чём её суть?

3) А как сделать магик внешней переменной? Просто я магика и близко не касался и не знаю как это сделать:

#property copyright "Copyright 2021, DrMak."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//--- input parameters
#define MagicNumber  122122
extern string s1             = "Trading options";
extern double Lot            = 0.01;    // размер лота 0 - авт.расчет
extern double StopLoss       = 40;     // стоплосс
extern double TakeProfit     = 10;     // тейкпрофит
extern double TrailStop      = 21;     // уровень без убытка
extern int    Trailing       = 0;      // трейлинг стоп 1 вкл. 0 выкл.
extern int    Breakeven      = 0;      // перенос стоп лосса в без убыток
extern string s2             = "Day & Hour";
extern int    HrStart        = 0;      // время начала торговли
extern int    HrEnd          = 23;     // время окончания торговли
extern int    Monday         = 1;      // Понедельник 1 вкд. 0 выкл.
extern int    Tuesday        = 1;      // Вторник
extern int    Wednesday      = 1;      // Среда
extern int    Thursday       = 1;      // Четверг
extern int    Friday         = 1;      // Пятница
//+------------------------------------------------------------------+
// параметры индикаторов
int MovingPeriodLw        = 5;      
int MovingPeriodS1        = 75;
int MovingPeriodS2        = 85;
double StopLevel;
double TrailStep             = 3;      // шаг трейлинг стопа
bool OrderBuy = true, OrderSell = true, Order = false, Init = true;
int timeprev = 0, Slip = 3.0, Start, cnt=1;
datetime newbar=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   if (Digits == 3 || Digits == 5) { // Пересчет для 5-ти знаков                                                    
      TakeProfit *= 10;
      TrailStop *= 10;
      TrailStep *= 10;
      StopLoss *=10;
      Slip *=10;
   } 
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL); 
   //---
   if(newbar!=Time[0])
     {
      if(CheckForOpen()!=Start)
        {Start=CheckForOpen(); cnt=1;}
      else
        {cnt+=1;}
      //---
      if(cnt==8)
        {
         // Открытие ордера по методу Пуриа
         if(CheckForOpen()==0) // Если сигнал для покупок 
           {
            if(OrderSend(Symbol(),OP_BUY,Lots(),Ask,Slip,Bid-StopLoss*Point,Ask+TakeProfit*Point,"",MagicNumber,0,Blue))
              {Print("BUY OK");}
              else {Print(GetLastError());}
           } 
         if(CheckForOpen()==1) // Если сигнал для продаж 
           {
            if(OrderSend(Symbol(),OP_SELL,Lots(),Bid,Slip,Ask+StopLoss*Point,Bid-TakeProfit*Point,"",MagicNumber,0,Red))
              {Print("SELL OK");}
              else {Print(GetLastError());}
           }
        }   
      newbar=Time[0];
     }
  }
Файлы:
 
MakarFX #:

Неплохо!

 
artem artem #:

1) Понял;

2) Я прикреплю скрин в этом сообщении, он не на первой открывает, а если вход по 4 свечам стоит в условиях, то он на 4ой и откроет, как на скрине. Это не самое главное, само собой, просто хотелось-бы знать как это можно убрать. Но даже если и оставить это, то тогда за что отвечает "Init=true"? В чём её суть?

3) А как сделать магик внешней переменной? Просто я магика и близко не касался и не знаю как это сделать:

#define MagicNumber  122122

замени на

extern string MagicNumber = 122122;

"Init=true" можно удалить

По поводу первого входа я подумаю, но завтра)

 

artem artem #:

хотелось-бы знать как это можно убрать.

Убрал

Файлы:
artem.mq4  11 kb
 
MakarFX #:
// Мертвая строка

Хорошая идея, молодец, Макар!

 

Подскажите, что делать, у меня аномальный случай:

Проход в тесте показывает за последние  полгода 40 сделок. Остаток больше 1000 долларов на счету.

Запускаю тот же сет за целый год - всего 8 сделок. Остаток около 1000 долларов. 

Запускаю с начала 2020 года, 3 месяца торгует - дальше 0 реакции. 

Не понимаю, почему не хочет торговать на большом периоде. В журнале никаких ошибок не выдает. 

 
artem artem #:

тот - для развлечения в тестере хорош.

а этот Вам, в подарок - для зарабатывания денег.

\\\\\\\\\\\\\\\\\\\\\\\\\\

запустил на проверку - вечером посмотрим как отработает

Снимок экрана 2021-10-10 054654 

\\\\\\\\\\\\\\\\\\\\\\\\\\\

проверил как меняет шаблон на всех графиках - всё сработало! -как общий профит достиг цели.

Снимок экрана 2021-10-10 055232

Файлы:
artem_artem.mq4  26 kb
 

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

Снимок экрана 2021-10-10 063557 

\\\\\\

шаблон графика -для эксперта выше. 

Файлы:
 
SanAlex #:

тот - для развлечения в тестере хорош.

а этот Вам, в подарок - для зарабатывания денег.

Всем доброго утра и хорошего настроения! Заинтриговали. Пожалуйста, если Вам не трудно, переведите код artem artem.mq4 для МТ5. Хочу посмотреть, как он будет с ролловерами "справляться" на реальном счету.

С уважением, Владимир.

 
MrBrooklin #:

Всем доброго утра и хорошего настроения! Заинтриговали. Пожалуйста, если Вам не трудно, переведите код artem artem.mq4 для МТ5. Хочу посмотреть, как он будет с ролловерами "справляться" на реальном счету.

С уважением, Владимир.

Доброе утро! сейчас слеплю сигнальный Индикатор из этих индикаторов для mt5 

\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Вот слепил - дальше всё очень просто - в эксперт со своими желаниями и своей логикой, тралом и всем остальным.

EURUSDH1 

\\\\\\\\\\\\\\\\\\\\\\

В эксперте можно настроить на нулевом баре открывать или на первом

Снимок экрана 2021-10-10 085616

Файлы:
Fx10_artem.mq5  20 kb
Причина обращения: