[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 32

 

Liebe Fachleute! Seit kurzem interessiere ich mich für den Handel mit Rohstoffkalendern und Interkontrakt-Spreads auf dem Futures-Markt. In diesem Zusammenhang besteht ein Bedarf an synthetischen Instrumentenkarten. Die Idee ist, ein Candlestick-Chart zu erstellen, das anhand der OHLC-Preisdifferenz zwischen Benzin (XRB) und Heizöl (HO) berechnet wird. Ich habe versucht, diese Aufgabe mit meinen eigenen Mitteln zu lösen, da die Berechnungsformel einfach ist - man muss nur die Differenz zwischen den Preisen der Instrumente berechnen und die erhaltenen Werte in einer Verlaufsdatei speichern und sie in einem autonomen Modus verwenden, indem man verschiedene Indikatoren auf sie anwendet. Glücklicherweise gibt es mehrere fertige Skripte für die Erstellung synthetischer Diagramme, wie z. B. PeriodConverter. Ich beschloss, mit einer einfachen Sache zu beginnen. Ich habe versucht, den Code hinzuzufügen, der die Preise eines anderen Symbols von den Chartpreisen (mit derselben Eröffnungszeit) für die entsprechenden Bars im angegebenen Skript subtrahiert. Um das Schreiben von Code für die Synchronisierung der Balken zweier Instrumente nach ihrer Eröffnungszeit nicht zu vermeiden, habe ich einen Parameter eingeführt, der nur die letzten, sagen wir 50 Balken für die Berechnung blockiert, da diese letzten Balken in den meisten Fällen weder nach ihrer Eröffnungszeit noch nach ihrer Indexierung synchronisiert werden sollten, da sie bereits synchronisiert sind. Ich habe die Tools absichtlich so kombiniert, dass bei den Berechnungen keine negativen Kurswerte entstehen, denn soweit ich weiß, zeigt das Terminal diese nicht auf dem Chart an. Hier ist, was ich bekommen habe. Beim Öffnen eines synthetischen Diagramms, das mit dem aktualisierten Skript im Standalone-Modus erstellt wurde, kann das Terminal nicht mehr als die Hälfte der berechneten Balken anzeigen! Wird jedoch die Preissubtraktion durch die Addition im Skript ersetzt, werden alle berechneten Balken gezeichnet. Was ist der Unterschied zwischen den Operationen Addition und Subtraktion? Dasselbe gilt für die Operationen der Multiplikation und der Division - bei der Multiplikation der entsprechenden Preise werden die Balken des synthetischen Diagramms normal angezeigt, aber bei der Division werden weniger als die Hälfte der Balken wieder angezeigt! Man kann sagen, dass beim Dividieren vielleicht eine Null im Nenner steht. Aber ich habe die berechneten Arrays mit der Comment-Funktion überprüft und sie gibt jedes Mal korrekte Werte aus, d.h. die Division durch Null war in meinen Tests nicht vorhanden. Und jetzt bin ich ratlos, weiß nicht, was ich damit anfangen soll.

Wenn Sie nicht schwierig sind, geschätzte Fachleute, beraten Sie bitte, worin der Hund liegt! Ich lege meine kreative Arbeit bei. Schauen Sie sich bitte den Code an, was Sie hinzufügen oder ändern müssen, damit das Skript normal funktioniert. Ich sollte mir zumindest einige eigenständige Charts besorgen, die nicht in Echtzeit aktualisiert werden müssen, da der Spread-Handel in der Regel mittelfristig erfolgt, d. h. in Tagen bis Wochen, so dass die Geschwindigkeit, mit der die Charts gezeichnet werden, nicht entscheidend ist. Oder ist die Idee, solche Karten zu erstellen, vielleicht gar nicht durchführbar?

Dateien:
 
hoz:

Wie ändert sich also die Logik, wenn eine Klammer eine Zeile nach unten verschoben wird? Schließlich bleibt die Struktur des Codes gleich und die Logik auch...

Das ist richtig, aber das ist nicht der Unterschied in der Kurzfassung. Im ersten Fall haben wir zunächst den Wert der Variablen n und dann den Wert von ind betrachtet. Der Unterschied besteht darin, dass wir nach dem Vergleich von n ohnehin den Wert von ind überprüfen. Wenn wir jedoch zuerst ind und dann n überprüfen, sinkt die Anzahl der Operationen um 45-49%, da ind in den meisten Fällen leer ist.
 
Leute, erinnert mich daran, wo ich den Zeitplan für den Neujahrshandel und die Handelsbedingungen einsehen kann... Die Spreads werden wahrscheinlich um das Fünffache steigen und die Margenanforderungen
 

Weiß jemand, wie man kostenlose Tabellenkalkulationsprogramme wie OpenOffice oder LibreOffice dazu bringt, die erste Null im Textformat nicht zu löschen?

Ich habe im Internet alles gelesen, was ich finden konnte. Ich habe nichts gefunden. Warum sind alle ähnlichen Editoren so eingestellt? Außerdem steht in allen Editoren, dass das Textformat alles wie geschrieben ausgibt.

 
Zhunko:

Weiß jemand, wie man kostenlose Tabellenkalkulationsprogramme wie OpenOffice oder LibreOffice dazu bringt, die erste Null im Textformat nicht zu löschen?

Ich habe im Internet alles gelesen, was ich finden konnte. Ich habe nichts gefunden. Warum sind alle ähnlichen Editoren so eingestellt? Außerdem steht in allen Editoren, dass das Textformat alles wie geschrieben ausgibt.


Vielleicht in Anführungszeichen schreiben? ""
 
keep87:

Das ist richtig, aber das ist nicht der Unterschied in der Kurzfassung. Im ersten Fall betrachten wir zuerst den Wert von n und dann ind. und im zweiten Fall ist es genau andersherum. Der Unterschied besteht darin, dass wir nach dem Vergleich von n ohnehin den Wert von ind überprüfen. Wenn wir jedoch zuerst ind und dann n überprüfen, sinkt die Anzahl der Operationen um 45-49%, da ind in den meisten Fällen leer ist.

Ganz genau! Ich bin in der Tat überrascht. Jetzt verstehe ich alles, danke.
 
Replikant:

Ich danke Ihnen!!!

aber ich fürchte, "ein wenig" wird nicht funktionieren))) - Ich habe eine dreistöckige boolesche Formel mit 16 Parametern vom Typ bool)

Was für eine Last du hast... Nimm int so viele wie 16 Bits und geh jedes Bit durch...

//|                                                         test.mq4 |
//|                              Copyright © 2012 Mikhail Kozhemyako |
//|                                               ua3xcm@obninsk.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012 Mikhail Kozhemyako"
#property link      "ua3xcm@obninsk.com"
extern  int Биты=0;
bool СработалоУсловие№_i;
int init()
  {
   return(0);
  }
int deinit()
  {
   return(0);
  }
int start()
  {
   int i;
   int Сдвиг=1;
// Гденить здесь нужно определиться с вашими условиями
   for(i=0;i<=15;i++)
    {
     if(СработалоУсловие№_i)
      {
       Биты=Биты | Сдвиг;
      }
     Сдвиг=Сдвиг << 1; 
    }
   for(i=0;i<=15;i++)
    {
     if(0x0001 & Биты == 1)
      {
       // Делать что-то по условию i
      }
     Биты = Биты >> 1;
    }
   return(0);
  }

Und im Tester stellen Sie die Bitvariable perobore von 0 bis 65535 in Schritten von 1 ein.

Ich weiß nicht, ich habe es getan, ich denke, es sollte funktionieren....

 
Guten Abend! Sagen Sie mir, auf dem Screenshot des Tests steht, dass der Prozentsatz der erfolgreichen Short-Trades 0 ist. Das sind doch Verkaufsartikel, oder? Ich nehme also an, dass keine von ihnen profitabel war? Ist dies ein Hinweis auf ein starkes Ungleichgewicht?
 
Dimka-novitsek:
Guten Abend! Sagen Sie mir, auf dem Screenshot des Tests steht, dass der Prozentsatz der erfolgreichen Short-Trades 0 ist. Das sind doch Verkaufsartikel, oder? Ich nehme also an, dass keine von ihnen profitabel war? Ist dies ein Hinweis auf ein starkes Ungleichgewicht?

Ja, es gibt Short-Sell-Short. Vielleicht hatten Sie sie aber auch nur aus irgendeinem Grund nicht geöffnet.
 
chief2000:

Soll ich es in Anführungszeichen schreiben? ""

Wie verarbeiten Sie das? Ein spezielles Format für krumme Programme? Einige der Informationen sind in Anführungszeichen gesetzt, andere ohne... Oder ist alles in Anführungszeichen gesetzt?

Es ist irgendwie falsch, Nullen in Anführungszeichen zu schreiben, wenn es sich um Text handelt. In CSV-Dateien besteht alles aus Text. Es ist der Benutzer, der entscheidet, was und wie er bearbeitet, nicht der Redakteur.

Für Excel gibt es die Möglichkeit, dem Text ein Hochkomma voranzustellen. Löst alle Visualisierungsprobleme, aber nicht den Inhalt. Warum das zusätzliche Zeichen?

Grund der Beschwerde: