Copy Tick Wert

 

Hallo,


mal eine Frage zur dieser Funktion, ganz klar ist mir nicht was hier rauskommen soll.

ich habe hier auch noch das Missverständnis zwischen Sekunden und Millisekunden.


 MqlTick  tick_Range[] , tick[] ;
    int copied_Range , copied ;
    
    datetime Start_date = (TimeCurrent() -10000) ;
    datetime End_date   = (TimeCurrent() );
    
    ulong Start1 = ulong(Start_date)*1000;
    ulong End1   = ulong(End_date  )*1000;
    
    copied_Range = CopyTicksRange( _Symbol , tick_Range , COPY_TICKS_ALL , Start1 , End1  ); 
    copied       = CopyTicks     ( _Symbol , tick       , COPY_TICKS_ALL , 1000     , 0 ); 


    Print( "Start = "        , Start1        , "   |   " , "End = "    , End1    );
    Print( "copied_Range = " , copied_Range , "   |   " , "copied = " , copied );

    Print(tick_Range[47].ask);
    Print(tick[47].time);
    

soweit mal gut, das Start und End_date ist ja klar, jedoch bring TimeCurrent() die Zeit ja nur in Sekunden. Daher multipliziere ich diese mit 1000 für die Funktion.


wenn ich jetzt mir das Ergebnis ansehe,

dann bekomme ich, wie man sieht das Jahr 2013 zurück. was mir ja schon gar nicht klar ist.


was ich auch nicht verstehe, die Funktion Copy Range kopiert 13381 Ticks, die Funktion Copy Ticks 2000, woher nimmt die Funktion die 2000 wenn ich nur 1000 eingetragen habe?????


eine weitere Frage zu 2 Print Funktion.

    Print(tick_Range[47].ask);
    Print(tick[47].time);

kopiert er hier die Werte des 47 Ticks? von beginn oder von Ende weg?


wie könnte ich ihm sagen, das ich den Bid Tickwert will, welcher 5 Sekunden zurück liegt?


amando

 
was ich auch nicht verstehe, die Funktion Copy Range kopiert 13381 Ticks, die Funktion Copy Ticks 2000, woher nimmt die Funktion die 2000 wenn ich nur 1000 eingetragen habe?????

In der Doku zu CopyTicks 

https://www.mql5.com/de/docs/series/copyticks

findest du den Hinweiß das wenn der "count" nicht angegeben wird er ein default Wert von 2000 Ticks liefert.

Also passt dein "count" nicht.



 copied       = CopyTicks     ( _Symbol , tick       , COPY_TICKS_ALL , 1000     , 0 ); 

int  CopyTicks( 
   string           symbol_name,           // Symbolname 
   MqlTick&         ticks_array[],         // Array für das Empfangen von Ticks 
   uint             flags=COPY_TICKS_ALL,  // Flagge, die den Typ von Ticks bestimmt 
   ulong            from=0,                // das Datum, von dem an Ticks abgerufen werden 
   uint             count=0                // Anzahl der Ticks, die entgegengenommen werden müssen 
   );

Erkennst du es selber ?


Gruß

Dokumentation zu MQL5: Zugang zu Zeitreihen und Indikatoren / CopyTicks
Dokumentation zu MQL5: Zugang zu Zeitreihen und Indikatoren / CopyTicks
  • www.mql5.com
die Indizierung erfolgt von der Vergangenheit in die Gegenwart, d.h. der Tick mit dem Index 0 ist der älteste im Array. Für die Analyse eines Ticks muss das Feld [in]  Anzahl angeforderter Ticks. Wenn die Parameter from und count nicht angegeben sind, dann werden alle vorhandenen Ticks im Array ticks_array[] gespeichert, aber nicht mehr als...
 
Christian:

In der Doku zu CopyTicks 

https://www.mql5.com/de/docs/series/copyticks

findest du den Hinweiß das wenn der "count" nicht angegeben wird er ein default Wert von 2000 Ticks liefert.

Also passt dein "count" nicht.



Erkennst du es selber ?


Gruß

gibts auch sinnvolle kommentare?

 
gibts auch sinnvolle kommentare?

Wie sinnvoll ist denn deine Tabelle in Russisch ? 


Zurück zu CopyTicks() ..du hast den Übergabe Parameter "count" mit 0 angegeben ergo liefert dir CopyTicks immer 2000 Ticks.


Ich hoffe das es nun sinnvoll genug ist . 

Gruß 

 
Christian:

Wie sinnvoll ist denn deine Tabelle in Russisch ? 


Zurück zu CopyTicks() ..du hast den Übergabe Parameter "count" mit 0 angegeben ergo liefert dir CopyTicks immer 2000 Ticks.


Ich hoffe das es nun sinnvoll genug ist . 

Gruß 

das hab ich auch gerade gesehen, also die hab ich nicht reinkopiert, ich hatte hier ein anderes bild drin ;-)


Die Frage stellt sich noch, wie bekomme ich den Tickwert von vor xx Sekunden?

 
amando:

Die Frage stellt sich noch, wie bekomme ich den Tickwert von vor xx Sekunden?

Einfach die Doku. des Befehls (link siehe oben!!) lesen, getreu dem Motto Hilf Dir selbst, dann hilft Dir Gott!

 
Carl Schreiber:

Einfach die Doku. des Befehls (link siehe oben!!) lesen, getreu dem Motto Hilf Dir selbst, dann hilft Dir Gott!

danke für diesen sinnbefreiten kommentar, wenn ich es verstehen würde hätt ich nicht gefragt

 

wenn Du in der Mitte der Url das /de/ gegen /ru/ austauscht kriegst Du die russische Erklärung:

https://www.mql5.com/ru/docs/series/copyticks.

Aber Du kannst sicher sein, Lesen bringt Dir hier keiner bei :(

Außerdem gibt es da ja auch Beispiele - hmm, leider auch voller Buchstaben. :(

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTicks
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTicks
  • www.mql5.com
[in]  Количество запрашиваемых тиков. Если параметры from и count не указаны, то в массив ticks_array[] будут записаны все доступные последние тики, но не более 2000. Первый вызов CopyTicks() инициирует синхронизацию базы тиков, хранящихся на жёстком диске по данному символу. Если тиков в локальной базе не хватает, то недостающие тики...
 


eine weitere Frage zu 2 Print Funktion.

kopiert er hier die Werte des 47 Ticks? von beginn oder von Ende weg?


Lass dir einfach 3 Werte ausgeben und dann siehst du anhand der Zeit die Reihenfolge.


Gruß

 
Carl Schreiber:

wenn Du in der Mitte der Url das /de/ gegen /ru/ austauscht kriegst Du die russische Erklärung:

https://www.mql5.com/ru/docs/series/copyticks.

Aber Du kannst sicher sein, Lesen bringt Dir hier keiner bei :(

Außerdem gibt es da ja auch Beispiele - hmm, leider auch voller Buchstaben. :(

siehst Carl, genau das ist dar Problem, bringts eine ordentliche Doku raus, dann wäre das alles kein Problem. Wenn die Doku in jeder Sprache was anderes erzählt und die deutsche ist besonderer Schrott, dann ist das halt auch nicht so einfach.

Was ich schon gar nicht verstehe, das ihr Mods hier immer glaubt, die Weisheit mit dem Löffel gefressen zu haben und alle sind hauptberufliche Progger.

und bevor noch kommt, das steht alles da, dann bitte mal ein Beispiel aus der Doku.


TimeCurrent

Gibt den lezten bekannten Wert des Servers, Zeit Des Erhaltes der letzten Quotation für ein der gewaehlten in "Markt Durchsicht" Symbole. Im Bearbeiter OnTick() gibt diese Funktion die Zeit des erhaltenen verarbeiteten Ticks. In anderen Faellen (zB, Aufruf in Bearbeitern OnInit(), OnDeinit(), OnTimer()usw) das ist – Zeit des Erhaltes der letzten Quotation für jedes Symbol, das in "Markt Durchsicht " zugaenglich ist, dieselbe Zeit, die im Titel dieses Fensters gezeigt wird. Zeitwert wird auf dem Handelsserver gebildet und hängt von Zeiteinstellungen im Benutzercomputer nicht. Es gibt zwei Varianten der Funktion.  


hoffe Du willst mir jetzt nicht erklären, das diese eigenartigen Sätze etwas mit Deutsch zu tun haben. Leider ist es im Englischen auch nicht viel besser.


Wenn Metaquotes schon versucht, die Leute zum umstieg auf MT5 zu bewegen, dann wären brauchbare Mods mal ein erster Anfang.

 


hoffe Du willst mir jetzt nicht erklären, das diese eigenartigen Sätze etwas mit Deutsch zu tun haben. Leider ist es im Englischen auch nicht viel besser.


Da muss ich amando zustimmen ! 

Sie kapieren einfach nicht das eine eindeutige und klare Dokumentation in allen technischen Fachrichtungen unabdingbar ist.

Ständig werden neue Broker akquiriert und pompös zu Text gebracht aber mal an einfachen grundsätzlichem Wichtigem passiert nichts.

Für die Hauptzielgruppe "Wasser und Brot Kunden" ist der Einstieg sehr schwer.

Grund der Beschwerde: