EA der bei Kreuzung von 2 EMAs - eine Long und eine Short Position eröffnet. Das darf er bei Kreuzung aber nur einmal machen, bis ich die Pos. geschlossen habe. EMAs müssen veränderbar werden können.

MQL5 Uzmanlar

İş tamamlandı

Tamamlanma süresi: 6 gün

Şartname

mql4
//+------------------------------------------------------------------+
//|                                                      MA_Cross.mq4|
//|                        Copyright 2024, MetaQuotes Software Corp. |
//|                                       https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
input int fastMA = 12; // Periode des schnellen MA
input int slowMA = 25; // Periode des langsamen MA
input double lotSize = 0.01; // Lotgröße

double fastMAValue, slowMAValue;
bool positionOpen = false;

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   fastMAValue = iMA(NULL, 0, fastMA, 0, MODE_SMA, PRICE_CLOSE, 0);
   slowMAValue = iMA(NULL, 0, slowMA, 0, MODE_SMA, PRICE_CLOSE, 0);
   double fastMAValuePrev = iMA(NULL, 0, fastMA, 0, MODE_SMA, PRICE_CLOSE, 1);
   double slowMAValuePrev = iMA(NULL, 0, slowMA, 0, MODE_SMA, PRICE_CLOSE, 1);

   // Überprüfen, ob eine Position geöffnet ist
   if (PositionSelect(Symbol()))
     positionOpen = true;
   else
     positionOpen = false;

   // Long-Position eröffnen
   if (fastMAValue > slowMAValue && fastMAValuePrev <= slowMAValuePrev && !positionOpen)
     {
      OrderSend(Symbol(), OP_BUY, lotSize, Ask, 2, 0, 0, "MA Cross Long", 0, 0, clrGreen);
     }

   // Short-Position eröffnen
   if (fastMAValue < slowMAValue && fastMAValuePrev >= slowMAValuePrev && !positionOpen)
     {
      OrderSend(Symbol(), OP_SELL, lotSize, Bid, 2, 0, 0, "MA Cross Short", 0, 0, clrRed);
     }
  }
//+-------------------------------------------------

Yanıtlandı

1
Geliştirici 1
Derecelendirme
(1300)
Projeler
1727
49%
Arabuluculuk
52
71% / 12%
Süresi dolmuş
38
2%
Çalışıyor
2
Geliştirici 2
Derecelendirme
(35)
Projeler
53
74%
Arabuluculuk
4
50% / 0%
Süresi dolmuş
0
Serbest
3
Geliştirici 3
Derecelendirme
(153)
Projeler
238
33%
Arabuluculuk
20
45% / 30%
Süresi dolmuş
2
1%
Serbest
4
Geliştirici 4
Derecelendirme
(451)
Projeler
713
34%
Arabuluculuk
34
71% / 9%
Süresi dolmuş
22
3%
Serbest

Proje bilgisi

Bütçe
30 - 35 USD
Son teslim tarihi
to 5 gün