Шаблоны для создания советников и индикаторов - страница 4

 

Не знаю, существует ли он. Вот одноразовое решение: Откройте ваш шаблон в NotePad, а затем пролистайте его и запишите показатели на листе бумаги.

 

нет

это человеческий парсер, но я немного ленив....

 

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

Я делаю это уже 18 лет, и именно так я это делал раньше. Это занимает менее 10 минут. Это также экономит много места.

В наши дни я использую одну отдельную платформу MT4 для каждой тестируемой системы. Моя торговая система, которой я сейчас торгую, требует более 80+ шаблонов и около 25 пользовательских индикаторов для работы (да, одна система).

 

парсер

В итоге я использовал pspad для извлечения строк с индикаторами (name=) из всех шаблонов, затем отредактировал с помощью vim для удаления неиспользуемого шаблона (:g/pattern_toremove/d), затем повторно отредактировал с помощью pspad для вставки команды robocopy (можно сделать в vim).

Я удаляю все индикаторы из каталога mt4, затем копирую используемые только индикаторы с помощью bat, из резервной копии.

И все в порядке.

 

Шаблоны для создания советников и индикаторов - MT4

Форум

  1. Несколько хороших шаблонов -тема
  2. функция "код mql4" -тема

Статьи

  1. MetaEditor:Templates as a Spot to Stand On
  2. Безделье - стимул прогресса. Полуавтоматическая маркировка шаблона
  3. Универсальный шаблон советника

CodeBase

  1. Шаблон советника с трейлинг-стопом v2- эксперт для MetaTrader 4
  2. Базовый советник с тейк и стопом на основе ATR - эксперт для MetaTrader 4
  3. Базовый советник с трейлинг-стопом - эксперт для MetaTrader 4
  4. Шаблон базовой скользящей средней - эксперт для MetaTrader 4
  5. Шаблон базовой скользящей средней - эксперт для MetaTrader 4
  6. Шаблон советника Grid - эксперт для MetaTrader 4
  7. Базовый шаблон советника Rsi - эксперт для MetaTrader 4
  8. Название шаблона- индикатор для MetaTrader 4
  9. Шаблон новостного советника без DLL- эксперт для MetaTrader 4
  10. Шаблон новостного советника без DLL из 2 источников- эксперт для MetaTrader 4
  11. Шаблон советника- эксперт для MetaTrader 4
  12. Шаблон надежного советника- эксперт для MetaTrader 4

============

Basic Moving Average template
Basic Moving Average template
  • www.mql5.com
PricerEA PricerEA is a utility to help any trader to place pending orders (stop or limit) at a specific price. SpreadWatch This indicator watches and displays the biggest spread the pair generated. It is recommended to run at least 5 days, from Monday to Friday, to get a big picture of the broker's spread. My Trailing Simple Trailing...
 

Базовый шаблон Moving Average - эксперт для MetaTrader 4

Базовый шаблон скользящей средней - эксперт для MetaTrader 4

Basic Moving Average template EA - советник, который получает сигналы от индикатора Moving Average и торгует соответствующим образом. Это шаблон, который можно использовать для дальнейшего изучения или развития по своему усмотрению. В этом шаблоне есть все основы, включая управление капиталом, чтобы быть полностью функциональным в торговых операциях.

Basic Moving Average template
Basic Moving Average template
  • www.mql5.com
PricerEA PricerEA is a utility to help any trader to place pending orders (stop or limit) at a specific price. SpreadWatch This indicator watches and displays the biggest spread the pair generated. It is recommended to run at least 5 days, from Monday to Friday, to get a big picture of the broker's spread. My Trailing Simple Trailing...
 

Базовый советник с тейк и стоп на основе ATR - эксперт для MetaTrader 4

Базовый советник с тейк и стоп на основе ATR - эксперт для MetaTrader 4

With this template i'm demonstrating the use of Average True Range based take profit and stop loss levels. Take profit and stop loss levels are calculated using ATR factor multipliers.

----------------

Другие шаблоны:

Basic ATR based take and stop expert adviser
Basic ATR based take and stop expert adviser
  • www.mql5.com
Trend flex x 2 Multi Currency Template This is Multi Currency Expert Advisor Template that can trade according to symbol list (default 6 symbols). For Example, Ichimoku Chinkou Span is used for entry logic. // Main input parameters input double Lots = 0.01; // Basic lot size input int StopLoss= 50; //Stoploss (in Pips) input int...
 
Sergey Golubev:

Шаблоны для создания советников и индикаторов - MT4

Форум

  1. Несколько хороших шаблонов -тема
  2. функция "код mql4" -тема

Статьи

  1. MetaEditor:Templates as a Spot to Stand On
  2. Безделье - стимул прогресса. Полуавтоматическая маркировка шаблона
  3. Универсальный шаблон советника

CodeBase

  1. Шаблон советника с трейлинг-стопом v2- эксперт для MetaTrader 4
  2. Базовый советник с тейк и стопом на основе ATR - эксперт для MetaTrader 4
  3. Базовый советник с трейлинг-стопом - эксперт для MetaTrader 4
  4. Шаблон базовой скользящей средней - эксперт для MetaTrader 4
  5. Шаблон базовой скользящей средней - эксперт для MetaTrader 4
  6. Шаблон советника Grid - эксперт для MetaTrader 4
  7. Базовый шаблон советника Rsi - эксперт для MetaTrader 4
  8. Название шаблона- индикатор для MetaTrader 4
  9. Шаблон новостного советника без DLL- эксперт для MetaTrader 4
  10. Шаблон новостного советника без DLL из 2 источников- эксперт для MetaTrader 4
  11. Шаблон советника- эксперт для MetaTrader 4
  12. Шаблон надежного советника- эксперт для MetaTrader 4

============

Шаблоны для создания советников и индикаторов - MT5

Форум

П/П

Статьи

  1. Использование псевдошаблонов как альтернатива шаблонам C++
  2. Продвинутый конструктор советников для MetaTrader - botbrains.app - статья (MT5)
  3. Попытка разработки конструктора советников - статья (MT5)
  4. Генератор торговых сигналов на основе пользовательского индикатора
  5. Перенос индикаторов с MQL4 на MQL5
  6. Как разработать советника с помощью инструментов UML
  7. Практическая реализация цифровых фильтров на MQL5 для начинающих
  8. Программирование режимов советника с использованием объектно-ориентированного подхода

CodeBase

  1. Шаблон совет ника - эксперта для MetaTrader 5
  2. Торговый движок 4 - эксперт для MetaTrader 5
  3. Код индикаторов - эксперт для MetaTrader 5
  4. Шаблон применения- скрипт для MetaTrader 5
  5. Скрипт и шаблон для анализа рынка- скрипт для MetaTrader 5
An attempt at developing an EA constructor
An attempt at developing an EA constructor
  • www.mql5.com
In this article, I offer my set of trading functions in the form of a ready-made EA. This method allows getting multiple trading strategies by simply adding indicators and changing inputs.
 

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

Как начать работу с MQL5

Владимир Карпутов, 2020.09.07 18:10

Пример работы с iCustom - получаем данные индикатора в папке советника [data folder]\MQL5\Indicators\Examples\MACD.mq5

Код: iCustom iMACD значение на графике.mq5

В папке находится пользовательский индикатор MACD:

Запомните правило работы с индикаторами в MQL5: хэндл индикатора создается в OnInit. В дальнейшем хэндл индикатора, используя CopyBuffer, используется для получения данных от индикатора.

//+------------------------------------------------------------------+
//|                                 iCustom iMACD value on chart.mq5 |
//|                              Copyright © 2020, Vladimir Karputov |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2020, Vladimir Karputov"
#property version   "1.000"
#property tester_indicator "Examples\\MACD"
//--- input parameters
input int                  Inp_MACD_fast_ema_period= 8;           // MACD: period for Fast average calculation
input int                  Inp_MACD_slow_ema_period= 17;          // MACD: period for Slow average calculation
input int                  Inp_MACD_signal_period  = 9;           // MACD: period for their difference averaging
input ENUM_APPLIED_PRICE   Inp_MACD_applied_price  = PRICE_CLOSE; // MACD: type of price
//---
int      handle_iCustom;                     // variable for storing the handle of the iCustom indicator
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create handle of the indicator iMACD ([data folder]\MQL5\Indicators\Examples\MACD.mq5)
   handle_iCustom=iCustom(Symbol(),Period(),"Examples\\MACD",Inp_MACD_fast_ema_period,Inp_MACD_slow_ema_period,
                          Inp_MACD_signal_period,Inp_MACD_applied_price);
//--- if the handle is not created
   if(handle_iCustom==INVALID_HANDLE)
     {
      //--- tell about the failure and output the error code
      PrintFormat("Failed to create handle of the iMACD indicator for the symbol %s/%s, error code %d",
                  Symbol(),
                  EnumToString(Period()),
                  GetLastError());
      //--- the indicator is stopped early
      return(INIT_FAILED);
     }
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   if(handle_iCustom!=INVALID_HANDLE)
      IndicatorRelease(handle_iCustom);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   double main[],signal[];
   ArraySetAsSeries(main,true);
   ArraySetAsSeries(signal,true);
   int start_pos=0,count=3;
   if(!iGetArray(handle_iCustom,MAIN_LINE,start_pos,count,main) ||
      !iGetArray(handle_iCustom,SIGNAL_LINE,start_pos,count,signal))
     {
      return;
     }
//---
   string text_main="Main |",text_signal="Signal |";
   for(int i=count-1; i>=0; i--)
     {
      text_main=text_main+" #"+IntegerToString(i)+" "+DoubleToString(main[i],Digits()+1)+" | ";
      text_signal=text_signal+" #"+IntegerToString(i)+" "+DoubleToString(signal[i],Digits()+1)+" | ";
     }
   Comment(text_main,"\n",text_signal);
  }
//+------------------------------------------------------------------+
//| Get value of buffers                                             |
//+------------------------------------------------------------------+
bool iGetArray(const int handle,const int buffer,const int start_pos,
               const int count,double &arr_buffer[])
  {
   bool result=true;
   if(!ArrayIsDynamic(arr_buffer))
     {
      PrintFormat("ERROR! EA: %s, FUNCTION: %s, this a no dynamic array!",__FILE__,__FUNCTION__);
      return(false);
     }
   ArrayFree(arr_buffer);
//--- reset error code
   ResetLastError();
//--- fill a part of the iBands array with values from the indicator buffer
   int copied=CopyBuffer(handle,buffer,start_pos,count,arr_buffer);
   if(copied!=count)
     {
      //--- if the copying fails, tell the error code
      PrintFormat("ERROR! EA: %s, FUNCTION: %s, amount to copy: %d, copied: %d, error code %d",
                  __FILE__,__FUNCTION__,count,copied,GetLastError());
      //--- quit with zero result - it means that the indicator is considered as not calculated
      return(false);
     }
   return(result);
  }
//+------------------------------------------------------------------+
Код прикреплен к посту #106
.
How to start with MQL5
How to start with MQL5
  • 2020.09.06
  • www.mql5.com
This thread discusses MQL5 code examples. There will be examples of how to get data from indicators, how to program advisors...
 

Код индикатора - эксперт для MetaTrader 5

Основано на статье Попытка разработки конструктора советника.

Этот неторговый советник представляет собой просто набор готовых кодов для работы с индикаторами. Содержит входные параметры индикаторов (прописаны в "шапке" советника), объявление дескрипторов (прописаны в "шапке" советника) и создание дескрипторов (прописаны в OnInit).

Причина обращения: