Criar um Expert Advisor (EA) em MQL4 para cruzamento de médias móveis e saída baseada em inversão de tendência é simples. Aqui está um exemplo básico de código:
```cpp
//+------------------------------------------------------------------+
//| SimpleEA.mq4 |
//| Copyright 2021, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
// Parâmetros do EA
extern double TakeProfit = 50;
extern double StopLoss = 50;
extern int MA_Period1 = 15;
extern int MA_Period2 = 30;
extern int Stochastic_Period = 14;
int OnInit()
{
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason)
{
}
void OnTick()
{
double MA1_Current = iMA(NULL, 0, MA_Period1, 0, MODE_SMA, PRICE_CLOSE, 0);
double MA1_Previous = iMA(NULL, 0, MA_Period1, 0, MODE_SMA, PRICE_CLOSE, 1);
double MA2_Current = iMA(NULL, 0, MA_Period2, 0, MODE_SMA, PRICE_CLOSE, 0);
double MA2_Previous = iMA(NULL, 0, MA_Period2, 0, MODE_SMA, PRICE_CLOSE, 1);
bool BuySignal = MA1_Current > MA2_Current && MA1_Previous <= MA2_Previous;
bool SellSignal = MA1_Current < MA2_Current && MA1_Previous >= MA2_Previous;
if (BuySignal)
{
double SL = NormalizeDouble(Bid - StopLoss * Point, Digits);
double TP = NormalizeDouble(Bid + TakeProfit * Point, Digits);
int ticket = OrderSend(Symbol(), OP_BUY, 0.01, Ask, 3, SL, TP, "Buy Order", 0, 0, Blue);
}
if (SellSignal)
{
double SL = NormalizeDouble(Ask + StopLoss * Point, Digits);
double TP = NormalizeDouble(Ask - TakeProfit * Point, Digits);
int ticket = OrderSend(Symbol(), OP_SELL, 0.01, Bid, 3, SL, TP, "Sell Order", 0, 0, Red);
}
for (int i = OrdersTotal() - 1; i >= 0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderSymbol() == Symbol())
{
if (OrderType() == OP_BUY && MA1_Current < MA1_Previous)
{
OrderClose(OrderTicket(), OrderLots(), Bid, 3, Blue);
}
if (OrderType() == OP_SELL && MA1_Current > MA1_Previous)
{
OrderClose(OrderTicket(), OrderLots(), Ask, 3, Red);
}
}
}
}
//+------------------------------------------------------------------+
```
Este EA usa duas médias móveis simples (SMA) com períodos de 15 e 30 e um estocástico com período 14. Ele abre uma ordem de compra quando a SMA de 15 cruza acima da SMA de 30 e abre uma ordem de venda quando a SMA de 15 cruza abaixo da SMA de 30. As ordens são fechadas quando a SMA de 15 inverte a tendência.
Informação sobre o Forex. Tendências e previsões. Testes de Expert Advisors. Teste e verificações de correctores de Forex.
terça-feira, 28 de março de 2023
Codigo de Expert Advisor
Subscrever:
Enviar feedback (Atom)
Sem comentários:
Enviar um comentário