[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 378

 
globad:
Verstehe, und wenn Sie von mehreren Terminals aus gleichzeitig Aufträge für ein Konto erteilen, werden diese dann nicht nacheinander erteilt?


Und hier sind Variationen möglich. Wir setzen zum Beispiel ein und denselben EA auf ein und dasselbe Währungspaar in zwei Terminals. Aber wir setzen in jedem EA eine andere Magie ein. Dies hat zur Folge, dass die Order des einen EA vom anderen EA als die eines anderen akzeptiert wird und der zweite EA ebenfalls eine Position eröffnet, wenn ein Signal vorliegt.

Und eine weitere Möglichkeit - beide EAs haben die gleiche Magie. Ein Expert Advisor hat aufgrund des Signals eine Position eröffnet. Der zweite hat das Signal erkannt und gesehen, dass die Position bereits geöffnet wurde. Infolgedessen wird er nichts öffnen und in den Überwachungsmodus wechseln.

Ich weiß nicht, was passiert, wenn beide EAs das Signal und keine Position zur gleichen Zeit sehen. Sie werden gleichzeitig versuchen, dem Server den Auftrag zu erteilen, eine Position zu eröffnen. Höchstwahrscheinlich wird es zwei offene Stellen geben. Wenn dies zutrifft, können wir dieses Problem umgehen, indem wir den zweiten EA für die Zeit schlafen lassen, die der Server braucht, um auf die Handelsanfrage des ersten EA zu reagieren. In diesem Fall wird der erste EA den Auftrag zuerst platzieren, und erst dann wird der zweite EA feststellen, dass ein Signal vorliegt und der Auftrag bereits existiert.

 

Ich verstehe gar nichts, was ist los ..... Ich war noch nie gut mit Funktionen, insbesondere deren Beschreibung. Kann mir jemand eine detaillierte Antwort geben? Dies ist ein Forum für Programmierer......

int start()
  {
int TotalOrders, TotalOrders1;
int i=1;
 
if (b!=Bars){
b=Bars;
   if (iCustom(NULL, 0, "",set,up,2,1)!=0){
     OpenFirstOdrer();
      }
      
  return(0);
  }
  
}
//+------------------------------------------------------------------+
//Открыть ордер
double OpenFirstOdrer();  
 {
   int ticket;
   double BySignal;
   
         if (iCustom(NULL, 1, "",set,up,2,1)!=0){
     
         }
   
   return (0);
 }  

Jedes Mal, wenn ein Fehler auftritt, wird es schwieriger und schwieriger. )))) Es fühlt sich an wie... ))))) Was ist denn nun los?

 
nikelodeon:

Ich kapiere es nicht, was ist los ..... Ich war noch nie gut mit Funktionen, insbesondere deren Beschreibung. Kann mir jemand eine detaillierte Antwort geben? Dies ist ein Forum für Programmierer......

Jedes Mal, wenn ein Fehler auftritt, wird es schwieriger und schwieriger. )))) Es fühlt sich an wie... ))))) Was ist denn nun los?

Und was wollen Sie mit einer Funktion erreichen, die nichts tut?
 
drknn:


Und wir können einige Varianten davon machen. Wir verbinden zum Beispiel ein und denselben EA mit ein und demselben Währungspaar in zwei Terminals. Aber wir setzen in jeder EA einen anderen Magier ein. Dies hat zur Folge, dass der Auftrag des einen EA vom anderen EA als Auftrag eines anderen EA betrachtet wird und der zweite EA ebenfalls eine Position eröffnet, wenn wir das Signal erhalten.

Und eine weitere Möglichkeit - beide EAs haben die gleiche Magie. Ein Expert Advisor eröffnete eine Position auf das Signal hin. Der zweite hat ein Signal erkannt und gesehen, dass die Position bereits geöffnet wurde. Infolgedessen hat sie nichts geöffnet und ist in den Überwachungsmodus übergegangen.

Ich weiß nicht, was passiert, wenn beide EAs das Signal und keine Position zur gleichen Zeit sehen. Sie werden gleichzeitig versuchen, dem Server den Auftrag zu erteilen, eine Position zu eröffnen. Höchstwahrscheinlich wird es zwei offene Stellen geben. Wenn dies zutrifft, können wir dieses Problem umgehen, indem wir den zweiten EA für die Zeit schlafen lassen, die der Server braucht, um auf die Handelsanfrage des ersten EA zu reagieren. In diesem Fall wird der erste EA den Auftrag zuerst platzieren, und erst dann wird der zweite EA herausfinden, ob ein Signal vorliegt und der Auftrag bereits existiert.

Vielen Dank für den Hinweis. Es wäre gut, wenn die Aufträge gleichzeitig oder fast gleichzeitig erteilt würden. Ich habe die obige Variante von Hand überprüft, indem ich mehrere Terminals auf dem echten Konto geöffnet habe. Alle Aufträge werden gleichzeitig bearbeitet und fast zeitgleich erteilt. Deshalb bin ich auf der Suche nach einem einfacheren EA oder Skript. Er muss nur einen Auftrag in einem bestimmten Abstand zum Preis zu einem bestimmten Zeitpunkt mit tp und sl erteilen. Vorzugsweise sollte es auch in der Lage sein, diesen Auftrag nach einer bestimmten Zeit zu löschen.

Wir eröffnen mehrere Terminals auf einem Konto. Wir senden einen solchen EA an jeden von ihnen, und als Ergebnis haben wir eine Reihe von Aufträgen zu dem erforderlichen Preis. Der Zeitaufwand für die Einstellung dieser Aufträge entspricht in etwa dem für einen Auftrag. Das Einzige, was bleibt, ist, einen solchen EA zu finden. Vielleicht kennt es jemand?

 
globad:

Es bleibt nur noch, einen solchen Berater zu finden. Weiß das jemand?

Wäre es nicht einfacher, eine zu bestellen, wenn man sie wirklich braucht? Sie werden Zeit und Mühe sparen, und mit einem guten Handelssystem wird sich das Geld, das Sie dafür ausgegeben haben, bald amortisieren.
 
drknn:
Wäre es nicht einfacher, sie zu bestellen, wenn man sie wirklich braucht? Sie werden Zeit und Mühe sparen, und mit einem guten Handelssystem wird sich das Geld, das Sie dafür ausgegeben haben, bald amortisieren.
Ich denke, es gibt viele solcher Goodies von der Stange. Der EA eröffnet jeweils ein Geschäft...
 
artmedia70:
Und was wollen Sie mit einer Funktion erreichen, die nichts tut?

Nein, es war nicht nötig, dort ein Semikolon zu setzen....
 
nikelodeon:

Nein, es war nicht nötig, dort ein Semikolon zu setzen....

Wozu dient die Funktion überhaupt?

//+------------------------------------------------------------------+
//Открыть ордер
double OpenFirstOdrer() 
 {
   int ticket;
   double BySignal;
   
         if (iCustom(NULL, 1, "",set,up,2,1)!=0){
     
         }
   
   return (0);
 }  

Der Wert ist sowieso Null... Also habe ich die Frage gestellt, ohne mir die Syntax anzusehen.

 
Können Sie mir sagen, ob es mit Meta Trader 4 möglich ist, ein Geschäft zu einem bestimmten Zeitpunkt zu eröffnen und es nach einer bestimmten Anzahl von Pips ab dem Eröffnungsgeschäft zu schließen? Vielleicht kann ein Skript geschrieben werden, weiß jemand, wie man das macht?
 
kellin:
Können Sie mir sagen, ob es mit Meta Trader 4 möglich ist, ein Geschäft zu einem bestimmten Zeitpunkt zu eröffnen und es nach einer bestimmten Anzahl von Pips ab dem Eröffnungsgeschäft zu schließen? Vielleicht kann ein Skript geschrieben werden, wissen Sie,wie man das macht?
)) Ich habe die gleiche Frage, nur eine Variante mit Aufträgen, auch nach Zeit löschen.
Grund der Beschwerde: