Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1408

 
Yurka Tim #:
Hallo zusammen!
Liebe Kolleginnen und Kollegen, wenn ich ein neues Symbol aus der "Market Watch"-Liste mit der Maus in ein Chart-Fenster ziehe, bleiben die Zeichenobjekte des vorherigen Symbols (z.B. Levels, etc.) im Chart erhalten. Sind diese Objekte an das Fenster gebunden, ohne an das Symbol gebunden zu sein? Lässt sich dieses Problem irgendwie beheben? Gibt es vielleicht eine Lösung für dieses Problem? Ich möchte nicht für jedes Symbol ein eigenes Profil erstellen.
Es geht nur darum, dass der EA, der Objekte erstellt, diese beim Deinitialisieren löschen sollte.
 
Sergey Gridnev #:
Es ist nur so, dass der EA, der Objekte erstellt, diese beim Deinitialisieren löschen sollte.
Welcher EA? Ich verwende die Standard-Zeichenwerkzeuge (Standard). Und warum sollten Objekte gelöscht werden? Sie sollten in einem Bundle mit einem Symbol gespeichert werden, und jedes Mal, wenn dieses Symbol in das Fenster geladen wird, sollten sie auch angezeigt werden. Jedes Symbol hat seine eigenen Niveaus, Trendlinien usw.
 
Yurka Tim #:
Welcher EA? Ich verwende die normalen (Standard-)Zeichenwerkzeuge. Und warum löschen Sie Objekte? Sie sollten in einem Bündel mit einem Symbol gespeichert sein und jedes Mal, wenn Sie dieses Symbol in das Fenster laden, sollten sie auch angezeigt werden. Jedes Symbol hat seine eigenen Pegel, Trendlinien usw.

Die Objekte werden in Verbindung mit dem Chart gespeichert, nicht mit dem Symbol. Und auf dem Chartfenster können beliebige Symbole sein. Deshalb hat jedes Symbol seinen eigenen Chart. Und wenn Sie vergleichen, können Sie die Symbole im Chart ändern.

 
Valeriy Yastremskiy #:

Objekte werden in Verbindung mit einem Diagramm gespeichert, nicht mit einem Symbol. Und ein Diagramm kann beliebige Symbole enthalten. Jedes Symbol hat also sein eigenes Diagramm. Und wenn Sie vergleichen, können Sie die Symbole im Diagramm ändern.

Welchen Sinn hat es, Zeichenobjekte an ein Diagramm zu binden, ohne sie mit einem Symbol zu verknüpfen? Nun, es ist, wie es ist, was man tun kann. Deshalb frage ich ja, vielleicht gibt es ja ein paar Tricks, die Abhilfe schaffen.
Und so scheinen sich MT und Usability überhaupt nicht zu kennen, Programmierer für Programmierer :).
 

Freunde, hallo zusammen )

Hilfe, wer weiß. Der Expert Advisor prüft, welche Aufträge erteilt werden. Und in regelmäßigen Abständen, wenn die Orders ausgeführt oder storniert werden, d.h. OrdersTotal()=0, zeigt er immer noch die Eigenschaft der Order an, z.B. Typ, Symbol (wahrscheinlich die letzte in der Historie der Orders). Gibt es einen Befehl, so dass der Expert Advisor vor der erneuten Überprüfung der Orders sozusagen"den Speicher löscht", wie ChartRedraw nur für Eigenschaften, Datentypen? Wenn der EA manuell neu gestartet wird, gibt es seit einiger Zeit kein solches Problem mehr. Vielen Dank im Voraus!

 
Vladimir Voronin Eigenschaft des Auftrags an, z.B. Typ, Symbol (wahrscheinlich das letzte in der Geschichte der Aufträge). Gibt es einen Befehl , mit dem der Expert Advisor vor der erneuten Prüfung der Orders sozusagen"den Speicher löscht", wie ChartRedraw nur für Eigenschaften, Datentypen? Wenn der EA manuell neu gestartet wird, gibt es für einige Zeit kein solches Problem. Vielen Dank im Voraus!

Ich bin auf dieses Problem nicht gestoßen, da ich meine eigenen Aufzeichnungen von Aufträgen führe, aber ich kann davon ausgehen, dass es sich um Eigenschaften des zuletzt ausgewählten Auftrags handelt (letzter Absatz https://www.mql5.com/ru/docs/trading/orderselect ).

 
Vladimir Voronin Eigenschaft der Order an, z.B. Typ, Symbol (wahrscheinlich die letzte in der Historie der Orders). Gibt es einen Befehl, so dass der Expert Advisor vor der erneuten Überprüfung der Orders sozusagen"den Speicher löscht", wie ChartRedraw nur für Eigenschaften, Datentypen? Wenn der EA manuell neu gestartet wird, gibt es seit einiger Zeit kein solches Problem mehr. Vielen Dank im Voraus!

Vor jeder Prüfung muss die Order ausgewählt werden, auch wenn es eine im Terminal ist. Und um die Korrektheit der erhaltenen Eigenschaften nicht zu bezweifeln, sollten Sie die Schlusszeit überprüfen. Wenn die Schlusszeit größer als Null ist, wird der Auftrag geschlossen oder entfernt.

Und aus diesem Text geht nicht hervor, ob es sich um MQL5 oder 4 handelt.

 
//+------------------------------------------------------------------+
//|                                                  FXModel_exp.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//--- input parameters
#include "fxlib.mqh"
#include "fxexplib.mqh"
//--- input parameters
input string   I_model_path="C:\FXModel\SampleNet.pt";
input int      I_input_size=100;
input string   I_symbol="EUR/USD";
input ENUM_TIMEFRAMES I_time_frame = PERIOD_M5;
input double I_lot_size = 0.1;
input double I_get = 18;
input double I_cut = 10;
input int I_cycle_sec = 300;
input int I_position_sec = 5;
//--- indicator buffers
//double Label1Buffer[];
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   EventSetTimer(2);

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//---
   return;<===================
   MqlDateTime time;
   TimeTradeServer(time);
   if(IsTime(time, I_cycle_sec, I_position_sec) || FridayStopper(3, time))
      return;
   double ans[7];
   MqlTradeRequest request;
   MqlTradeResult result;
   MqlTradeCheckResult check;
//I_getPredict(ans);
   POSITTION type = GetPositionAns(ans);
   return;
   if(type == SELL)
      ;//Trade(I_symbol, I_get, I_cut, I_lot_size, ORDER_TYPE_SELL);//request = CreateRequest(I_symbol, I_lot_size, ORDER_TYPE_SELL);
   if(type==BUY)
      ;//Trade(I_symbol, I_get, I_cut, I_lot_size, ORDER_TYPE_BUY);//request = CreateRequest(I_symbol, I_lot_size, ORDER_TYPE_BUY);
   if(type== STAY)
      return;
//if(!OrderCheck(request, check) || !OrderSend(request,result))
//   return;
//MqlTradeRequest request2 = CreateSLTPRequest(result, I_symbol, request.magic, I_get, I_cut);
//if(!OrderSend(request2, result) || result.retcode != TRADE_RETCODE_DONE)
//   Comment("error");
   Sleep(I_position_sec*10+10);
  }
//+------------------------------------------------------------------+
//| Trade function                                                   |
//+------------------------------------------------------------------+
void OnTrade()
  {
//---

  }
//+------------------------------------------------------------------+

Wenn getestet wird, um gehandelt zu werden

Kompiliert Viele Male

Viele Male kompiliert

Geänderte Rückgabe der Position

Auskommentieren der gehandelten Methode

.mq5 löschen

Das Ergebnis ändert sich nicht

 
1115 Libro #:

Wenn getestet wird, um gehandelt zu werden

Warum?

Viele Male kompiliert

Geänderte Rückgabe des Ortes

Auskommentieren der gehandelten Methode

.mq5 löschen

Das Ergebnis ändert sich nicht

Dieser Thread ist nicht mehr mit dem ursprünglichen Thread synchronisiert, daher ist es sinnlos, hier Fragen zu stellen.

https://www.mql5.com/ru/forum/6343/page1408

Dies ist das ursprüngliche Thema. Schreiben Sie hier auf Russisch oder im englischen Forum.

Вопросы от начинающих MQL5 MT5 MetaTrader 5
Вопросы от начинающих MQL5 MT5 MetaTrader 5
  • 2022.05.18
  • www.mql5.com
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000...
 
Nagisa Unada #:

Dieser Thread ist nicht mit dem ursprünglichen Thread synchronisiert, daher ist es sinnlos, hier Fragen zu stellen.

https://www.mql5.com/ru/forum/6343/page1408

Dies ist das ursprüngliche Thema. Schreiben Sie hier auf Russisch oder im englischen Forum.

ok danke