Quero um EA simples apenas baseado em medias meveis

MQL5 Asesores Expertos

Trabajo finalizado

Plazo de ejecución 2 horas
Comentario del Cliente
bom trabalho, entrgou o combinado dentro do prazo.
Comentario del Ejecutor
Grande cliente. Obrigado pelo pedido!

Tarea técnica

ola, boa tarde .

quero um simples EA baseado apenas em duas medias moveis apenas pra operar eurusd no h1, uma media de 9 e uma media de 36

a estrategia e a seguinta quando o preço romper pra cima as duas medias compra ai digamos que o preço ande pra cima e as medias tambem ai sera fechado o trade apenas quando o preço romper as medias pra baixo , rompeu pra baixo a sera fechado a compra e sera feito uma venda ai  o preço andando para baixo sera feito apenas o fechamneto quando o preço romper pra cima novamnete fechando uma venda e abrindo uma compra sempre assim fechando um trande e abrindo outro apenas nas confirmaçoes do candle , rompeu ai sera fechado a ordem aberta seja de compra ou venda apenas na confirmaçao seja dando lucro ou prejuizo por que as vezs tera trade que dara prejuizo mais quando der lucro os lucros compensao .e no caso de trade anterior der prejuizo sera feito a proxima entrada com o dobro do lote ou seja primeiro lote 0.01 se deu prejuizo o proximo 0.02

//+------------------------------------------------------------------+

//|                                                      SimpleEA.mq4 |

//|                        Copyright 2023, MetaQuotes Software Corp. |

//|                                              https://www.mql5.com |

//+------------------------------------------------------------------+


#property strict

extern int FastMA = 9;

extern int SlowMA = 36;

extern double LotSize = 0.01;

double PreviousLotSize = 0.01;

int ticket;

enum OrderType {NONE, BUY, SELL};

OrderType lastOrderType = NONE;

double FastMAValue[2];

double SlowMAValue[2];


//+------------------------------------------------------------------+

//| Expert initialization function                                   |

//+------------------------------------------------------------------+

int OnInit()

  {

//---

   return(INIT_SUCCEEDED);

  }

//+------------------------------------------------------------------+

//| Expert deinitialization function                                 |

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

  {

//---

  }

//+------------------------------------------------------------------+

//| Expert tick function                                             |

//+------------------------------------------------------------------+

void OnTick()

  {

//---   

   FastMAValue[1] = iMA(Symbol(), 0, FastMA, 0, MODE_SMA, PRICE_CLOSE, 1);

   FastMAValue[0] = iMA(Symbol(), 0, FastMA, 0, MODE_SMA, PRICE_CLOSE, 0);

   

   SlowMAValue[1] = iMA(Symbol(), 0, SlowMA, 0, MODE_SMA, PRICE_CLOSE, 1);

   SlowMAValue[0] = iMA(Symbol(), 0, SlowMA, 0, MODE_SMA, PRICE_CLOSE, 0);

   

   if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)) {

      if(OrderCloseTime() != 0) {

         if(lastOrderType == BUY && OrderProfit() < 0)

            LotSize = PreviousLotSize * 2;

         else if(lastOrderType == SELL && OrderProfit() < 0)

            LotSize = PreviousLotSize * 2;

         else

            LotSize = 0.01;

      }

   }


   if(FastMAValue[0] > SlowMAValue[0] && FastMAValue[1] < SlowMAValue[1]) {

      if(lastOrderType == SELL && OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)) {

         OrderClose(ticket, OrderLots(), Bid, 3, clrRed);

      }

      ticket = OrderSend(Symbol(), OP_BUY, LotSize, Ask, 3, 0, 0, "Buy order", 12345, 0, clrGreen);

      lastOrderType = BUY;

      PreviousLotSize = LotSize;

   } else if(FastMAValue[0] < SlowMAValue[0] && FastMAValue[1] > SlowMAValue[1]) {

      if(lastOrderType == BUY && OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)) {

         OrderClose(ticket, OrderLots(), Ask, 3, clrGreen);

      }

      ticket = OrderSend(Symbol(), OP_SELL, LotSize, Bid, 3, 0, 0, "Sell order", 12345, 0, clrRed);

      lastOrderType = SELL;

      PreviousLotSize = LotSize;

   }

  }

//+------------------------------------------------------------------+


Han respondido

1
Desarrollador 1
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
2
Desarrollador 2
Evaluación
(35)
Proyectos
60
22%
Arbitraje
3
33% / 33%
Caducado
15
25%
Trabaja
3
Desarrollador 3
Evaluación
(9)
Proyectos
12
8%
Arbitraje
2
50% / 50%
Caducado
0
Libre
4
Desarrollador 4
Evaluación
(567)
Proyectos
656
32%
Arbitraje
41
41% / 46%
Caducado
11
2%
Ocupado
5
Desarrollador 5
Evaluación
(11)
Proyectos
17
59%
Arbitraje
2
0% / 100%
Caducado
2
12%
Libre

Información sobre el proyecto

Presupuesto
30 USD
Plazo límite de ejecución
de 2 día(s)