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

 

Freunde, ich bin auf ein einfaches Problem gestoßen, aber ich kann es nicht lösen. Das Wesentliche ist wie folgt. Wenn bestimmte Bedingungen erfüllt sind, wird ein Handel eröffnet (nennen wir ihn Lead Trade). Und ich möchte, dass innerhalb der nächsten 3 Bars, wenn diese Bedingung wiederholt wird, ein weiterer Handel (Wiederholung) eröffnet wird. Wenn innerhalb der nächsten drei Balken die von mir geforderte Bedingung nicht erfüllt ist, soll der Handel erst wieder beim nächsten Mal eröffnet werden. Und so weiter. Ich habe, aus irgendeinem Grund, wieder öffnen nur ein Mal (ich meine, wenn alle Bedingungen im Allgemeinen das erste Mal erfüllt sind - es öffnet, aber danach, wenn nach der neuen führenden Position erscheint Bedingung für die Eröffnung einer Wiederholung Handel - es ist nicht geöffnet). Hilfe, bitte.

//условие открытия повторной сделки
for (povtor_up=1;povtor_up<4;povtor_up++)
if ((povtor_buy==1) && (adx_cont==1)&&(sb==1))
{
  CL = iClose(NULL,0,1);
  stop = CL - SLP*Point;
  raz_up = (CL - frac_down);
  take_1 = 0;
  take_2 = 0;
  if (CL<(frac_up-FR_OVER*Point))
  take_1 = (CL + raz_up*MNP_1);
  if (CL>=(frac_up-FR_OVER*Point))
  take_2 = (CL + raz_up*MNP_2);
  if (take_1>0)
  {
  take_1n = NormalizeDouble(take_1,5);
  take = take_1n;
  }
  if (take_2>0)
  {
  take_2n = NormalizeDouble(take_2,5);
  take = take_2n;
  }

    if(!IsTradeAllowed())
      {
      Alert("занят торговый поток, повторим попытку buy");
      return(-1);
      }
  ticket_buy_cont=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,stop,take,com,Magic,0,Yellow);
    if(ticket_buy_cont == -1)
    {
    Alert(Symbol(),"ошибка:buy", GetLastError());
    return(-1);
    }
    if(ticket_buy_cont > 1)
    {Alert (Symbol(),"buy повтор - ок !");
    povtor_buy=0;
    povtor_up=0;
    }

}
else 
    povtor_buy=0;
    povtor_up=0;


//условие открытия ведущей сделки
if ((adx_ts==1) && (sb==1) && (FLAG==0))
{
  CL = iClose(NULL,0,1);
  stop = CL - SL*Point;
  raz_up = (CL - frac_down);
  take_1 = 0;
  take_2 = 0;
  if (CL<(frac_up-FR_OVER*Point))
  take_1 = (CL + raz_up*MN_1);
  if (CL>=(frac_up-FR_OVER*Point))
  take_2 = (CL + raz_up*MN_2);
  if (take_1>0)
  {
  take_1n = NormalizeDouble(take_1,5);
  take = take_1n;
  }
  if (take_2>0)
  {
  take_2n = NormalizeDouble(take_2,5);
  take = take_2n;
  }

    if(!IsTradeAllowed())
      {
      Alert("занят торговый поток, повторим попытку buy");
      return(-1);
      }
  ticket_buy=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,stop,take,com,Magic,0,Yellow);
    if(ticket_buy == -1)
    {
    Alert(Symbol(),"ошибка:buy", GetLastError());
    return(-1);
    }
    if(ticket_buy > 1)
    {Alert (Symbol(),"buy при начале - ок !");
    FLAG=1;
    povtor_up=1;
    povtor_buy=1;
    }

}
 
Big_Bo:

Freunde, ich bin auf ein einfaches Problem gestoßen, aber ich kann es nicht lösen. Das Wesentliche ist wie folgt. Wenn bestimmte Bedingungen erfüllt sind, wird ein Handel eröffnet (nennen wir ihn Lead Trade). Und ich muss innerhalb der nächsten 3 Bars einen weiteren Handel eröffnen (wiederholen), wenn diese Bedingung wiederholt wird. Wenn innerhalb der nächsten drei Balken die von mir geforderte Bedingung nicht erfüllt ist, soll der Handel erst wieder beim nächsten Mal eröffnet werden. Und so weiter. Ich habe, aus irgendeinem Grund, wieder öffnen nur ein Mal (ich meine, wenn alle Bedingungen im Allgemeinen das erste Mal erfüllt sind - es öffnet, aber danach, wenn nach der neuen führenden Position erscheint Bedingung für die Eröffnung einer Wiederholung Handel - es ist nicht geöffnet). Hilfe, bitte.

Vergessen Sie nicht (oder gewöhnen Sie sich daran - wie Sie wollen), dass der EA während der Arbeit neu geladen werden kann (natürlich nur, wenn es sich nicht um einen Tester handelt), und das bedeutet, dass die Werte der Flags VERLOREN sind, wenn sie bei der Deinitialisierung nicht irgendwo geschrieben und bei der Initialisierung nicht wiederhergestellt werden. Es ist einfacher, den Überblick über Ihre Bestellungen zu behalten. Wenn es einen Unterschied zwischen den Aufträgen gibt (in diesem Fall ein Master und ein Slave), dann können sie durch verschiedene Mags unterschieden werden, oder durch einen Eintrag in den Kommentaren, oder der zweite Slave öffnet nach dem ersten Auftrag (was auch immer Ihr Herz begehrt).

Trennen Sie den Code in benutzerdefinierte Funktionen auf, damit er leichter zu lesen und zu verstehen ist: getrennt für die Eröffnungsbedingungen (Signal erhalten), getrennt für das Erhalten von STOP und getrennt für die Eröffnung von Aufträgen. Der Sinn dieser Schleife ist völlig unklar:

    for (povtor_up = 1; povtor_up < 4; povtor_up++)

Wenn es die erwähnte Prüfung ist: "innerhalb der nächsten 3 Takte" - dann habe ich in diesem Leben etwas verpasst...

Sie haben eine Öffnungszeit für den ersten "Master"-Auftrag - nutzen Sie diese als Richtwert.

 

Bitte helfen Sie mir oder geben Sie mir Ratschläge, wie ich den reibungslosen Ablauf der EAs gewährleisten kann. Die Situation stellt sich wie folgt dar:

1. Ich habe ein echtes Mikrokonto mit 36 Expert Advisors auf 21 Symbolen auf TF D1 betrieben, die sich während 24 Stunden pro Handelswoche nicht abschalten;

2. Ich habe 58 weitere 58 Expert Advisors auf Demokonten auch auf D1, die ich gezwungen bin, während 1-3 Minuten abzuschalten, nachdem sie Handelsentscheidungen treffen, beginnend von 00-00 Serverzeit des DC jeden Tag, was viel Zeit und Nerven bis tief in die Mitternacht hinein kostet;

3. 3. wir haben ein Demokonto auf TF H4, das dauerhaft funktioniert.

Frage: Wie kann ich die Expert Advisors in Schritt 2 dauerhaft ausführen? Ich habe im Moment nicht genügend virtuellen Speicher auf meinem PC. Was ist zu tun: den Arbeitsspeicher vergrößern, den Computer auf einen Dual-Core-Computer umstellen oder nach einem leistungsfähigeren Laptop suchen? Oder gibt es vielleicht eine andere organisatorische oder Software-Lösung?

 
yosuf:

Bitte helfen Sie mir oder geben Sie mir Ratschläge, wie ich den reibungslosen Ablauf der EAs gewährleisten kann. Die Situation stellt sich wie folgt dar:

1. Ich habe ein echtes Mikrokonto mit 36 Expert Advisors auf 21 Symbolen auf TF D1 betrieben, die sich während 24 Stunden pro Handelswoche nicht abschalten;

2. Ich habe 58 weitere 58 Expert Advisors auf Demokonten auch auf D1, die ich gezwungen bin, während 1-3 Minuten abzuschalten, nachdem sie Handelsentscheidungen treffen, beginnend von 00-00 Serverzeit des DC jeden Tag, was viel Zeit und Nerven bis tief in die Mitternacht hinein kostet;

3. 3. wir haben ein Demokonto auf dem H4 TF eingerichtet, das dauerhaft funktioniert.

Frage: Wie kann ich den Expert Advisor in Schritt 2 dauerhaft ausführen? Ich habe im Moment nicht genügend virtuellen Speicher auf meinem PC. Was ist zu tun: den Arbeitsspeicher vergrößern, den Computer auf einen Dual-Core-Computer umstellen oder nach einem leistungsfähigeren Laptop suchen? Oder gibt es vielleicht eine andere organisatorische oder Software-Lösung?

Ich verstehe Punkt 2 über die Wiederbelebung nicht ganz? Geben Sie ihnen eine künstliche Beatmung oder lassen Sie sie Ammoniak schnüffeln.

Die Akkumulation des Arbeitsspeichers ist die billigste und wirksamste Methode, die ich selbst im Bedarfsfall anwende. Je mehr RAM, desto schneller geht alles. Und auch ein Upgrade der restlichen Hardware, wenn die alte nicht mehr ausreicht. Zwei Kerne für so viele Aufgaben auf einem Computer werden nicht ausreichen.

 
yosuf:

Bitte helfen Sie mir oder geben Sie mir Ratschläge, wie ich den reibungslosen Ablauf der EAs gewährleisten kann. Die Situation stellt sich wie folgt dar:

1. Ich habe ein echtes Mikrokonto mit 36 Expert Advisors auf 21 Symbolen auf TF D1 betrieben, die sich während 24 Stunden pro Handelswoche nicht abschalten;

2. Ich habe 58 weitere 58 Expert Advisors auf Demokonten auch auf D1, die ich gezwungen bin, während 1-3 Minuten abzuschalten, nachdem sie Handelsentscheidungen treffen, beginnend von 00-00 Serverzeit des DC jeden Tag, was viel Zeit und Nerven bis tief in die Mitternacht hinein kostet;

3. 3. wir haben ein Demokonto auf dem H4 TF eingerichtet, das dauerhaft funktioniert.

Frage: Wie kann ich die Expert Advisors in Schritt 2 dauerhaft ausführen? Ich habe im Moment nicht genügend virtuellen Speicher auf meinem PC. Was ist zu tun: den Arbeitsspeicher vergrößern, den Computer auf einen Dual-Core-Computer umstellen oder nach einem leistungsfähigeren Laptop suchen? Oder gibt es vielleicht eine andere organisatorische oder Software-Lösung?

Eine andere organisatorische Lösung ist ein VPS (Virtual Privat Server).

Eine andere Softwarelösung (wenn Sie denselben EA für verschiedene Paare haben) ist, aus Ihrem EA einen Mehrwährungs-EA zu machen.

 
Reshetov:

Ich verstehe Punkt 2 über die Wiederbelebung nicht ganz? Geben Sie ihnen eine künstliche Beatmung oder lassen Sie sie Ammoniak schnüffeln?

RAM-Boosting ist die billigste und effektivste Methode, die ich selbst bei Bedarf anwende. Je mehr RAM, desto schneller geht alles. Und dann können Sie den Rest Ihrer Hardware aufrüsten, wenn das alte Gerät nicht mehr ausreicht.

Ich meine, sie schalten sich nacheinander für 1 bis 3 Minuten ein und schalten sich dann für einen Tag wieder aus. Wenn man sie auf einmal einschaltet, z. B. mehr als 10, fängt der Computer an zu stören und es geht mehr Zeit verloren als bei einem oder zwei auf einmal. Danke, ich werde versuchen, den RAM zu erhöhen, aber muss ich wissen, auf wie viel ich ihn erhöhen muss? Oder nach dem Prinzip "Versuch und Irrtum" vorgehen?
 
TarasBY:

Eine weitere organisatorische Lösung ist ein VPS (Virtual Privat Server).

Eine andere Programmlösung (wenn derselbe EA für verschiedene Paare verwendet wird) besteht darin, aus Ihrem EA einen Mehrwährungs-EA zu machen.

1. Danke, ich werde diese Möglichkeit prüfen.

Obwohl mein EA derselbe ist, aber seine Einstellungen für verschiedene Paare unterschiedlich sind, ist es möglich, einen Multicurrency EA unter diesen Bedingungen zu erstellen? Außerdem sind die Konten unterschiedlich.

 
TarasBY:

Eine weitere organisatorische Lösung ist ein VPS (Virtual Privat Server).

Eine andere Softwarelösung (wenn Sie denselben EA für verschiedene Paare haben) ist, aus Ihrem EA einen Mehrwährungs-EA zu machen.

VPS ist nicht die beste Lösung, denn sie kostet Geld und nicht alle Hosting-Anbieter arbeiten zuverlässig.

Auch die Mehrwährungsfähigkeit ist nicht die beste Lösung.

Eine akzeptablere Lösung ist, die EAs von einem Konto auf verschiedene Terminals zu verschieben, um die Handelsfäden zu entlasten. Aber je mehr Terminals gleichzeitig laufen, desto mehr RAM wird benötigt.

 
yosuf:
Das heißt, sie werden nacheinander für 1 bis 3 Minuten eingeschaltet und dann für einen Tag wieder ausgeschaltet. Wenn man sie auf einmal einschaltet, z.B. mehr als 10, fängt der Computer an zu stottern und es geht mehr Zeit verloren als bei einem oder zwei auf einmal. Danke, ich werde versuchen, den Arbeitsspeicher zu erhöhen, aber muss ich wissen, auf wie viel ich ihn erhöhen muss? Oder nach dem Prinzip "Versuch und Irrtum" vorgehen?
Die RAM-Kapazität hängt vom Betriebssystem und der Hardware-Bitrate ab. Ausgehend von der Tatsache, dass Ihr Computer einen Single-Core-Prozessor hat, bedeutet dies, dass Ihre Hardware 32-Bit ist und bis zu 3 Gigabyte RAM aufgebaut werden können. Aber es ist besser, das mit dem Motherboard zu klären, denn nicht alle alten Computer können mehr als 2 Gigabyte unterstützen.
 
Reshetov:

VPS ist nicht die beste Lösung, da sie Geld kostet und nicht alle Hosting-Anbieter zuverlässig sind.

Auch die Mehrwährungsfähigkeit ist nicht die beste Lösung.

Eine akzeptablere Lösung besteht darin, die Expert Advisors von einem Konto auf verschiedene Terminals zu verschieben, um die Handelsfäden zu entlasten. Aber je mehr Terminals gleichzeitig laufen, desto mehr RAM wird benötigt.

Ist es möglich, ein Programm zu erstellen, das die EAs von sich aus ein- und ausschaltet, z. B. für 10 Minuten, abwechselnd nach 00.00 Uhr des Client-Terminalservers?