[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 206

 

Du hast verloren... Ich habe mich als angemessen erwiesen!

Sie haben den BROKO-INVESTOR mt4 installiert. Oder Sie haben (höchstwahrscheinlich) elementar den Server verwechselt, als Sie ein Demokonto eröffnet haben

Das ist an den Währungsbezeichnungen leicht zu erkennen. Nur dort wird an den Namen der Währungen die Endung _FX angehängt.

Min. Lot dort = 0.1 und dort in der MARKTÜBERSICHT sind nur Währungen vorhanden (keine Börseninstrumente)

Seien Sie nicht starrköpfig. Gehen Sie auf die Website von Broco und laden Sie mt4 aus dem Broco-Trader-Bereich herunter.

Oder eröffnen Sie ein Demokonto auf dem Server 87.239.184.73:443

Aber in diesem Fall werden die gleichen Positionen nicht online geöffnet und das Protokoll gibt einen Fehler aus. Finden Sie also heraus, wie Sie in 2 Schritten programmatisch eine Position eröffnen können.

 

Ich habe 10 Minuten Zeit. Ich werde Ihnen jetzt ein Code-Beispiel geben, wie ich Positionen in BROKO eröffne.

Ganz am Ende Ihres EA-Codes (außerhalb von START) müssen Sie diese Funktion einfügen:

//Для  открытие позиций в условиях рыночного
 //                    исполнения торговых заявок 
int WHCOrderSend(string symbol, 
                 int cmd, 
                 double volume, 
                 double price, 
                 int slippage, 
                 double stoploss, 
                 double takeprofit, 
                 string comment, 
                 int magic, 
                 datetime expiration, 
                 color arrow_color)
{
   int ticket = OrderSend( symbol, cmd, volume, price, slippage, 0, 0, comment, 
                                                    magic, expiration, arrow_color);   
   int check = -1;
   if ( ticket > 0 && ( stoploss != 0 || takeprofit != 0)) {
    if (!OrderModify( ticket, price, stoploss, takeprofit, expiration, arrow_color)) {
         check = GetLastError();
     if ( check != ERR_NO_ERROR) {
       Print("OrderModify error: ", ErrorDescription( check));
         }}} else {
      check = GetLastError();
      if ( check != ERR_NO_ERROR){
         Print("OrderSend error: ", ErrorDescription( check));
      }}   return ( ticket);}

 

Die Haltepunkte in den externen Parametern werden dann wie folgt gesetzt

extern int     Magic = 777;
extern int      StopLoss=90;
extern int      TakeProfit=90;

double SL, TP;
int ticket;
//-- Подключаемые модули --
#include <stderror.mqh>
#include <stdlib.mqh>
//---------------------------------
Und die Stellen selbst sind wie folgt zu besetzen:
 
//если условия соответсвуют заданным, 
// открывем позицию бай 
SL=0; TP=0;
if( StopLoss>0)   SL=Ask-Point* StopLoss;
if( TakeProfit>0) TP=Ask+Point* TakeProfit;   
ticket= WHCOrderSend(Symbol(),OP_BUY, Lots,Ask,3, SL, TP,"Dayria_02", Magic,0,Blue);
if( ticket < 0) { Print("Ошибка открытия ордера BUY #", GetLastError()); 
               Sleep(10000);   return (0); }
Ähnliches gilt für Verkaufspositionen:
SL=0; TP=0;
if( StopLoss>0)   SL=Bid+Point* StopLoss;
if( TakeProfit>0) TP=Bid-Point* TakeProfit;   
ticket= WHCOrderSend(Symbol(),OP_SELL, Lots,Bid,3, SL, TP,"Dayria_02", Magic,0,Red);
if( ticket < 0){Print("Ошибка открытия ордера SELL #", GetLastError()); 
                Sleep(10000);   return (0);  }
 

rid, vielen Dank für das Feedback, ich habe wirklich den falschen Server gewählt. Ich kümmere mich um den Code.

 

Argumentieren Sie nicht mit (c), denn das ist leicht zu verwechseln.



Das Terminal ist von Life und die Demo ist von jemand anderem... ;)

Die Priorität liegt also auf dem angeschlossenen Server und nicht auf dem Namen des Terminals oder des Unternehmens.

Vor allem, wenn man mit Rettungssanitätern wie Kakerlaken umgeht... )))

 
kombat >> :

....Es ist also der Server, der angeschlossen ist, und nicht der Name des Terminals oder des Unternehmens.

Vor allem eine, in der die Sanitäter wie Kakerlaken verteilt sind... )))



Ja, natürlich.

Aber für Anfänger ist es oft einfacher, eine neue Plattform herunterzuladen, als einen anderen Server einzuführen.

 
cdover >> :

rid, vielen Dank für das Feedback, ich habe wirklich den falschen Server gewählt. Ich kümmere mich um den Code.

Im Übrigen. Im Tester sollte der EA ohne Änderungsfunktion funktionieren.

Wenn Sie eine schnelle Überprüfung einer programmierten Idee benötigen, verwenden Sie den mt4-Tester (hier ist klar und intelligent beschrieben, wie man es macht)

Testen und Optimieren von EAs".

 
rid писал(а) >>

Im Übrigen. Im Tester sollte der Expert Advisor ohne die Änderungsfunktion funktionieren.

Wenn Sie eine schnelle Überprüfung einer programmierten Idee benötigen, verwenden Sie den mt4-Tester (hier ist klar und intelligent beschrieben, wie man es macht)

Der Tester ist eine einfache und klare Beschreibung, wie man es macht) - 'Testing and Optimizing Expert Advisors'.

Ich arbeite mit dem Tester und es war wirklich seltsam, alles funktioniert und gibt Ihnen die Optimierungsberichte.

 
granit77 >> :

Das meinte ich, als ich vorschlug, dieselbe Umgebung (Objekte, Indikatoren) mit und ohne die Vorlage laufen zu lassen.

Was die Verlangsamung der Tester angeht, so ist das für mich ein schwarzes Loch. Manchmal passieren solche Tricks mit absolut harmlosen Expert Advisors, die man kaum glauben kann, aber im Log ist alles in Ordnung. Deshalb werde ich es nicht wagen, Ratschläge zu erteilen, außer in den einfachsten Fällen. Ich wünschte, ich könnte es selbst herausfinden :))

...aber wie aufregend ist es, die Lösung zu entdecken :)

 

Guten Tag!

Bitte helfen Sie mir bei einer Frage:

Ich muss eine Formel schreiben, um die Sicherheiten für ein Instrument zu berechnen.

Ich weiß, wie man den Gesamtbetrag der Sicherheiten mit Hilfe einer Formel ermittelt,

Aber wie zerlege ich dieses Pfand in Instrumente (Währungen)?

Schließlich gibt es nur kaufen und verkaufen, und das sind viele.

MODE_MARGININIT 29 Erforderliche Anfangsmarge für 1 Lot
MODE_MARGINMAINTENANCE 30 Höhe der Einschussforderung zur Deckung offener Positionen pro 1 Lot
MODE_MARGINHEDGED 31 Marge für überlappende Positionen pro 1 Lot

Ich muss diese Formeln verwenden, aber es ist nicht klar, worin der Unterschied zwischen ihnen besteht und wann sie zu verwenden sind.

Folglich müssen wir die Aufschlüsselung des Gesamtbetrags der Marge für bestimmte Instrumente erhalten.

Das heißt, offene Lose eines Instruments verwenden einen bestimmten Betrag der Einlage. ein anderes Instrument braucht so viel und so viel ... und so weiter.

Vielleicht hat jemand eine Idee? Ich danke Ihnen.

Grund der Beschwerde: