[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 407

 
Zhunko:

Wie auch immer, ohne RefreshRates() werden meine EAs nicht funktionieren. Ich mache sie in Schleifen. Daher ist RefreshRates() zwingend erforderlich.

Was verstehen Sie unter einer Schleife? Tatsächlich kann man sagen, dass jeder Expert Advisor eine Schleife hat, da der Start einen Zyklus hat. Einmal pro Tick...

Zhunko:

Die anfängliche Vorbelastung wird nach diesem Prinzip durchgeführt. Dann lade ich es regelmäßig wieder auf. Ansonsten entstehen "Lücken" in der Historie, mit der der Expert Advisor arbeitet. Ich weiß nicht, warum das so ist.

Ich habe den Eindruck, dass Sie mit Küchen handeln und dass sich deshalb die Löcher in der Geschichte bilden. Ich stelle fest, dass das in lahmen Küchen passiert. Ein Qualitätsmakler sollte diesen Mist nicht haben.

Zhunko:

Ich habe versucht, RefreshRates() für das Paging zu verwenden. Das funktioniert nicht immer.

RefreshRates() dient jedoch zur Aktualisierung von Variablen des Marktumfelds, nicht zum Paging. Natürlich wird es nicht getauscht.


Zhunko:

Manchmal kommt nur der letzte Takt an.

Wo kommt der letzte Takt ins Spiel?

Zhunko:

Wenn das Diagramm eines Instruments geöffnet ist, gibt es immer eine Historie für dieses Instrument. In diesem Fall lagen keine Fehler vor. Der Fehler trat auf, wenn die Karte des gewünschten Instruments nicht geöffnet war.

Hm. Nun, wenn Marktdaten durch MarketInfo() gezogen werden, wie ich es verstehe, sollte es keine Fehler geben. Und wenn er sie umgeht, natürlich. Es scheint so. Ich habe es noch nicht überprüft, aber es scheint dieselbe Logik zu sein.
 

Hallo.

Ich wollte eine Frage zum Testen des Systems stellen. Im Allgemeinen verstehe ich das Bild, aber da ich keine wirkliche Erfahrung hatte, einen funktionierenden EA zu bekommen, aber ich war das Erstellen, Testen und Testen von allem... Im Allgemeinen weiß ich nicht, wann ich jetzt aufhören kann.

Mein Expert Advisor ist einfach; er hat fast keine Optimierungsparameter. Es handelt sich nicht um ein Scalping. Ich habe es auf D1 während des Zeitraums von 2000 bis 2013 mit einem minimalen Lot 0,01 bei $100 Depot gehandelt. Dies ist der Bericht.

Bericht


Können wir diesen Ergebnissen vertrauen? Es gibt nur 300 Trades, aber nach der Logik der Strategie und dem D1-Zeitrahmen sollte es nicht viel mehr sein. Die Strategie hat nur einen Optimierungsparameter - die Signaltreue. Wenn wir das System für sie strenger machen, werden sich die Parameter angeblich verbessern, aber die Anzahl der Geschäfte wird nur 175 betragen. Kann man den Ergebnissen trauen, wenn es so viele Abschlüsse gibt? Oder ist es besser, die erste Variante zu wählen, die zwar schlechtere Indikatoren, dafür aber mehr Geschäfte bietet?

Bericht 2


Oder sind beide nutzlos und wir brauchen höhere mathematische Erwartungen usw.?

 
auf dem Währungspaar EUR/USD H4 leuchtet "Warten auf Aktualisierung" und wechselt nicht zu anderen Zeiträumen, was soll ich tun?
 
shurik32:
auf dem Währungspaar EUR/USD H4 leuchtet "Warten auf Aktualisierung" und wechselt nicht zu anderen Perioden, was zu tun ist?
Geschichte eingeben F2 tauschen H4!
 
Vinin:

Wenn während der Berechnungen im Expert Advisor (wenn die Funktion start() ausgeführt wird) neue Ticks hinzukommen, weiß der Expert Advisor nichts von ihnen (Ticks). Mit RefreshRates() können Sie die zuletzt aktualisierten Preise verwenden, aber diese Funktion hat keinen Zugriff auf den Server. Er aktualisiert das dem Terminal bekannte Marktumfeld. Keine Funktion außer für den Handel mit Adressen des Servers.

Es ist schwer zu sagen, wie es um die zugewiesene Person steht. Da müsst ihr die Metakwots fragen.

Ich habe ein echtes Konto bei MRC sperren lassen, weil ich häufig Charts öffne und aktualisiere. Es handelt sich nicht um eine MQL4-Funktion, sondern um einen internen Diagrammbetrachter. Vielleicht greift z.B. MarketInfo() auf den Server zu oder holt sich einfach einige Daten aus der Marktübersicht.

====================================

Soweit ich mich erinnere, müssen die Daten von Market Watch nicht mit den vordefinierten Variablen übereinstimmen. Was und woher kommt dann die Aktualisierung von RefreshRates()?

Ich habe nur eine Antwort. Aktualisieren ist das Auslagern und Abgleichen des Verlaufs vom Server. Davon habe ich mich mehrfach überzeugt, als ich versuchte, die Geschichte damit zu aktualisieren. Oft kam nur der letzte Takt. Nach dem Entladen des Terminals entstand ein "Loch" in der HST-Akte. Aber wenn Sie dieses Diagramm öffnen und aktualisieren, wurde das "Loch" gefüllt. Übrigens, wenn RefreshRates() im Task-Manager ausgeführt wird, können Sie das Laden der Daten beobachten. Vielleicht findet der Abgleich nicht statt, wenn die Historie mit RefreshRates() aktualisiert wird, sondern wenn das Diagramm aktualisiert wird.

Es ist also notwendig, zu kontrollieren, ob Sie einen Verlauf ohne Löcher im Expert Advisor-Flow benötigen.

hoz:
1. Was meinen Sie mit zyklisch? Eigentlich ist jeder Expert Advisor in einer Schleife, da er einen Startzyklus hat. Einmal pro Tick.

2. Ich habe den Eindruck, dass Sie mit Küchen handeln und dass sich deshalb die Löcher in der Geschichte bilden. Ich stelle fest, dass das in lahmen Küchen passiert. Aber ein Qualitätsmakler sollte diesen Mist nicht haben.

RefreshRates() dient jedoch zur Aktualisierung von Variablen des Marktumfelds, nicht zum Paging. Natürlich ist es kein Paging.

4. Woher kommt der letzte Takt?

5. Hmmm. Nun, wenn Sie Marktdaten über MarketInfo() abrufen, sollte es meines Wissens nach keine Fehler geben. Und wenn wir sie umgehen, dann natürlich auch. Es sieht so aus. Ich habe es noch nicht überprüft, aber es scheint dieselbe Logik zu sein.

1. Zum Beispiel so:

extern string Tool           = "";    // Имя инструмента.
extern bool   IsRefreshRates = false; // Флаг включения обновления таймсерий.
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
void start()
 {
  string sTool = Tool; // Имя инструмента.
  if (Tool == "") sTool = Symbol();
  while (!IsStopped())
   {
    if (IsRefreshRates) RefreshRates();
    Comment("MarketInfo()\n",
            TimeToStr(MarketInfo(sTool, MODE_TIME), TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(MarketInfo(sTool, MODE_BID), Digits), "  ", DoubleToStr(MarketInfo(sTool, MODE_ASK), Digits),
            "\n\nПредопределенные переменные\n",
            TimeToStr(Time[0], TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(Bid, Digits), "  ", DoubleToStr(Ask, Digits),
            "\n\nМассив-таймсерия \"Close[]\"\n",
            TimeToStr(Time[0], TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(Close[0], Digits));
    Sleep(300);
   }
 }

2. es hängt nicht von einem Makler ab. Dies ist eine Besonderheit des Terminals und seiner Zusammenarbeit mit dem Server. Aus irgendeinem Grund aktualisiert RefreshRates() den Verlauf nicht auf die gleiche Weise wie das Diagramm.

3. würden Sie die Hilfe bereits lesen? Da haben wir es wieder:

Aktualisieren Sie Daten in vordefinierten Variablen und Zeitreihen-Arrays. Diese Funktion wird verwendet, wenn der Expert Advisor oder das Skript bereits seit längerer Zeit Berechnungen durchführt und aktuelle Daten benötigt. Sie gibt TRUE zurück, wenn die Daten aktualisiert wurden, andernfalls FALSE. Die Daten dürfen nicht aktualisiert werden, nur weil sie dem aktuellen Zustand des Client-Terminals entsprechen. Expert Advisors und Skripte arbeiten mit ihrer eigenen Kopie der historischen Daten. Die Kopie der Daten für das aktuelle Symbol wird beim ersten Start des Expert Advisors oder Skripts erstellt. Bei jedem nächsten Start des Expert Advisors (das Skript wird einmal ausgeführt und ist nicht von eingehenden Ticks abhängig) wird die ursprünglich erstellte Kopie aktualisiert. Ein oder mehrere neue Ticks können erscheinen, während der Expert Advisor oder das Skript läuft, so dass die Daten veraltet sein können.

4. Worum geht es? Wir sprechen über die Aktualisierung der Daten im Expert Advisor-Thread.

5. Der obige EA-Code zeigt, wie und wo die Daten aktualisiert werden. Wenn IsRefreshRates nicht enthalten ist, werden die Daten nur in MarketInfo() aktualisiert.

 
 

Erfolgreicher Handel auf alpari mit ilan 2.0 (1.6) mit vernünftigen Einstellungen, bis Warnungen über häufige unproduktive Anfragen kamen, die den Server umsonst belasteten. Es stellte sich heraus, dass alpari in einem schnellen Markt die minimal mögliche Stop-Loss-Einstellung auf 2 Spreads erhöht, was 40 Pips entspricht, manchmal auch weniger. Aber mein EA scheint diesen Wert im Bereich von 15-55 Pips zu setzen, was ich aus dem Lesen des Codes des EAs verstanden habe. Aber alpari war damit nicht zufrieden und mir wurde mit einer Sperre gedroht, also habe ich den Handel eingestellt. Ich weiß nicht wirklich mql4, ich habe gerade diese Zeilen in den Code bearbeitet, die mir die einzigen Zeilen für das Problem verantwortlich schien, ist es in der Registerkarte eines ilan, in der Nähe der Anfang:

double PrevCl;

double CurrCl;

if (UseTrailingStop) TrailingAlls(TrailStart, TrailStop, AveragePrice);

if ((iCCI(NULL,15,55,0,0)>Drop && ShortTrade)||(iCCI(NULL,15,55,0,0)<(-Drop) && LongTrade)) {

Dort habe ich dummerweise die Zahlen 15 bis 40 geändert, um das Problem zu lösen, aber ich habe von alpari erfahren, dass das Problem nicht gelöst ist, d.h. ich habe etwas falsch gemacht, was nicht überraschend ist. Können Sie mich beraten, wie ich den EA-Code korrekt bearbeiten kann, so dass er das Stop-Loss-Niveau in den Bereich 40-55 Pips anstelle von 15-55 setzt. Ich weiß, dass der Bereich von 40-55 Punkten nicht groß genug ist, um einen bequemen Stop-Loss zu setzen, und dass er zu weit vom Kurs entfernt ist, was den Gewinn schmälert. Aber ich habe keine Wahl, ich will nicht weg von Alpari, dort ist es gemütlich. In den EA-Standardeinstellungen gibt es keinen entsprechenden Parameter.

 
Dmido:

Hallo.

Ich wollte eine Frage zum Testen des Systems stellen. Im Allgemeinen verstehe ich das Bild, aber da ich keine wirkliche Erfahrung mit einem funktionierenden EA habe, habe ich alles kreiert-kreiert, getestet-getestet... Im Allgemeinen weiß ich nicht, wann ich jetzt aufhören kann.

Mein Expert Advisor ist einfach; er hat fast keine Optimierungsparameter. Es handelt sich nicht um ein Scalping. Ich habe es auf D1 während des Zeitraums von 2000 bis 2013 mit einem minimalen Lot 0,01 bei $100 Depot gehandelt. Dies ist der Bericht.


Können wir diesen Ergebnissen vertrauen? Es gibt nur 300 Trades, aber nach der Logik der Strategie und dem D1-Zeitrahmen sollte es nicht viel mehr sein. Die Strategie hat nur einen Optimierungsparameter - die Signaltreue. Wenn wir das System für sie strenger machen, werden sich die Parameter angeblich verbessern, aber die Anzahl der Geschäfte wird nur 175 betragen. Kann man den Ergebnissen trauen, wenn es so viele Abschlüsse gibt? Oder ist es besser, die erste Variante zu wählen, die zwar schlechtere Indikatoren, dafür aber mehr Trades aufweist?



Oder sind beide nutzlos und wir brauchen höhere mathematische Erwartungen usw.?


Sind 10 % pro Jahr gut oder schlecht?
 
Andrew245:

Erfolgreicher Handel auf alpari mit ilan 2.0 (1.6) mit vernünftigen Einstellungen, bis Warnungen über häufige unproduktive Anfragen kamen, die den Server umsonst belasteten. Es stellte sich heraus, dass alpari in einem schnellen Markt die minimal mögliche Stop-Loss-Einstellung auf 2 Spreads erhöht, was 40 Pips entspricht, manchmal auch weniger. Aber mein EA scheint diesen Wert im Bereich von 15-55 Pips zu setzen, was ich aus dem Lesen des Codes des EAs verstanden habe. Aber alpari war damit nicht zufrieden und mir wurde mit einer Sperre gedroht, also habe ich den Handel eingestellt. Ich weiß nicht wirklich mql4, ich habe gerade diese Zeilen in den Code bearbeitet, die mir die einzigen Zeilen für das Problem verantwortlich schien, ist es in der Registerkarte eines ilan, in der Nähe der Anfang:

double PrevCl;

double CurrCl;

if (UseTrailingStop) TrailingAlls(TrailStart, TrailStop, AveragePrice);

if ((iCCI(NULL,15,55,0,0)>Drop && ShortTrade)||(iCCI(NULL,15,55,0,0)<(-Drop) && LongTrade)) {

Dort habe ich dummerweise die Zahlen 15 bis 40 geändert, um das Problem zu lösen, aber ich habe von alpari erfahren, dass das Problem nicht gelöst ist, d.h. ich habe etwas falsch gemacht, was nicht überraschend ist. Können Sie mich beraten, wie ich den EA-Code korrekt bearbeiten kann, so dass er das Stop-Loss-Niveau in den Bereich 40-55 Pips anstelle von 15-55 setzt. Ich weiß, dass der Bereich von 40-55 Punkten nicht groß genug ist, um einen bequemen Stop-Loss zu setzen, und dass er zu weit vom Kurs entfernt ist, was den Gewinn schmälert. Aber ich habe keine Wahl, ich will nicht weg von Alpari, dort ist es gemütlich. Ich möchte nicht von Alpari weg, es ist sehr bequem dort.


Ändern Sie also die Stoploss-Parameter, warum ändern Sie die Parameter des Indikators?
 
pako:

Wenn Sie also die Stop-Loss-Parameter ändern, warum ändern Sie dann die Parameter des Indikators?

Das habe ich vermutet, aber ich kann sie nicht finden, die Stop-Loss-Parameter
Grund der Beschwerde: