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

 

Bitte teilen Sie mir mit, wie ich das Volumen einer offenen Position erhöhen kann, z. B. wenn ein neues Signal eintrifft. Ich verwende die Bibliothek Trade\Trade.mqh nicht. Die Anfrage sieht wie folgt aus:

 if(!PositionSelect(_Symbol))
 mrequest.action = TRADE_ACTION_DEAL;              // немедленное исполнение
      mrequest.price =  NormalizeDouble(Ask,_Digits);   // последняя цена ask
      mrequest.sl = NormalizeDouble(mrequest.price - SL*_Point,_Digits);                                   // Stop Loss
      mrequest.tp = NormalizeDouble(mrequest.price + TP*_Point,_Digits);                                // Take Profit
      mrequest.symbol = _Symbol;                        // символ
      mrequest.volume = lot1;                            // количество лотов для торговли
      mrequest.magic = Mag1;                               // Magic Number
      mrequest.type = ORDER_TYPE_BUY;                   // ордер на покупку
      mrequest.type_filling = ORDER_FILLING_FOK;        // тип исполнения ордера - все или ничего
      mrequest.deviation=10;                            // проскальзывание от текущей цены
                                        
      OrderSend(mrequest,mresult);                       // отсылаем ордер
      if(mresult.retcode==10009 || mresult.retcode==10008)
        Print("Оpen position Buy");
Oder soll ich einen neuen Auftrag mit TRADE_TRANSACTION_ORDER_ADD erstellen?
 

Ich habe meine Klasse geschrieben, sie in den Include-Ordner gelegt, ein Skript erstellt, den Pfad zu meiner Klasse geschrieben, aber die Funktionen sind nicht hervorgehoben. Wenn Sie Code schreiben, der meine Funktionen verwendet, werden sie funktionieren, aber sie sind nicht hervorgehoben. Die Hervorhebung von Standardbibliotheken ist. Bitte sagen Sie mir, was ich tun muss, damit meine Funktionen hervorgehoben werden?

Hier ist eine solche Klasse

class BaseClass
   {
    protected:
    
    public:
    
    //конструктор
    void BaseClass(){};
    
    void Fly()
      {
       Alert ("Go fly");
      }
      
    void Move()
      {
       Alert ("Go move");
      }
   };
 
trora:

situation: ich eröffne einen auftrag in mt4. wenn ich ihn schliessen will, drücke ich x im handelsfenster, wo das ende der auftragszeile ist. wie wird der schliessvorgang durchgeführt? welche labels. deal IDs werden übertragen?

i>Das Verständnis wird für ein größeres Problem benötigt.

Bei der Eröffnung eines Anlegerkontos werden alle zuvor eröffneten Aufträge des Verwalters auf das Konto kopiert.

Die oberste Priorität besteht darin, herauszufinden, wie man nur neue Aufträge kopieren kann, die vom Verwalter nach der Anlage eines Anlegerkontos eröffnet und geschlossen wurden.

wenn Sie wissen, wie man es macht - beschreiben Sie es im Detail.

Wenn Sie wissen, was unmöglich ist, erklären Sie bitte die Gründe dafür.

nur imho: wenn x angeklickt wird, wird der Auftrag entsprechend dem Auftragsticket abgeschlossen.

der Kopierer soll keine Abschlüsse vor einer bestimmten Zeit zählen (z.B.: entweder eine externe Variable oder die Zeit, zu der der Kopierer gestartet wurde)

 
BigfOOt:

Können Sie mir sagen, was ich tun muss, damit meine Funktionen hervorgehoben werden?

Das Hervorheben von Benutzerfunktionen ist nicht implementiert. Versuchen Sie, den Service Desk zu kontaktieren und ihn zu bitten, es zu implementieren. Vielleicht tun sie es.
 
MetaDriver:
Das geht nicht. Die Benutzerfunktionen sind nicht hervorgehoben. Wenden Sie sich an den Service Desk und bitten Sie ihn, die Funktion zu implementieren. Vielleicht tun sie es.
Ich habe vor einiger Zeit an das Service Desk geschrieben. Sie schienen es zu befürworten.
 
Swan:

nur imho: wenn Sie auf x klicken, wird der Auftrag entsprechend dem Auftragsticket geschlossen.

es ist theoretisch möglich, dieses Problem zu lösen - der Kopierer sollte Geschäfte vor einem bestimmten Zeitpunkt nicht berücksichtigen (z.B.: entweder eine externe Variable oder der Zeitpunkt der Auslösung des Kopierers)

Ich möchte also herausfinden (ich bin kein Programmierer, wenn überhaupt) - wird das Ticket mit allen Parametern gesendet - einschließlich Nummer, Eröffnungszeit, Preis und Volumen, oder nur die Nummer eines offenen Auftrags - der geschlossen wird?

9 es ist offensichtlich, dass ich einen Filter nach dem Zeitpunkt der Kopierausführung oder nach dem Zeitpunkt des Kontozugangs benötige. ich sollte es einfach selbst verstehen - um es dem Programmierer klar erklären zu können

 
MetaDriver:
Nein. Die Hervorhebung der benutzerdefinierten Funktion ist nicht implementiert. Wenden Sie sich an den Service Desk und bitten Sie ihn, sie zu implementieren. Möglicherweise wird dies getan.
Ich habe meine Klasse und meinen Expert Advisor letzten Sommer geschrieben, und die Hervorhebung meiner Funktionen hat funktioniert, und jetzt funktioniert sie nicht mehr. Warum musste ich es löschen ...
 
BigfOOt:
Letzten Sommer habe ich meine Klasse und meinen Experten geschrieben, und die Hervorhebung meiner Funktionen hat funktioniert, aber jetzt funktioniert es nicht mehr. Warum mussten Sie es löschen ...
Fragen Sie den Serviceschalter. Das passiert, wenn bei Aktualisierungen etwas nicht funktioniert.
 
Guten Tag, liebe Freunde. Ich habe Schwierigkeiten, die Optimierungsparameter des EA zu verstehen. Ich versuche, einen der Parameter in den EA-Eigenschaften zu ändern, z. B. Max Drawdown, aber nachdem ich den Parameter geändert habe, kehrt er zum Standardwert von 70 zurück. Wie kann ich sie z. B. auf 30 ändern?
 
MetaDriver:
Das ist nicht möglich. Die Hervorhebung von benutzerdefinierten Funktionen ist nicht implementiert. Versuchen Sie, sich an den Service Desk zu wenden und ihn zu bitten, die Funktion zu implementieren. Vielleicht tun sie es.
Hm, was bedeutet "Hervorhebung von Benutzerfunktionen"? Es scheint alles zu sein, was es gibt...