[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 614

 
Urain:

MathRand sollte vor der Verwendung mit MathSrand() initialisiert werden,

und ich empfehle, TimeLocal() als Parameter von MathSrand() zu übergeben.

Die Initialisierung ist einmal erforderlich, dann wird MathRand() bei 32768 Abfragen nicht erkannt,

Danach können Sie erneut initialisieren, wenn Sie eine neue Sequenz wünschen, ansonsten passiert das Gleiche.

Sie können natürlich jeden Schritt initialisieren, aber Sie müssen die Initialisierungsparameter überwachen, um sie zu ändern,

Ansonsten ist es die gleiche Reihenfolge.


Das tue ich auch. Was ist Timelockal?

Ich habe den gleichen Satz in der gleichen Geschichte.

 
KANN MIR JEMAND EINEN TIPP GEBEN... DRITTES MAL, dass ich schreibe und niemand antwortet...AccountEquity() ONE BAR ABOVE (on a past bar) HOW TO WRITE?
 
vlad123:


Das tue ich auch. Was ist Timelockal?

Ich habe den gleichen Satz in der gleichen Geschichte.


Beispiele aus dem Lehrbuch:

datetime TimeLocal()

Die Funktion gibt die lokale Computerzeit als die Anzahl der seit 00:00 Uhr am 1. Januar 1970 verstrichenen Sekunden zurück.
Hinweis: Beim Test wird die Ortszeit simuliert und entspricht der simulierten letzten bekannten Serverzeit.

Beispiel:

MathSrand(TimeLocal());
  // Отображает 10 чисел.
  for(int i=0;i<10;i++ )Print("произвольная величина ", MathRand());

 
sllawa3:
KÖNNTE MICH BITTE JEMAND BERATEN? ...AccountEquity() ONE BAR ABOVE (auf einem vergangenen Balken) HOW TO WRITE?

Antwort: auf keinen Fall.
AccountEquity() gibt den Betrag des Eigenkapitals zurück und ist nicht von der Anzahl der Balken abhängig.
Sie können die früheren Werte nicht einfach durch Zurückspulen der Historie der Balken ermitteln.
Sein Wert hängt von der Anzahl der offenen/geschlossenen, gewinnbringenden/verlustbringenden Geschäfte ab.
Um die "Historie des Eigenkapitals" aufzuzeichnen, erstellen Sie ein statisches Array und zeichnen Sie den AccountEquity()-Wert darin auf, z. B. bei jeder Öffnung des Balkens.
Wir müssten also durch das Array blättern, um den Verlauf der Aktienveränderungen zu erhalten.

 
sllawa3:
KANN MIR JEMAND EINEN TIPP GEBEN... AccountEquity() ONE BAR ABOVE (auf einem vergangenen Balken) HOW TO WRITE?

Es sieht so aus, als müssten wir sie bei jedem neuen Takt in einer Variablen speichern, zum Beispiel so:

1. den anfänglichen Eigenkapitalwert in der Funktion init() in einer Variablen speichern, z. B. EquAkk=AccountEquity();

2. prüfen, ob ein neuer Balken erscheint ( natürlich nicht in init ), wenn ja, dann
{
LastEqu=EquAkk; // den vergangenen (von uns benötigten) Equity-Wert in der Variablen speichern
EquAkk=AccountEquity(); // den neuen Equity-Wert (für den nächsten "vergangenen" Wert) aufzeichnen
}

Die Variable LastEqu speichert also den Equity-Wert für den vergangenen Balken, und ihr Wert wird wieder überschrieben, wenn der nächste Balken geöffnet wird...

... Ich habe es selbst geschrieben, nicht überprüft und bin bereits eingeschlafen, also tretet mich nicht zu sehr...
Ich denke, ich habe die Idee ausgedrückt ....

 
ToLik_SRGV:

Antwort: auf keinen Fall.
AccountEquity() gibt den Betrag des Eigenkapitals zurück und ist nicht von der Anzahl der Balken abhängig.
Sie können die früheren Werte nicht einfach durch Zurückspulen der Historie der Balken ermitteln.
Sein Wert hängt von der Anzahl der offenen/geschlossenen, gewinnbringenden/verlustbringenden Geschäfte ab.
Um die "Historie des Eigenkapitals" aufzuzeichnen, erstellen Sie ein statisches Array und zeichnen Sie den AccountEquity()-Wert darin auf, z. B. bei jeder Öffnung des Balkens.
Dementsprechend wäre es möglich, die Historie der Aktienveränderungen durch Blättern im Array abzurufen.



SIE KÖNNEN ALSO NOCH
 
sllawa3:
SIE KÖNNEN ALSO NOCH


Nun, ich habe das Gleiche geschrieben, aber vorgeschlagen, ein Array statt einer Variablen zu verwenden.

Um die "Geschichte des Eigenkapitals" aufzuzeichnen, müssen Sie zum Beispiel ein statisches Array erstellen und den Wert von AccountEquity() darin aufzeichnen, zum Beispiel bei der Eröffnung jedes Balkens.
Dementsprechend sollte die Historie der Aktienveränderungen durch Blättern im Array abgerufen werden.

 
Leute, ich kann nicht herausfinden, wie man die Pfeile auf dem Diagramm setzt, einen auf den höchsten Balken für die letzten 80 Tage und den anderen auf den niedrigsten Balken für die gleichen 80 Tage. Ich habe diesen Code erstellt, aber er wirft Pfeile in Clustern... Ich brauche einen Pfeil am Minimum und Maximum jedes Balkens für die letzten 80 Tage, dann für die nächsten 80 Tage, usw. Können Sie mir einen Tipp geben?
//====================================================================================
   int      NBars,MostHiBar, MostLoBar;
   double   MostHiPrice,MostLoPrice;
   datetime TMostHiBar,TMostLoBar;
   
//-----------------------------------------------------------------
   NBars       = 80;
   MostHiBar   = iHighest(NULL,PERIOD_D1,MODE_HIGH,NBars,0);      // Номер "максимального" бара
   MostLoBar   = iLowest (NULL,PERIOD_D1,MODE_LOW, NBars,0);      // Номер "минимального" бара
   MostHiPrice = iHigh   (NULL,PERIOD_D1,MostHiBar);              // Цена  "максимального" бара
   MostLoPrice = iLow    (NULL,PERIOD_D1,MostLoBar);              // Цена  "минимального" бара
   
   TMostHiBar  = iTime   (NULL,PERIOD_D1,MostHiBar);              // Время открытия "максимального" бара
   TMostLoBar  = iTime   (NULL,PERIOD_D1,MostLoBar);              // Время открытия "минимального" бара

   Comment (
            "\n", 
            "Наибольшая цена за ", NBars, " дней = ", MostHiPrice, "\n",
            "Наименьшая цена за ", NBars, " дней = ", MostLoPrice, "\n",
            "Время наибольш. бара = ", Time[MostHiBar], "\n",
            "Время наименьш. бара = ", Time[MostLoBar]   // сюда пробовал и TMostLoBar вставлять - пофигу...           
           );
           
   SetArrow(241, MediumSpringGreen, "", Time[MostHiBar], High[MostHiBar], 0);
   SetArrow(242, OrangeRed, "", Time[MostLoBar], Low[MostLoBar], 0);
//====================================================================================
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 12.10.2007                                                     |
//|  Описание : Установка значка на графике, объект OBJ_ARROW.                 |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    cd - код значка                                                         |
//|    cl - цвет значка                                                        |
//|    nm - наименование               ("" - время открытия текущего бара)     |
//|    t1 - время открытия бара        (0  - текущий бар)                      |
//|    p1 - ценовой уровень            (0  - Bid)                              |
//|    sz - размер значка              (0  - по умолчанию)                     |
//+----------------------------------------------------------------------------+
void SetArrow(int cd, color cl, string nm="", datetime t1=0, double p1=0, int sz=0) 
{
  if (nm=="") nm=DoubleToStr(Time[0], 0);
  if (t1<=0) t1=Time[0];
  if (p1<=0) p1=Bid;
  if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_ARROW, 0, 0,0);
  ObjectSet(nm, OBJPROP_TIME1    , t1);
  ObjectSet(nm, OBJPROP_PRICE1   , p1);
  ObjectSet(nm, OBJPROP_ARROWCODE, cd);
  ObjectSet(nm, OBJPROP_COLOR    , cl);
  ObjectSet(nm, OBJPROP_WIDTH    , sz);
}
//====================================================================================
 
Können Sie mir sagen, ob es möglich ist , eine Position mit einem Stopp in MT zu eröffnen? Legen Sie z. B. einen Stopp hinter die Unterstützung/Kopr. und wenn sie durchbrochen wird, eröffnet der Stopp eine Position.
 
Craft:
Können Sie mir sagen, ob es möglich ist, eine Position in MT per Stop zu eröffnen? Legen Sie z.B. einen Stopp hinter die Unterstützung/Sopr. und wenn sie durchbricht, eröffnet der Stopp eine Position.

Ja, sicher. Nur wird er nicht als Stop, sondern als Pending Order bezeichnet. Öffnen Sie Ihr Terminal. Drücken Sie darin F1. In dem daraufhin angezeigten Fenster öffnen Sie Inhalt - Handel - Auftragsart.
Grund der Beschwerde: