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 日