Se necesita modificar órdenes de entrada en EA de reversion a la media

Работа завершена

Время выполнения 3 дня
Отзыв от заказчика
Respuesta rápida, ejecución perfecta y ofrece alternativas aunque no se las hayas planteado, no se limita a hacer, sino a mejorar. Excelente profesional y trato inmejorable
Отзыв от исполнителя
Excelente cliente, un placer trabajar con él.

Техническое задание

Necesito un desarrollador que ajuste una EA actual desarrollada para que realice operaciones de compra y de venta. El código es sencillo, es una reversión a la media con desviaciones típicas y EMA, algo básico. La lógica para comprar y vender es abrir una operación cuando el precio haya cerrado en niveles extremos y cerrar cuando alcance el punto promedio, básicamente como cualquier estrategia de reversión a la media.

La estrategia emplea dos desviaciones típicas de una EMA central, de forma que cuando el precio cierre por encima de una y debajo de la otra al mismo tiempo se ejecuten operaciones de compra o venta, según corresponda, y se cierre automáticamente una vez el precio haya alcanzado la EMA central. El sistema no tiene Take Profits ni Stop Loss específicos como tal, sino órdenes de salida, las cuales pueden producir o ganancias o pérdidas. Igualmente es un sistema que solo permite una única dirección al mismo tiempo. Está pensado para trabajar en velas de 1 minuto.

El lote es una variable indicada como una cantidad fija que puede ser modificada arbitrariamente, así como el periodo de la EMA y las desviaciones de la misma. Por la lógica de la estrategia, nunca se va a dar que en una posición abierta se ejecuten señales para una posición contraria, pueden darse ejecuciones en la misma dirección que la entrada inicial que NO serán ejecutadas, de forma que se mantendrá una única posición en una única dirección cada vez que se den las condiciones para una señal de compra.

La lógica es la siguiente:

1) Detecta que el precio cierra por encima de una desviación típica del precio y debajo de la otra.

2) Ejecuta la orden de compra o de venta, dependiendo de cuáles sean las desviaciones que sobrepasa y cuales no (está todo muy claramente escrito en el código)

3) Una vez el precio cierre por debajo o por encima de la EMA, la operación se cerrará automáticamente

Listo, necesito alguien que desarrolle las órdenes de entrada y salida del mercado únicamente. Pongo una parte del código para que puedan hacerse a la idea:

#include <Trade/Trade.mqh>

//--- input parameters
input double   Dev1=2.0;
input double   Dev2=2.25;
input int      emaPeriod=12;
input double   DefaultQuantity=1;

int ema_handle, bollinger_handle1, bollinger_handle2;
double Close[];

CTrade trade;

----------------
void OnTick()
  {  
   //--- Calculation of stdevs and EMA
   double mid = iMA(_Symbol, PERIOD_CURRENT, emaPeriod, 0, MODE_EMA, PRICE_CLOSE);
   double dev = iStdDev(_Symbol, PERIOD_CURRENT, emaPeriod, 0, MODE_EMA, PRICE_CLOSE);
   double up1 = mid + Dev1 * dev;
   double low1 = mid - Dev1 * dev;
   double up2 = mid + Dev2 * dev;
   double low2 = mid - Dev2 * dev;
   
   CopyClose(_Symbol,PERIOD_CURRENT,0,1,Close);
    
   if (PositionSelect(_Symbol) == false) {
      if (up1 <= Close[0] && up2 >= Close[0]) {
        trade.Sell(DefaultQuantity,_Symbol,0.0,0.0,0.0,"");
      }
      else if (low1 >= Close[0] && Close[0] >= low2) {
         trade.Buy(DefaultQuantity,_Symbol,0.0,0.0,0.0,"");               
      }

   else {
      if (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL && mid >= Close[0]) {
         trade.PositionClose(_Symbol);
      }
      else if (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY && mid <= Close[0]) {
         trade.PositionClose(_Symbol);
      }
   }
}


Откликнулись

1
Разработчик 1
Оценка
(93)
Проекты
133
35%
Арбитраж
13
38% / 31%
Просрочено
32
24%
Свободен
2
Разработчик 2
Оценка
(184)
Проекты
317
24%
Арбитраж
23
35% / 13%
Просрочено
24
8%
Свободен
Опубликовал: 3 примера
3
Разработчик 3
Оценка
(294)
Проекты
470
39%
Арбитраж
102
40% / 24%
Просрочено
78
17%
Занят
Опубликовал: 2 примера
4
Разработчик 4
Оценка
(62)
Проекты
91
16%
Арбитраж
4
0% / 25%
Просрочено
2
2%
Свободен
Похожие заказы
Condiciones de Operación: Activo: US30 Sesión: Jornada de Nueva York Horario: Operaciones desde las 9:00 a.m. NY, opción configurable Parámetros Generales: Operamos una ruptura del rango de la sesión de Londres, esperando que el precio salga del rango definido, ya sea al alza o a la baja, este rango debe ser configurable también Entran 2 operaciones al mismo tiempo cada una con 0.5% de riesgo, valor del riesgo
Buenas tengo un bot de metatrader 4 y me gustaria que me lo transformaran en lenguaje de mql5 para que funcione en la plataforma de Metatrader 5 SIN MODIFIFCAR nada de la estrategia del bot ni nada, es decir, convertir el codigo de mt4 a mt5 y a mayores, quisiera aprovechar para poder crear un menu para configurar los parametros del EA, que sea intuitivo, seperado por modulos con sus titulos y que sea mas atractivo

Информация о проекте

Бюджет
40+ USD
Сроки выполнения
до 10 дн.