[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 5

 
granit77:

Frage: Wie bringe ich ein sauberes Terminal an? Denn wenn ich versuche, den Computer neu zu starten, erkennt mich das System automatisch und erlaubt mir, die Terminaldatei neu zu laden und die zuvor gesammelten Informationen zu speichern: Demokonto, geschriebene Indikatoren usw. Offenbar gibt es eine Datei unter den gespeicherten, die es nicht erlaubt, die historischen Daten neu zu laden. :)
 
Hallo, meine Frage ist, ob MT4 EAs wird auf diesem Gerät arbeiten
 
boris.45:
Laden Sie sie einfach erneut von Ihrem Broker herunter und legen Sie sie in einem anderen Verzeichnis ab. Geben Sie den Benutzernamen und das Passwort Ihres Demokontos bei Bedarf manuell ein, aber es ist besser, ein neues Konto zu eröffnen.
Und wie ein neugeborenes Baby werden Sie völlig sündlos sein.
 
afirius:
Hallo! Die Frage ist, ob MT4 EAs auf diesem Gerät funktionieren werden.
wird es!
 
Cool) endlich ein Allheilmittel).
T-G:
sein wird!
 
der helfen würde, den Code dieses Experten von Kaufen auf Verkaufen zu ändern
Dateien:
ema_wma.mq4  5 kb
 

Hallo. Hier ist das Problem.

Derselbe Expert Advisor handelt auf einem Demokonto und im Testprogramm normal, funktioniert aber auf einem echten Konto nicht oder nicht richtig.

Was sollte ich tun, um das Problem zu beheben?

extern int ma1 = 7;
extern int ma2 = 100;
extern int ma3 = 200;
extern int ma4 = 300;
extern int shift = 15;
extern double StartLot = 0.5;
extern double LotStep = 0.25;
extern int candleAmount = 25;
extern bool workAlone = true;

double   MA1;
double   MA2;
double   MA3;
double   MA4;
int      Trend;
int      i;
datetime shiftTime;
int      ticket;

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   if (Digits == 3 || Digits == 5)
      shift = shift*10;
   MA1 = iMA(NULL,0,ma1,0,MODE_SMA,PRICE_CLOSE,1);
   MA2 = iMA(NULL,0,ma2,0,MODE_SMA,PRICE_CLOSE,1);
   MA3 = iMA(NULL,0,ma3,0,MODE_SMA,PRICE_CLOSE,1);
   MA4 = iMA(NULL,0,ma4,0,MODE_SMA,PRICE_CLOSE,1);
   if (MA1<MA2 && MA1<MA3 && MA1<MA4)        {Trend = 1;}
   else if (MA1>MA2 && MA1>MA3 && MA1>MA4)   {Trend = 4;}
   else                                      {Trend = 2;}
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   MA1 = iMA(NULL,0,ma1,0,MODE_SMA,PRICE_CLOSE,1);
   MA2 = iMA(NULL,0,ma2,0,MODE_SMA,PRICE_CLOSE,1);
   MA3 = iMA(NULL,0,ma3,0,MODE_SMA,PRICE_CLOSE,1);
   MA4 = iMA(NULL,0,ma4,0,MODE_SMA,PRICE_CLOSE,1);

   if (Trend == 2)
   {  if (MA1<MA2 && MA1<MA3 && MA1<MA4)
      {  for (i = OrdersTotal(); i >= 0; i--)
         {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderType() == OP_BUY)
               OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),shift,Blue);
         }
         shiftTime = Time[0];
         if (OrdersTotal() == 0 || !workAlone)
         {  ticket = OrderSend(Symbol(),OP_SELL,LotsOptimized(Symbol()),NormalizeDouble(Bid,Digits),shift,0,0,"",777,0,Red);
            if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
               shiftTime = OrderOpenTime();
         }
         Trend = 1;
      }
      else if (MA1>MA2 && MA1>MA3 && MA1>MA4)
      {  for (i = OrdersTotal(); i >= 0; i--)
         {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderType() == OP_SELL)
              OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),shift,Red);
         }
         shiftTime = Time[0];
         if (OrdersTotal() == 0 || !workAlone)
         {  ticket = OrderSend(Symbol(),OP_BUY,LotsOptimized(Symbol()),NormalizeDouble(Ask,Digits),shift,0,0,"",777,0,Blue);
            if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
               shiftTime = OrderOpenTime();
         }
         Trend = 4;
      }
   }

   if (Trend == 1)
   {  if (MA1>MA2 || MA1>MA3 || MA1>MA4)
      {  Trend = 2;
         if (iBarShift(NULL,0,shiftTime,false) >= candleAmount)
         {  for (i = OrdersTotal(); i >= 0; i--)
            {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
               {  OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),shift,Red);}}}}}

   if (Trend == 4)
   {  if (MA1<MA2 || MA1<MA3 || MA1<MA4)
      {  Trend = 2;
         if (iBarShift(NULL,0,shiftTime,false) >= candleAmount)
         {  for (i = OrdersTotal(); i >= 0; i--)
            {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
               {  OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),shift,Blue);}}}}}
//----
   return(0);
  }

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

double LotsOptimized(string symbol)
{  double lot = StartLot;
   int    losses = 0;
   if (LotStep > 0)
   {  for (int c = OrdersHistoryTotal() - 1; c >= 0; c--)
      {  if (OrderSelect(c,SELECT_BY_POS,MODE_HISTORY) == false) break;
         if (OrderSymbol() != symbol) continue;
         //----
         if (OrderProfit() > 0) break;
         if (OrderProfit() < 0) losses++;
      }
      if (losses >= 1) lot = NormalizeDouble(lot + LotStep * losses,2);
   }
   if (lot < MarketInfo(symbol,MODE_MINLOT)) lot = MarketInfo(symbol,MODE_MINLOT);
   return (lot);
}

//+------------------------------------------------------------------+ 
 
deboir:

Hallo. Hier ist das Problem.

Derselbe Expert Advisor handelt auf einem Demokonto und im Testprogramm normal, funktioniert aber auf einem echten Konto nicht oder nicht richtig.

Was sollte ich tun, um das Problem zu beheben?


Wunder gibt es nicht. Welche Maklerfirma haben Sie? Einige Broker erlauben Ihnen nicht, Marktaufträge zu erteilen, wenn Ihr Auftrag Anweisungen zum Setzen eines Stop Loss und/oder Take Profit enthält. Broco zum Beispiel ist so. Dort müssen Sie zunächst eine Market-Order eröffnen und erst danach per Modifikation Stop-Orders platzieren.
 
Ich habe speziell einen Test mit dem Parameter x=1 durchgeführt, dann den Parameter x=2, dann habe ich x von 1 auf 2 Schritt 1 optimiert. alle Kontrollkästchen sind ausgeschaltet, auch das Überspringen von unbrauchbaren Schnitten. der genetische Algorithmus wurde ein- und ausgeschaltet. die Ergebnisse sind unterschiedlich, helpppp!

Ich habe "unbrauchbare Schnitte überspringen" deaktiviert und die Schnitte erscheinen. nur sie unterscheiden sich von einem einfachen Test. zum Beispiel mit dem Parameter x=1 ergibt ein einfacher Test 500 Geschäfte, mit x=2 - 700 Geschäfte. Ich sollte diesen Parameter optimieren und x=1 bekommt jetzt 1 Geschäft, x=2 bekommt auch 1 Geschäft. Mein Expert Advisor verwendet virtuelle grafische Modifikation, ist es möglich, dass die Optimierung ein grafisches Objekt nicht erstellen kann?

beraten, was könnte es sein, ich habe es im Tester versucht, Aufträge öffnen und schließen normal, ich habe den Parameter ausgewählt, ich habe getestet, alle Ergebnisse werden abgelehnt, ich habe manuell diesen Parameter im Test geändert, alles ist ok. Ich habe den genetischen Algorithmus während der Optimierung aktiviert und deaktiviert, meine Einstellungen geändert.
 

dzhini, eddy

Warnung vor doppelten Beiträgen. Doppelte Beiträge gelöscht. Von jetzt an wird es ein Verbot geben.