Главная
Каталог статей форекс
The xCustomEA Примеры стратегий

Для того, чтобы использовать все возможности сайта, мы рекомендуем Вам person_add Зарегистрироваться или person Войти

starРейтинг: 5.0/2

date_range Добавлено: 29.09.2018

date_range Обновлено: 12.12.2018

remove_red_eyeПросмотров: 473

dashboardКатегория: The xCustomEA Примеры стратегий

historyИстория версий

computerТерминал: МТ4 и МТ5

cloudTrend, PipFinite, Exp, Советник, xCustomEA, Pro, по, The, индикатору


Читать Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO

Описание

Пример программирования стратегии по индикатору PipFinite Trend PRO и торговля с помощью нашей универсальной торговой системы Exp - The xCustomEA.

В этой статье мы подробно разберем пользовательский индикатор PipFinite Trend PRO, скачанный с маркета mql5.

Разберем способы работы с индикатором и варианты его вызова в нашем Советнике Exp - The xCustomEA.

 

Начало

Разрабатывая советник  Exp - The xCustomEA, мы знали, что большинство наших пользователей программировать не умеют!

Но нужно ли иметь знания по программированию, чтобы торговать по индикатору? 

Мы сделали все, чтобы использование нашего советника была легким и доступным. 

Программирование советника по индикатору за 20 минут? Легко! 

Особенно, Если весь программный код уже давно выполнен на безупречно.

В нашей инструкции по Exp - The xCustomEA мы максимально понятно написали шаги по программированию стратегий!

 

Первый индикатор, который мы будем использовать в нашем примере мы выбрали не случайно.

Дело в том, что в маркете mql5 очень много индикаторов для МТ5 и МТ4.

Но мы выбрали один из самых популярных индикаторов маркета, который имеет 1000 отзывов и распространяется для терминала МТ4 и МТ5.

Также автор индикатора на стал скрывать сигнальные буферы и даже написал номера этих буферов! Что очень важно при разработке советника по индикатору.

 

PipFinite Trend PRO

Для начала работы с индикатором, нам необходимо установить его в наши терминалы!

Как установить индикатор с маркета?

Заходим на страницу индикатора для мт5 https://www.mql5.com/en/market/product/26889

Заходим на страницу индикатора для мт4 https://www.mql5.com/en/market/product/26888

Нажимаем кнопку Скачать ТРИАЛ или Free DEMO

Подтверждаем загрузку индикатора в наш терминал MetaTrader

 

После загрузки индикатора с маркета он появится в папке Вашего терминала Indicators\Market

Для того, чтобы протестировать индикатор, Вам необходимо нажать правой кнопкой по индикатору - Test

Должен открыться тестер стратегий, где будет выбранный наш индикатор

 

 

Определение сигнальных буферов

 

После этого нам необходимо выяснить, какие сигнальные буферы использует индикатор, для вывода информации о сигналах.

Нам необходимы номера буферов.

Изначально я пытался сам выяснить номера буферов, но это заняло немало времени потому, что номера буферов не стандартны!

Почитав инструкцию к индикатору я обнаружил, что автор сделал правильно, он написал номера буферов для работы из советника. За это огромный Респект.!

Для того, чтобы узнать номера буферов для сигналов, нам необходимо запустить индикатор в режиме Визуализации и открыть Окно данных или Data Window

C этими номерами мы будем в дальнейшем работать!

Хочу заметить, что все буферы начинаются с 0!

В данном случае Буфер для сигналов BUY под номером 8.

Буфер для сигналов SELL под номером 9.

 

Этот индикатор очень выгодный для нашего примера потому, что мы можем использовать два типа программирования советника по индикатору:

  1. Программирование сигналов в нашем индикаторе Ind - The xCustomEA для сигналов (xCustomEA)
  2. Установка PipFinite Trend PRO в качестве основного индикатора без отдельного программирования (xArrow)

 

xArrow Работа по индикатору без программирования 

Начнем с простейшего прямого указание пользовательского индикатора PipFinite Trend PRO  в качестве xArrow

Так, как мы знаем номера буферов для сигналов, а также знаем, что советник устанавливает стрелки по сигналу, то следующий процесс настройки нашего советника займет 10 секунд:

 

Открытие позиций Сигналы

для мт4 мы указываем название Market\\PipFinite Trend PRO

для мт5 мы указываем название Market\\PipFinite Trend PRO MT5

Параметр SignalTypeIndicator = xArrow

Далее нам необходимо указать номера буферов для открытия позиций! 

Автор индикатора любезно предоставил эти номера и мы легко их видем в обзоре рынка:

  1. SignalBuferforBUY=8
  2. SignalBuferforSELL=9

Все остальные настройки по умолчанию! 

выглядит так:

  1. SignalNameIndicator=Market\\PipFinite Trend PRO MT5
  2. SignalTypeIndicator=2
  3. TF_IndSigToTrade1=0
  4. OWNSIGNAL_shift=1
  5. SIGNALStrategyInputs=
  6. SignalBuferforBUY=8
  7. SignalBuferforSELL=9

Проверяем работу советника и определяем, что советник точно торгует по нашему индикатору!

Результаты работы советника по индикатору  PipFinite Trend PRO будут представлены ниже!

Закрытие позиций Сигналы

для мт4 мы указываем название Market\\PipFinite Trend PRO

для мт5 мы указываем название Market\\PipFinite Trend PRO MT5

  1. CloseNameIndicator=Market\\PipFinite Trend PRO MT5
  2. CloseTypeIndicator=xArrow
  3. CloseTimeFrame=0
  4. Close_shift=1
  5. CloseStrategyInputs=
  6. CloseBuferforBUY=9
  7. CloseBuferforSELL=8

Далее нам необходимо указать номера буферов для закрытия позиций! 

Автор индикатора любезно предоставил эти номера и мы легко их видем в обзоре рынка:

  1. CloseBuferforBUY=9
  2. CloseBuferforSELL=8

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

Все остальные настройки по умолчанию! 

 

 

Фильтрация сигналов по тренду

для мт4 мы указываем название Market\\PipFinite Trend PRO

для мт5 мы указываем название Market\\PipFinite Trend PRO MT5

  1. FilterNameIndicator=Market\\PipFinite Trend PRO MT5
  2. FilterTypeIndicator=2
  3. FILTER_TF_IndSigToTrade1=0
  4. FILTERSIGNAL1_shift=1
  5. FILTERStrategyInputs=
  6. FilterBuferforBUY=10
  7. FilterBuferforSELL=11

Далее нам необходимо указать номера буферов для фильтрации позиций! 

Автор индикатора любезно предоставил эти номера и мы легко их видем в обзоре рынка:

  1. FilterBuferforBUY=10
  2. FilterBuferforSELL=11

Эти значения похожи на значения при открытии позиций. Их можно использовать с другими индикаторами. 

Например: на открытие указывать один индикатор, а на фильтрацию сигналов указывать этот индикатор с фильтрами. 

Автор указывает эти фильтры как линии UpTrend и DnTrend 

 

Все остальные настройки по умолчанию! 

Стоплосс и Тейкпрофит от индикатора

для мт4 мы указываем название Market\\PipFinite Trend PRO

для мт5 мы указываем название Market\\PipFinite Trend PRO MT5

  1. SLTPNameIndicator=Market\\PipFinite Trend PRO MT5
  2. SLTPTypeIndicator=1
  3. SLTPTimeFrame=0
  4. SLTP_shift=1
  5. SLTPStrategyInputs=
  6. SLTPBuferforBUY_StopLoss=-1
  7. SLTPBuferforSELL_StopLoss=-1
  8. SLTPBuferforBUY_TakeProfit=13
  9. SLTPBuferforSELL_TakeProfit=13

Далее нам необходимо указать номера буферов для получения значений тейкпрофита!

Автор индикатора любезно предоставил эти номера и мы легко их видем в обзоре рынка:

  1. SLTPBuferforBUY_TakeProfit=13
  2. SLTPBuferforSELL_TakeProfit=13

Здесь мы указываем одинаковый буфер. Автор указывает нам Тейкпрофит по цене, и в момент нового сигнала заполняется буфер номер 13. 

Для стоплосса, автор не указал номер буфера. В этой стратегии стоплосс не предусмотрен! Вы можете указать свой стоплосс в настройках нашего советника в разделе Stops 

Также автор указал нам два буфера для тейкпрофита.

Ближний под номером 12 

Дальний под номером 13

Мы использовали дальний тейкпрофит, Вы можете указать 12 для ближнего Тейкпрофита!!!!

 

Результат закрытия по тейкпрофиту индикатору:

Все остальные настройки по умолчанию!

 

xCustomEA Программирование стратегии по индикатору

Так, как мы знаем номера сигнальных буферов, то нам не составит труда, чтобы прописать эти сигналу в наш индикатор Ind - The xCustomEA, который мы будем использовать в нашем советнике

Нижу я предоставлю код стратегии по индикатору для МТ5:

#resource "\\Indicators\\Market\\PipFinite Trend PRO MT5.ex5"
int h_custom;
int h_custom2;
double custom1_buffer[];
double custom2_buffer[];
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void IndicatorInit()
  {
// Инициализируем индикаторы, Initializing Indicators
   switch(StrategyNumber)
     {
      case 1:
         h_custom=iCustom(StrategySymbolString,StrategyTimeFrame,"::Indicators\\Market\\PipFinite Trend PRO MT5");
         if(h_custom==INVALID_HANDLE)
           {
            Print(" Не удалось получить хендл индикатора Moving Average");
            return;
           }
         break;
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int IndicatorSignal(int sigInd=0,string symToWork3="",int TF=0,int ShiftIndicator=1,int i=0)
  {
// ****************************************************************************************************
// ====================================================================================================
// Эту часть кода Не изменять!
// Do not change this part of the code!
// START
   int sig=0;
   if(symToWork3=="")
      symToWork3=Symbol();
   int StartCopyI=i;
   InfoAboutSignal="";
   if(sigInd==0)
     {
      return(-9);
     }
// END
// Эту часть кода Не изменять!
// Do not change this part of the code!
// ====================================================================================================
// ****************************************************************************************************
   if(sigInd==1)
     {
      // Заполняем данные, 
      // We fill in the data
      if(CopyBuffer(h_custom,8,0,3+ShiftIndicator,custom1_buffer)<3+ShiftIndicator)
         return(0);
      if(!ArraySetAsSeries(custom1_buffer,true))
         return(0);
      if(CopyBuffer(h_custom,9,0,3+ShiftIndicator,custom2_buffer)<3+ShiftIndicator)
         return(0);
      if(!ArraySetAsSeries(custom2_buffer,true))
         return(0);
      // Здесь пишем нашу стратегию, в данном примере это пересечение двух линий, 
      // Here we write our strategy, in this example it is the intersection of two lines
      if(custom1_buffer[ShiftIndicator]!=EMPTY_VALUE && custom1_buffer[ShiftIndicator]>0)
        { sig=1;}
      else
      if(custom2_buffer[ShiftIndicator]!=EMPTY_VALUE && custom2_buffer[ShiftIndicator]>0)
        { sig=-1;}
      else sig=0;
      InfoAboutSignal=InfoAboutSignal+" "+"sigInd="+(string)sigInd+" TF="+(string)TF+" Symbol="+symToWork3+" sig="+(string)sig+" "+__FUNCTION__+" "
                      +" custom1_buffer[ShiftIndicator]="+(string)custom1_buffer[ShiftIndicator]
                      +" custom2_buffer[ShiftIndicator]="+(string)custom2_buffer[ShiftIndicator];
      // //--- возвращаем торговый сигнал
      Comment(InfoAboutSignal);
      return(sig);
     }
   return(-100);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int FILTERIndicatorSignal(int sigInd=0,string symToWork3="",int TF=0,int ShiftIndicator=1,int i=0)
  {
// ****************************************************************************************************
// ====================================================================================================
// Эту часть кода Не изменять!
// Do not change this part of the code!
// START
   int sig=0;
   if(symToWork3=="")symToWork3=Symbol();
   int shift=ShiftIndicator;
   int StartCopyI=i;
// END
// Эту часть кода Не изменять!
// Do not change this part of the code!
// ====================================================================================================
// ****************************************************************************************************
   if(sigInd==1)
     {
      // Заполняем данные, 
      // We fill in the data
      if(CopyBuffer(h_custom,10,0,3+ShiftIndicator,custom1_buffer)<3+ShiftIndicator)
         return(0);
      if(!ArraySetAsSeries(custom1_buffer,true))
         return(0);
      if(CopyBuffer(h_custom,11,0,3+ShiftIndicator,custom2_buffer)<3+ShiftIndicator)
         return(0);
      if(!ArraySetAsSeries(custom2_buffer,true))
         return(0);
      // Здесь пишем нашу стратегию, в данном примере это пересечение двух линий, 
      // Here we write our strategy, in this example it is the intersection of two lines
      if(custom1_buffer[ShiftIndicator]!=EMPTY_VALUE && custom1_buffer[ShiftIndicator]>0)
        { sig=1;}
      else
      if(custom2_buffer[ShiftIndicator]!=EMPTY_VALUE && custom2_buffer[ShiftIndicator]>0)
        { sig=-1;}
      else sig=0;
      InfoAboutSignal=InfoAboutSignal+" "+"sigInd="+(string)sigInd+" TF="+(string)TF+" Symbol="+symToWork3+" sig="+(string)sig+" "+__FUNCTION__+" "
                      +" custom1_buffer[ShiftIndicator]="+(string)custom1_buffer[ShiftIndicator]
                      +" custom2_buffer[ShiftIndicator]="+(string)custom2_buffer[ShiftIndicator];
      // //--- возвращаем торговый сигнал
      Comment(InfoAboutSignal);
      return(sig);
     }
   return(-100);
  }
//+------------------------------------------------------------------+

Нижу я предоставлю код стратегии по индикатору для МТ4:

#resource "\\Indicators\\Market\\PipFinite Trend PRO.ex4"
string ind="========= Indicators options =========";
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int IndicatorSignal(int sigInd=0,string symToWork3="",int TF=0,int ShiftIndicator=1,int i=0)
  {
// ****************************************************************************************************
// ====================================================================================================
// Эту часть кода Не изменять!
// Do not change this part of the code!
// START
   int sig=0;
   if(symToWork3=="")
      symToWork3=Symbol();
   int StartCopyI=i;
   InfoAboutSignal="";
   if(sigInd==0)
     {
      return(-9);
     }
// END
// Эту часть кода Не изменять!
// Do not change this part of the code!
// ====================================================================================================
// ****************************************************************************************************
   if(sigInd==1)
     {
      // 
      // Заполняем данные, 
      // We fill in the data
      // 
      //
      double CustomSigBuy=iCustom(StrategySymbol,StrategyTimeFrame,"::Indicators\\Market\\PipFinite Trend PRO",8,StartCopyI+ShiftIndicator);
      double CustomSigSell=iCustom(StrategySymbol,StrategyTimeFrame,"::Indicators\\Market\\PipFinite Trend PRO",9,StartCopyI+ShiftIndicator);
      //
      //
      //
      // Здесь пишем нашу стратегию, в данном примере это пересечение двух линий, 
      // Here we write our strategy, in this example it is the intersection of two lines
      // 
      if(CustomSigBuy!=EMPTY_VALUE && CustomSigBuy>0)
         // // Buy sig
         sig=1;
      if(CustomSigSell!=EMPTY_VALUE && CustomSigSell>0)
         // // Sell sig
         sig=-1;//

      // Записываем данные, которые будут отображаться в журнале, при открытии позиций по сигналу 
      // We write down the data that will be displayed in the log, when you open positions on a signal
      // 
      InfoAboutSignal=" InfoAboutSignal sigInd="+(string)sigInd+" sig="+(string)sig
                      +" CustomSigBuy="+(string)CustomSigBuy
                      +" CustomSigSell="+(string)CustomSigSell
                      ;
      // //--- возвращаем торговый сигнал
      // 
      return(sig);
     }
   return(-100);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int FILTERIndicatorSignal(int sigInd=0,string symToWork3="",int TF=0,int ShiftIndicator=1,int i=0)
  {
// ****************************************************************************************************
// ====================================================================================================
// Эту часть кода Не изменять!
// Do not change this part of the code!
// START
   int sig=0;
   if(symToWork3=="")
      symToWork3=Symbol();
   int shift=ShiftIndicator+i;
   int StartCopyI=i;
// END
// Эту часть кода Не изменять!
// Do not change this part of the code!
// ====================================================================================================
// ****************************************************************************************************
   if(sigInd==1)
     {
      // 
      // Заполняем данные, 
      // We fill in the data
      // 
      //
      double CustomSigBuy=iCustom(StrategySymbol,StrategyTimeFrame,"::Indicators\\Market\\PipFinite Trend PRO",10,StartCopyI+ShiftIndicator);
      double CustomSigSell=iCustom(StrategySymbol,StrategyTimeFrame,"::Indicators\\Market\\PipFinite Trend PRO",11,StartCopyI+ShiftIndicator);
      //
      //
      //
      // Здесь пишем нашу стратегию, в данном примере это пересечение двух линий, 
      // Here we write our strategy, in this example it is the intersection of two lines
      // 
      if(CustomSigBuy!=EMPTY_VALUE && CustomSigBuy>0)
         // // Buy sig
         sig=1;
      if(CustomSigSell!=EMPTY_VALUE && CustomSigSell>0)
         // // Sell sig
         sig=-1;// 
      // Записываем данные, которые будут отображаться в журнале, при открытии позиций по сигналу 
      // We write down the data that will be displayed in the log, when you open positions on a signal
      // 
      InfoAboutSignal=" InfoAboutSignal sigInd="+(string)sigInd+" sig="+(string)sig
                      +" CustomSigBuy="+(string)CustomSigBuy
                      +" CustomSigSell="+(string)CustomSigSell

                      ;

      // //--- возвращаем торговый сигнал
      // 
      return(sig);
     }
   return(-100);
  }

 

 

Остальную часть кода, которая идет ниже в наших индикаторах трогать ЗАПРЕЩЕНО

Иначе советник не сможет правильно инициализироваться!

 

Как Вы видите, программирование стратегии по индикатору очень легкое! 

 

Проверка работы индикатора и советника

После того, как мы выполнили Все шаги программирования стратегии по индикатору, мы обязаны проверить работу советника по этому индикатору!

Загружаем индикатор Ind - The xCustomEA PipFinite Trend PRO для проверки в тестере стратегий и смотрим правильность установки стрелок:

 

Настраиваем и проверяем советник по индикатору:

 

Проверяем правильность открытия позиций по сигналам индикатора PipFinite Trend PRO

 

Тестирование советника PipFinite Trend PRO

После проверки правильности сигналов, Мы запустим тест советника по индикатору на EURUSD H1 с 2018 01 01 по 2018 09 27

Кстати: Мы совершенно точно видим, что советник работает практически одинаково на двух терминалах МТ4 и МТ5

 

 

Выводы

Мы не будем проводить многочисленные тесты этого индикатора, Вы можете использовать наш пример по работе с этим индикатором и оптимизировать параметры нашего советника с разными вариантами использований функций. 

Помните, что для того, чтобы индикатор и советник работал на Вашем демо счете или реальном счете, Вам необходимо купить Exp The xCustomEA и индикатор PipFinite Trend PRO для того терминала, с которым Вы будете работать!

Покупая наш Exp The xCustomEA Вы можете программировать любые стратегии с использованием любых индикаторов!

 

Друзья! Вы можете обсудить данную стратегию на нашем форуме!

Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_1 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_2 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_3 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_4 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_5 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_6 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_7 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_8 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_9 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_10 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_11 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_12 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_13 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_14 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_15 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_16 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_17 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_18 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_19 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_20 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_21 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_22 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_23 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_24 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_25 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_26 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_27 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_28 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_29 Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO_210
Здесь можно скачать Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO
Купить Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO можно здесь - Прочитать о Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO можно здесь - Обсуждение Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO - стейты, отзывы, комментарии - Отзывы о Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO - Настройки к Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO - Мониторинг Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO - Download Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO - Buy Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO - Read about Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO - Discusion of Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO - Comments of Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO - Settings Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO - Monitoring Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO - Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO скачать бесплатно - Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO ключ - Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO открытый код - Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO скачать
-
Читать Exp - The xCustomEA Советник по индикатору PipFinite Trend PRO
0 $

Пример программирования стратегии по индикатору PipFinite Trend PRO и торговля с помощью нашей универсальной торговой системы Exp - The xCustomEA.

В этой статье мы подробно разберем пользовательский индикатор PipFinite Trend PRO, скачанный с маркета mql5.

Разберем способы работы с индикатором и варианты его вызова в нашем Советнике Exp - The xCustomEA.

The xCustomEA Примеры стратегий FinanceApplication Windows 12.12.2018
5 2
Expforex Идеи для Форекс https://www.expforex.com/1NEWDESIGN/NEWLOGO/LOGONEW.png expforex@meta.ua Украина expforex2