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

 
Vinin:

Wir müssen die gesamte Logik überarbeiten. Das ist ziemlich verwirrend. Vielleicht sollten Sie damit beginnen, sich von Objekten abzuwenden und mit Indikatorpuffern zu zeichnen.

Ich brauche, um zu zeichnen und vorwärts in der Geschichte (d.h. rechts von der Null-Bar), aber ich verstehe nicht, wie man es durch Puffer zu tun. Was ist daran verwirrend? Obwohl ich es schon gewohnt bin, es so zu schreiben, ist es vielleicht für andere schwieriger zu lesen :)

PapaYozh:

Hier ist der Inhalt:

2011.10.18 22:28:19 TEST__ EURGBP,H1: y=1 Zeit[y]=2011.08.04 08:00
2011.10.18 22:28:17 TEST__ EURGBP,H1: y=1 Zeit[y]=2011.08.03 08:00
2011.10.18 22:28:15 TEST__ EURGBP,H1: y=1 Zeit[y]=2011.08.02 08:00
2011.10.18 22:28:13 TEST__ EURGBP,H1: y=15 Zeit[y]=2011.08.01 08:00

Code:

Das heißt, es ist irgendwie richtig.

Haben Sie den Truthahn gestartet, das MT mit ihm geschlossen, dann geöffnet und er gibt alles richtig aus?

 

Hilfe zur Optimierung von EA



Avatar
5
folw 19.10.2011 09:56

Bitte helfen Sie mir, meinen Expert Advisor zu optimieren. Es wird ein schwebender Auftrag eröffnet. Ich möchte, dass ein schwebender Auftrag gelöscht wird, der nicht funktioniert hat, nachdem 2 neue Signale ausgelöst wurden.

Beispiel: 1Signal stellt einen schwebenden Auftrag

2) "2-Signal" erteilt ebenfalls einen Auftrag

3 - Signal setzt einen Auftrag und löscht 1 Auftrag, wenn er nicht ausgelöst wurde.

Der Expert Advisor funktioniert besser bei 15.

Wenn Sie weitere Ideen haben, wie man es verbessern kann, würde ich mich freuen, sie zu sehen?

Ich füge den Ratgeber!!!! bei.

Dateien:
main_1.ex4  7 kb
 
Solree:

Ich muss in die Historie (d.h. rechts vom Null-Balken) zeichnen und vorwärts gehen, und ich verstehe nicht, wie man das über die Boufirs macht.

Haben Sie den Indikator gestartet, MT damit geschlossen und dann geöffnet, und er hat alles normal angezeigt?


Sagen Sie mir, was bedeutet "geschlossen/offen"?

Beenden Sie MT über "Datei"->"Beenden" oder durch Drücken von [X] ?

Wenn dies der Fall ist, gibt es zum Zeitpunkt des Starts von MT keinen Teil der Geschichte und der Indikator arbeitet mit einer unvollständigen Geschichte. Und wenn die Historie geladen wird, hat der Indikator seinen Zyklus bereits ausgearbeitet und wartet auf den nächsten Tag.

 
PapaYozh:

Warum sollte das so sein? Woher wissen wir, was Sie in Open[i-2] haben?

Sie müssen es verpasst haben. Schauen Sie bitte noch einmal nach - am Anfang des Auszugs steht, wonach Sie fragen. Ich werde es noch einmal wiederholen:

i = 2, Offen[i-2] = 1,5715
14:21:15 2011.01.12 18:08 My Fr Chekulaeva1 GBPUSD,M1: Tief[i] = 1.5713, Tief[i-1] = 1.5714
14:21:15 2011.01.12 18:08 My Fr Chekulaev1 GBPUSD,M1: Tief[i+1] = 1.5714, Tief[i-2] = 1.5715
14:21:15 2011.01.12 18:08 My Fr Chekulaev1 GBPUSD,M1: Open[i-2]-(Low[i]-1*PointX) = 0.0004

14:21:15 2011.01.12 18:08 Mein Fr Chekulaev1 GBPUSD,M1: 1*PointX = 0.0001

15-(13-1) sollte 3 sein. Aber im Testgerät ist es 4. Was ist los?

 
PapaYozh:


Sagen Sie mir, was bedeutet "schließen/öffnen"?

Haben Sie MT über "Datei"->"Beenden" oder durch Drücken von [X] geschlossen?

Wenn dies der Fall ist, gibt es zum Zeitpunkt des Starts von MT keinen Teil der Geschichte und der Indikator arbeitet mit der unvollständigen Geschichte. Und wenn die Historie geladen wird, hat der Indikator seinen Zyklus bereits ausgearbeitet und wartet auf den nächsten Tag.

Wuhuuuuu! Das kommt dem Problem näher. Wie kann man sie warten lassen? Ich erinnere mich, dass ich versucht habe, es beim Start für 1 Tick einzufrieren, aber leider hat es nicht funktioniert. Am Anfang nur für ein paar Sekunden anhalten? Wenn ich es jetzt mit Sleep versuche, ignoriert es diese Funktion völlig...
 
globad:
Hallo! Leute, bitte helft mir! Ich brauche einen EA, der Aktionen von einem Konto oder Terminal auf einem anderen wiederholt. Ich habe irgendwo von ihnen gehört. Ich möchte nicht, dass es einfach die Handlung wiederholt, sondern das Gegenteil tut. Mit anderen Worten: Wenn es auf dem ersten Konto gekauft wird, muss es auf dem zweiten Konto verkauft werden. Kurz gesagt, ich möchte, dass es auf verschiedenen Konten eine Menge macht. Ich versuche, den Master-Curry-Handel von zwei Konten aus zu meistern. Vielleicht gibt es etwas Ähnliches, oder es ist bereits einsatzbereit. Ich danke Ihnen im Voraus.
Dies wird als Geschäftsvervielfältiger bezeichnet. Es ist besser, sie bei einem Programmierer für Ihre Aufgabe zu bestellen, als sie irgendwo zu kaufen. Ich habe vor etwa 2 Jahren einen Programmierer gefragt - suchen Sie auf -----------, dann kommen Sie auf seine Seite. Sie können hier auch einen Programmierer finden, der Erfahrung mit der Erstellung von Vervielfältigern hat.
 
Guten Tag.
Können Sie mir bitte sagen, ob mein EA zwei Aufträge zur gleichen Zeit öffnet: beide kaufen oder beide verkaufen. Der eine ist mit einem festen Take-Profit, der andere mit Trailing.
Manchmal wird die zweite Bestellung nicht rechtzeitig geöffnet.
Wie lässt sich dieses Problem lösen?
Lässt sich das Problem lösen, wenn ich ein zweites Terminal öffne und in jedem Terminal einen Auftrag eröffne?
Oder ein zweites Konto zu eröffnen und eine Bestellung auf einem Konto und eine weitere auf einem anderen Konto zu eröffnen?
 

Können Sie mir bitte sagen (oder können Sie mir einen Link geben, wenn es bereits erwähnt wurde), wie man zwei Zeilen eines Indikators aus verschiedenen

Zeitrahmen. Zum Beispiel:

/-------------------------------------------------------------------+  
   switch(Period())   
        { 
         case     1: PeriodSlow=PERIOD_M5; break; //            для -Таймфрейма М1
         case     5: PeriodSlow=PERIOD_M15; break;//                -Таймфрейма М5
         case    15: PeriodSlow=PERIOD_H1; break; //                -Таймфрейма М15 т.е. след. период Н1
         case    30: PeriodSlow=PERIOD_H1; break; //                -Таймфрейма М30
         case    60: PeriodSlow=PERIOD_H4; break; //                -Таймфрейма H1
         case   240: PeriodSlow=PERIOD_D1; break; //                -Таймфрейма H4
         case  1440: PeriodSlow=PERIOD_W1; break; //                -Таймфрейма D1
         case 10080: PeriodSlow=PERIOD_MN1; break;//                -Таймфрейма W1
         case 43200: PeriodSlow=PERIOD_W1; break; //                -Таймфрейма МN
        }                                    
//-------------------------------------------------------------------+ 
   PeriodFast = 0; 
   return(0);
  }
//+------------------------------------------------------------------+
int start()
  {
   double MaSlow,MaFast; // SlowMa-MA большего периода, FastMa-MA текущего периода
   int limit, CountedBars=IndicatorCounted();
   
   if(CountedBars>0) CountedBars--;
   limit=Bars-CountedBars;
   if(limit>History) limit=History;
   
    for(int i=0; i<limit; i++)
     {
      MaSlow=iMA(NULL,PeriodSlow,MAPeriod,0,MODE_SMA,PRICE_HIGH,i);      
      MaFast=iMA(NULL,PeriodFast,MAPeriod,0,MODE_SMA,PRICE_HIGH,i); 
      LineSlow[i]=MaSlow;      
      LineFast[i]=MaFast; 
     } 
//---- done
    return(0);
  }
//+------------------------------------------------------------------+

In diesem Fall ändert sich bei der Aktualisierung nach einiger Zeit die gegenseitige Positionierung der Linien

 

Wie drucke ich eine Anforderungsnachricht? Beispiel für Meldungen aus dem Protokoll:

2011.10.19 13:04:11 '183927376': Order buy 0.01 EURGBP opening at 0.8768 sl: 0.0000 tp: 0.8822 failed [trade timeout]

2011.10.19 13:00:52 '183927376': Anfrage in Bearbeitung

3,5 Minuten lang gab es keine Verbindung zum Server.

Mein EA zeigt alle Fehlermeldungen an. Aber dieser bleibt ohne jede Reaktion von EA, und ich würde gerne die Zeit ohne Verbindung in Sekunden festlegen.

 
Stells:
Guten Tag.
Können Sie mir bitte sagen, ob mein EA zwei Aufträge zur gleichen Zeit öffnet: beide kaufen oder beide verkaufen. Der eine hat einen festen Take-Profit, der andere einen Trailing.
Manchmal wird die zweite Bestellung nicht rechtzeitig geöffnet.
Wie lässt sich dieses Problem lösen?
Lässt sich das Problem lösen, wenn ich ein zweites Terminal öffne und in jedem Terminal einen Auftrag eröffne?
Oder ein zweites Konto zu eröffnen und eine Bestellung auf einem Konto und eine weitere auf einem anderen Konto zu eröffnen?
Sie öffnen sich ohnehin nicht gleichzeitig, sondern nacheinander. "Er hat keine Zeit zum Öffnen" vor was? Der Auftrag wird geöffnet, aber es hängt alles von der Geschwindigkeit der Auftragsbearbeitung durch den Broker ab. Das kann manchmal ein paar Minuten dauern, siehe meinen vorherigen Beitrag. Es gab 3,5 Minuten lang keine Verbindung mit dem Broker, und niemand kann vorhersagen, wann es passieren wird - wenn die Auftragsreihenfolge festgelegt wird oder nachdem sie bereits festgelegt ist.