[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 319

 

Erinnern Sie mich an die Situation

Bitte geben Sie folgende Hinweise:

1.es gibt eine Funktion "if (timecur == "08:00:00") OrderSend (Symbol(), OP_BUY, Loot, Ask, 50, SL, TP,NULL,0,0,L);"

2. es vom 23.08.2010-23.10.2010 zu testen.

3. bis zum 12.10.2010 wurden die Geschäfte normal um 1 St. eröffnet.

Mit der Funktion 12.10.2010 werden jedoch so viele Transaktionen geöffnet, wie das Depot zulässt (etwa 7 PC).

Ich kann nicht verstehen, den Grund, kann sein, dass für eine zweite hat Zeit, um mindestens 5 Ticks passieren und hat daher Zeit, so viel zu öffnen? oder es ist eine andere Sache? wenn alle die gleiche erste Option, bitte beraten, wie man das Geschäft nur einmal geöffnet verschreiben?

Ich wäre Ihnen sehr dankbar, danke.

 
Am einfachsten ist es, zu prüfen, ob eine bestimmte Anzahl von Aufträgen auf dem Markt vorhanden ist, bevor ein neuer Auftrag eröffnet wird.
 
Boneshapper:

Erinnern Sie mich an die Situation

Bitte geben Sie folgende Hinweise:

1.es gibt eine Funktion "if (timecur == "08:00:00") OrderSend (Symbol(), OP_BUY, Loot, Ask, 50, SL, TP,NULL,0,0,L);"

2. es vom 23.08.2010-23.10.2010 zu testen.

3. bis zum 12.10.2010 wurden die Geschäfte normal um 1 pc eröffnet.

Mit der Funktion 12.10.2010 werden jedoch so viele Transaktionen geöffnet, wie das Depot zulässt (etwa 7 PC).

Ich kann nicht verstehen, den Grund, kann sein, dass für eine zweite hat Zeit, um mindestens 5 Ticks passieren und hat daher Zeit, so viel zu öffnen? oder es ist eine andere Sache? wenn alle die gleiche erste Option, bitte beraten, wie man das Geschäft nur einmal geöffnet verschreiben?

Ich wäre Ihnen sehr dankbar, danke

Hier ist eine einfache Funktion, die die Anzahl der offenen Aufträge überprüft:

 int Opened(){
     int Orders=0;
     for (int cnt=OrdersTotal()-1; cnt>=0; cnt--){
       if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)){
         if(OrderSymbol()==Symbol()){
           if(OrderMagicNumber()==Magic){
               if(OrderType()<2)Orders++;
      } } } }       
  return(Orders);
} 

Die Funktion Opened() sollte sich außerhalb der Funktion start() befinden. Sie kann ganz am Ende des Codes stehen.

Fügen Sie es in Ihren Zustand ein:

if (timecur == "08:00:00" && Opened()==0) OrderSend (Symbol(), OP_BUY, Loot, Ask, 50, SL, TP,NULL,0,0,L);
 
DhP:

Hier ist eine einfache Funktion, um die Anzahl der offenen Aufträge zu überprüfen:

In Ihrem Zustand einfügen:


Ja, das hat wirklich geholfen, aber es ist nur so, dass ich mehrere Aufträge eröffne, die nicht miteinander verbunden sein sollten. Ich möchte die Eröffnung eines Geschäfts auf eine bestimmte Flagge beschränken, und das war's.

Ich habe es so geschrieben

int Kontrolle;

if ((timecur == "08:00:00") && (Control == 0)) OrderSend (Symbol(), OP_BUY, Loot,Ask, 50, SL, TP,NULL,0,0,L);
Alert(GetLastError());
Control = 1;

Und die Null wurde erst zurückgegeben, als ich den Auftrag geschlossen hatte.

OrderClose(Ticket,Loot,Bid,50,R);
Alert (GetLastError());
Control = 0;

Aber warum hat dieser Eintrag nicht geholfen. vielleicht habe ich irgendwo einen Fehler gemacht? bitte helfen Sie mir

 
Boneshapper:


Ja, das hat wirklich geholfen, aber es ist nur so, dass ich mehrere Aufträge eröffne, die nicht miteinander verbunden sein sollen. Ich möchte die Eröffnung eines Geschäfts mit einer bestimmten Flagge begrenzen und das war's.

Ich habe es so geschrieben

int Kontrolle;

if ((timecur == "08:00:00") && (Control == 0)) OrderSend (Symbol(), OP_BUY, Loot,Ask, 50, SL, TP,NULL,0,0,L);
Alert (GetLastError());
Control = 1;

Und die Null wurde erst zurückgegeben, als ich den Auftrag geschlossen hatte.

OrderClose(Ticket,Loot,Bid,50,R);
Alert (GetLastError());
Control = 0;

Aber warum hat dieser Eintrag nicht geholfen. bin ich irgendwo falsch? bitte helfen Sie mir

Sie können die Funktion auf jede beliebige Weise "schreddern". Es kann alle Ihre Wünsche erfüllen.

Sie können z. B. angeben, an welcher Art von Operationen Sie interessiert sind, oder welche Magie, oder eine Bedingung für die offene Zeit einer Position eingeben und vieles mehr.

Hier ein Beispiel für die Trennung in Kaufen und Verkaufen:

 int Opened(int OP){
     int Orders=0;
     for (int cnt=OrdersTotal()-1; cnt>=0; cnt--){
       if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)){
         if(OrderSymbol()==Symbol()){
           if(OrderMagicNumber()==Magic){
               if(OP==OP_BUY)Orders++;
               if(OP==OP_SELL)Orders++;
      } } } }       
  return(Orders);
 } 

Unsere Möglichkeiten sind nur durch unsere Vorstellungskraft begrenzt. Sie werden sicher Erfolg haben.

 
DhP:

Sie können die Funktion nach Belieben "schreddern". Es kann alle Ihre Wünsche erfüllen.

Sie können z. B. angeben, an welcher Art von Vorgängen Sie interessiert sind, oder welche MAGICs, oder eine Bedingung für die offene Zeit einer Position eingeben und vieles mehr.

Hier ein Beispiel für die Trennung in Kaufen und Verkaufen:

Unsere Möglichkeiten sind nur durch unsere Vorstellungskraft begrenzt. Seien Sie mutig und es wird funktionieren.


Ich werde es versuchen, vielen Dank!
 

Übrigens, zu den Flaggen.

Sie können die verschiedenen Flaggen als Relaissystem verwenden, um die Aktionen der verschiedenen Operationen umzuschalten. Sie sind durchaus in der Lage, jeden Ihrer Wünsche zu erfüllen.

Aber es ist wichtig, dass Sie eine klare Vorstellung davon haben, was und wie es funktionieren soll.

Wie bei einem Eisenbahnknotenpunkt müssen Sie sich ein klares Bild davon machen, wie die Weichen funktionieren.

 

Liebe Profis, können Sie mir sagen... Ich habe ein Skript zur Darstellung meiner Berechnungen in einem Diagramm. Um mit dem Zeichnen zu beginnen, muss ich es aus dem Navigator auf die Karte ziehen und ablegen. Meine Frage ist, ob es möglich ist, das Skript durch Drücken einer Taste (meiner eigenen oder einer der vorhandenen) aus dem Panel "Graphic Tools" aufzurufen?

 
kon12:

Liebe Profis, sagt mir... Ich habe ein Skript, um meine Berechnungen im Diagramm darzustellen. Um mit dem Zeichnen zu beginnen, muss ich es aus dem Navigator auf die Karte ziehen und ablegen. Frage - ist es möglich, das Skript durch Drücken einer Taste (meiner eigenen oder der zugewiesenen) vom Bedienfeld "Zeilenstudien" aus aufzurufen?


Tastenkombinationen

Tastenkombinationen sind Tasten und Tastenkombinationen, mit denen Sie verschiedene Befehle schnell ausführen können, ohne Menüs oder Bedienfelder verwenden zu müssen.

  • " ï " - Diagramm nach links scrollen;

  • " ð " - Diagramm nach rechts blättern;

  • "ñ " - schnelles Scrollen der Karte nach links; bei festem Maßstab - Scrollen der Karte nach oben;

  • ð " " - schneller Bildlauf nach rechts, bei festem Maßstab - Bildlauf nach unten;

  • Numpad 5 - Wiederherstellung der automatischen vertikalen Skala des Diagramms, nachdem sie geändert wurde. Und bei festem Maßstab - das Diagramm wieder auf die Ansichtsgrenzen zurücksetzen;

  • Seite nach oben - schneller Bildlauf nach links;

  • Seite nach unten - schneller Bildlauf nach rechts;

  • Home - Grafik an den Anfang verschieben;

  • Ende - verschiebt das Diagramm an das Ende;

  • "-" - Verkleinern des Diagramms;

  • "+" - Vergrößert das Diagramm;

  • Löschen - alle ausgewählten grafischen Objekte löschen;

  • Rücktaste - löscht die letzten Objekte im Diagrammfenster;

  • Enter - öffnet/schließt das Fenster der Schnellnavigation;

  • Esc - Dialogfenster schließen;

  • F1 - öffnet das Fenster "Benutzerhandbuch";

  • F2 - öffnet das Fenster "Zitate-Archiv";

  • F3 - öffnet das Fenster "Globale Variablen";

  • F4 - MetaEditor laden;

  • F6 - Aufruf des Fensters "Tester" zum Testen des an ein Chartfenster angehängten Expert Advisors;

  • F7 - Aufruf des Fensters mit den Eigenschaften des an das Chart-Fenster angehängten Expert Advisors zum Ändern der Einstellungen

  • F8 - Aufruf des Fensters "Diagrammeinstellungen";

  • F9 - das Fenster "Neuer Auftrag" aufrufen

  • F10 - öffnet das Fenster "Zitate";

  • F11 - Vollbildmodus ein-/ausschalten;

  • F12 - verschiebt das Diagramm um einen Balken nach links;

  • Umschalt+F12 - verschiebt das Diagramm um einen Balken nach rechts;

  • Shift+F5 - zum vorherigen Profil wechseln;

  • Alt+1 - zeigt das Diagramm als eine Folge von Balken an (wandelt es in ein Balkendiagramm um);

  • Alt+2 - zeigt das Diagramm als eine Folge von japanischen Kerzen (verwandelt es in ein Kerzenchart);

  • Alt+3 - zeigt das Diagramm als gestrichelte Linie an (konvertiert es in ein Liniendiagramm);

  • Alt+A - kopiert alle Test- oder Optimierungsergebnisse des Expert Advisors in die Zwischenablage;

  • Alt+W - ruft das Fenster zur Kartenverwaltung auf;

  • Alt+F4 - schließt das Client-Terminal;

  • Alt+Backspace oder Ctrl+Z - Entfernen des Objekts abbrechen;

  • Ctrl+A - Standardhöhe für alle Indikatorfenster festlegen;

  • Ctrl+B - ruft das Fenster "Objektliste" auf;

  • Strg+C oder Strg+Einfügen - in den Puffer kopieren;

  • Strg+E - aktiviert/deaktiviert die Verwendung des Expert Advisors;

  • Strg+F - "Fadenkreuz" aktivieren/deaktivieren;

  • Strg+G - Gitter ein-/ausblenden;

  • Strg+H - OHLC-Linie ein-/ausblenden;

  • Strg+I - ruft das Fenster "Indikatorenliste" auf;

  • Strg+L - Volumen ein-/ausblenden;

  • Strg+P - Diagramm drucken;

  • Strg+S - Diagramm in einer Datei mit den Erweiterungen "CSV", "PRN", "HTM" speichern;

  • Ctrl+W oder Ctrl+F4 - schließt das Diagrammfenster;

  • Strg+Y - Punkttrennzeichen ein-/ausblenden;

  • Strg+Z oder Alt+Backspace - bricht das Löschen eines Objekts ab;

  • Strg+D - "Datenfenster" öffnen/schließen;

  • Strg+M - Öffnen/Schließen des Fensters "Marktbeobachtung";

  • Strg+N - öffnet/schließt das Fenster" Navigator";

  • Ctrl+O - öffnet/schließt das Fenster" Einstellungen";

  • Strg+R - öffnet/schließt das " Tester"-Fenster;

  • Ctrl+T - öffnet/schließt das " Terminal"-Fenster;

  • Strg+F5 - zum nächsten Profil wechseln;

  • Ctrl+F6 - nächstes Diagrammfenster aktivieren;

  • Strg+F9 - öffnen Sie das Fenster "Terminal - Handel" und schalten Sie dort den Steuerungsfokus um. Danach können Sie die Handelsaktivitäten über die Tastatur steuern.

Es ist möglich, Hotkeys zuzuweisen, um jedes Element des Fensters "Navigator" aufzurufen, mit Ausnahme der Elemente der Gruppe "Konten". Um einem Element eine Tastenkombination zuzuweisen, muss man den Befehl "Tastenkombination zuweisen" im Kontextmenü des Elements ausführen. Zugewiesene Hotkeys haben eine höhere Priorität als vordefinierte Hotkeys. So entspricht z. B. die Tastenkombination Strg+O zunächst dem Aufruf des Fensters mit den Terminaleinstellungen. Wenn dieser Kombination auch der Indikator für die Gleichgewichtslautstärke zugewiesen werden kann, wird durch Drücken von Strg+O nicht das Fenster mit den Terminaleinstellungen geöffnet.

 
Vinin:

Tastenkombinationen

Tastenkombinationen sind Tasten und Tastenkombinationen, mit denen Sie verschiedene Befehle schnell ausführen können, ohne Menüs oder Bedienfelder verwenden zu müssen.


Ich habe mich nicht präzise ausgedrückt. Frage: Ist es möglich, ein Skript zu erstellen, das durch Anklicken eines Symbols (z. B. Fibo-Symbol) aus dem Fenster "Grafische Werkzeuge" aufgerufen wird?