Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich teste nicht, ich erinnere die Entwickler daran. Die Praxis zeigt, dass sie nie überflüssig ist).
Was die Handelsrichtung betrifft, so wird sie in Forts immer von der Börse vorgegeben.
Der derzeit im Terminal verwendete Algorithmus ist dafür nicht geeignet - man muss die Informationen von der Börse übernehmen.
Ich teste nicht, ich erinnere die Entwickler daran. Die Praxis zeigt, dass sie nie überflüssig ist).
Über die Handelsrichtung - auf Festungen wird sie immer von der Börse vorgegeben.
Der Algorithmus, der jetzt im Terminal verwendet wird, ist dafür nicht geeignet - wir müssen unbedingt Informationen aus der Börse nehmen.
Es gibt gerade mehrere Themen über Copyticks (und mqltickinfo), die mit "waiting" enden.
Hier ist zum Beispiel ein weiteres Beispiel:
https://www.mql5.com/ru/forum/61607
Also wirklich: "Warten auf". :-)
Und jetzt, in der 1210er Version, wie macht sich CopyTicks()?
Und jetzt, im Build 1210, wie ist es mit CopyTicks()?
Es funktioniert fast. Keine Duplikate. Volumina gehen nicht verloren.
Aber die Richtung des Handels in Flaggen fehlt. Die Berechnung von Geld-/Briefkursen ist nicht sehr zuverlässig.
Die tatsächliche Struktur ist alt und weicht von der Beschreibung in der Hilfe ab. Ich verstehe also, dass es sich um ein Zwischenprodukt handelt. Wir warten also wie immer auf die nächste Ausgabe))
Es funktioniert fast. Keine Duplikate. Es fehlen keine Bände.
Aber die Richtung des Handels in Flaggen fehlt. Die Berechnung von Geld-/Briefkursen ist nicht sehr zuverlässig.
Die tatsächliche Struktur ist alt und unterscheidet sich von der in der Hilfe beschriebenen. Ich verstehe also, dass es sich um ein Zwischenprodukt handelt. Wir warten also wie immer auf die nächste Ausgabe))
Forum zum Thema Handel, automatische Handelssysteme und Testen von Handelsstrategien
MqlTick
zimbabve15, 2016.02.03 06:15
Broker "Opening"-Tool ED-3.16 linke Tabelle - Tickdaten werden vom Indikator in OnCalculate-Prozedur über SymbolInfoTick-Anfrage geschrieben, rechte Tabelle - über CopyTicks. Struktur von beidem: Zeit, Bid, Ask, Flipper, Volumen, time_msec, Flag.
Warum haben die gleichen Zecken unterschiedliche Lautstärken und Flaggen?
Wenn wir Rohdaten vom Broker mit Null-Flags durch SymbolInfoTick erhalten, dann sieht es so aus, als ob das Terminal den eingehenden Tick verarbeitet und ihm eine Flagge basierend auf dem Vergleich mit dem vorherigen Tick zuweist? Was tun mit den Mengen? Der Unterschied ist signifikant.
Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests
MqlTick
zimbabve15, 2016.02.03 06:39
FiboFroup broker linke Tick-Tabelleüber SymbolInfoTick , rechte Tabelle über CopyTicks. Struktur von beidem: Zeit, Bid, Ask, Strike, Volumen, time_msec, Flag.
Die Flaggen sind unterschiedlich, da die Geld- und Briefwerte in denselben Ticks auf unterschiedliche Weise geschrieben werden.
CopyTicks
//////////////////////////////////////////////////////////////////////////////////////////////////////////
MqlTick tick_array[];
int OnInit()}
void SaveTicksToFile(MqlTick &massiveTicks[])
{
string filename,file_buffer;
StringConcatenate(Dateiname,Symbol(),".txt");
int file_handle=FileOpen(Dateiname,FILE_READ|FILE_WRITE|FILE_ANSI|FILE_SHARE_READ);
FileSeek(file_handle,0,SEEK_END);
int sizeMassiveTicks=ArraySize(massiveTicks);
int i=0;
while(i<sizeMassiveTicks)
{
StringConcatenate(file_buffer,TimeToString(massiveTicks[i].time,TIME_DATE|TIME_SECONDS)," ",DoubleToString(massiveTicks[i].bid,_Digits)," ",DoubleToString(massiveTicks[i].ask,_Digits)," ",DoubleToString(massiveTicks[i].last,_Digits)," ",IntegerToString(massiveTicks[i].volume,_Digits)," ",IntegerToString(massiveTicks[i].time_msc)," ",IntegerToString(massiveTicks[i].flags,_Digits));
FileWrite(file_handle,file_buffer);
i++;
}
FileClose(file_handle);
}
SymbolInfoTick
////////////////////////////////////////////////////////////////////////
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &Volumen[],
const int &spread[])
{
MqlTick last_tick;
SymbolInfoTick(Symbol(),last_tick);
TickStruct tick={0,0,0,0,0,0,0};
tick.time=TimeCurrent();
tick.bid=last_tick.bid;
tick.ask=last_tick.ask;
tick.flag=last_tick.flags;
tick.last=last_tick.last;
tick.time_msc=last_tick.time_msc;
tick.volume=last_tick.volume;
int total=ArraySize(g_ticks);
if(ArrayResize(g_ticks,total+1,1000)<0)
{
Alert(": der Indikator hat nicht genug Speicherplatz, um die nächsten Tickdaten zu speichern;)
}
sonst
{
g_ticks[total]=tick;
UpTick[rates_total-1]=total;
}
if(gesamt>999)
{
SaveTempTicks();
ArrayFree(g_ticks);
}
return(rates_total);
}
void SaveTempTicks()
{
// Erstellung der Tick-History-Datei
int hTicksFile=FileOpen(Symbol()+"fullTicks.tks",FILE_BIN|FILE_READ|FILE_WRITE|FILE_SHARE_READ|FILE_SHARE_WRITE);
if(hTicksFile<1)
Rückkehr;
FileSeek(hTicksFile,0,SEEK_END);
// Datensatz
int total=ArraySize(g_ticks),i=0;
while(i<Gesamt)
{
if(FileWriteStruct(hTicksFile,g_ticks[i])==0)
{
Print("Das Speichern von Daten in einer temporären Datei ist fehlgeschlagen...");
Rückkehr;
}
i++;
}
FileClose(hTicksFile);
}