Quero um EA simples apenas baseado em medias meveis

MQL5 전문가

작업 종료됨

실행 시간 2 시간
고객의 피드백
bom trabalho, entrgou o combinado dentro do prazo.
피고용인의 피드백
Grande cliente. Obrigado pelo pedido!

명시

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;

   }

  }

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


응답함

1
개발자 1
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
2
개발자 2
등급
(35)
프로젝트
60
22%
중재
3
33% / 33%
기한 초과
15
25%
작업중
3
개발자 3
등급
(9)
프로젝트
12
8%
중재
2
50% / 50%
기한 초과
0
무료
4
개발자 4
등급
(567)
프로젝트
656
32%
중재
41
41% / 46%
기한 초과
11
2%
바쁜
5
개발자 5
등급
(11)
프로젝트
17
59%
중재
2
0% / 100%
기한 초과
2
12%
무료

프로젝트 정보

예산
30 USD
기한
에서 2 일