MT4-Tester gibt keine Informationen aus anderen Zeitrahmen - Seite 3

 
sak120 03.04.2010 16:52

Die Daten aus allen Zeitrahmen werden im Tester korrekt modelliert (im Simulationsmodus auf allen Ticks).

Ich weiß nicht, wie ich das Problem richtig lösen kann. Ich mache Folgendes: Ich stelle den Testzeitpunkt sehr weit weg, zum Beispiel ins Jahr 2000. Ich schreibe in den Expert Advisor

extern datetime test_start=D'2010.01.01 00:00';

int start()
{
if (Time[0]<test_start) return(0);


......

}
Befestigen Sie diese Induktion in Ihrem Prüfgerät auf TF!=1.
Vielleicht habe nur ich Probleme?
Wie auch immer... aber meine Minuten geben die aktuellen aus.
:(
Dateien:
invert.mq4  4 kb
 
avatara >>:

Моделировать бары.

Soweit ist klar, dass zur Überprüfung außerdem die Optimierung des Expert Advisors durchzuführen ist, in dem es eine Referenz auf die (benachbarten)
TFs ist nicht möglich.
Modellierung - als eine Variante ist es realistisch, eine Funktion zu schreiben, die die Daten der notwendigen Attribute in Arrays übernimmt
Die Funktion, bei der die Daten der benötigten Achsen übernommen und anstelle von nativen Funktionen an diese adressiert werden. Aber das ist eine Menge Aufwand, und wir müssen alle Verweise neu schreiben.
zu normalen Funktionen. Aber es sieht so aus, als gäbe es nur wenige Möglichkeiten....
Vielleicht hat schon jemand Ähnliches getan, ich bin nicht der Einzige, der sich daran stört. Vielleicht hat jemand solche Debugging-Module gefunden,
die TFs in ein Array aufnehmen würde und dann mit einem MINIMUM an Nacharbeit des echten Codes auf sie verweisen würde.

 
avatara писал(а) >>
sak120 03.04.2010 16:52
Befestigen Sie diese Induktion in Ihrem Prüfgerät auf TF!=1.
Vielleicht habe nur ich Probleme?
Wie auch immer..., aber ich bekomme die aktuellen Minuten.
:(

1. Sie haben dort einen Dateiauftrag - in Ihrem Prüfgerät befindet sich der Dateiauftrag in einem anderen Verzeichnis.

2. Wenn es zu Beginn nur 1000 Balken gibt, werden nicht alle Indikatoren im allerersten Moment richtig gezählt, sammeln Sie genügend Historie.

3. Alle Zeitrahmen werden korrekt generiert.
 
vladv002 >>:

Пока ясно что проверить тем более провести оптимизацию эксперта в коем есть обращение к (соседним)
ТФ нет никакой возможности.
Моделировать - как вариант для частого случая реально, написать функцию в которой в массивы забрать данные
нужных ТФ и к ним обращаться а не к родным функциям. Только много возни, потом переписывать все обращения
к нормальным фукциям. Но похоже вариантов немного....
Возможно уже ктото подобное делал, не меня же одного это достает. Может кто встречал подобные отладочные модули,
где бы ТФ забирались в массив и потом к ним оьращатся с МИНИМУМОМ переделок реального кода.

ist der beste Weg. Und dann muss man nicht mehr zu dem zurückkehren, was man gewohnt ist.

Sind Sie z. B. sicher, dass alle TFs Zeit haben, sich zu aktualisieren, wenn ein neuer Tick oder ein Minutenwechsel mit dem Beginn der vollen Stunde zusammenfällt?

Es wird also als schief angesehen, wenn Sie iTime nicht verglichen haben.

Und wenn Sie glauben, dass sie bereits aktualisiert wurden, irren Sie sich gewaltig.

 
sak120 >>:

1. У вас там работа с файлами - в тестере работа с файлами происходит в другой директории.

2. Если есть всего 1000 баров в самом начале, то не все индикаторы считаются правильно в самый первый момент, накопите достаточно истории.

3. Все таймфремы генерируются корректно.

3 Zaubersprüche, die ich schon mal gehört habe. Das glaube ich nicht. Siehe den Beitrag oben.

1-2 ist allgemein bekannt. Sprechen Sie das Thema nicht an.

 
avatara писал(а) >>

3 Zaubersprüche, die ich schon mal gehört habe. Das glaube ich nicht. Siehe den Beitrag oben.

1-2 ist allgemein bekannt. Sprechen Sie das Thema nicht an.



Ich zähle gut.
 
avatara >>:
sak120 03.04.2010 16:52
прикрепите пожа этот индюк у себя в тестере на ТФ!=1.
Может это только у меня глюки?
Любым способом..., но минутки у меня выдает текущие.
:(


Eine realistische Idee, ich werde es versuchen, aber ich fürchte, dass selbst mein Computer mit 4gb RAM bei so häufigem Zugriff langsam sein wird.
Ich werde es versuchen, aber ich denke, es wird origineller sein, wenn ich ein Array verwende.
Danke für die gute Idee, ich werde den von Ihnen vorgeschlagenen Code ausprobieren und mich über das Ergebnis informieren.

 
d.h. nicht.
1 --0M1 2008.12.11-19^45^0 1.3488 ?
Was ist das wert? 1,3488 ist der letzte aktuelle Balken, den ich habe.
Kann ich ein Fragment der Datei sehen?
 
vladv002 >>:

Реальная мысль, буду пробовать, боюсь что даже мой комп с 4гб оперативы будет тормозить при таком частом обращении
к файлам, хотя надо проверить, но думаю в массив будет оригинальней.
Спасибо за дельную мысль, попробую Вами предложенный код, результат сообщу.


Einfach nur Print in the batter funktioniert nicht, daher das Debugging in eine Datei.

 
versuchen Sie, die Funktion ArrayCopyRates zu verwenden,
double arr1[][6];

int init()
  {
   ArrayCopyRates(arr1,Symbol(), tf); // tf - необходимый таймфрейм
   return(0);
  }

bzw. anstelle von iClose(Symbol(),tf,0) sollten Sie arr1[0][4] schreiben, - das funktioniert einwandfrei und vor allem viel schneller, da nicht kopiert, sondern nur umgeleitet wird.
Grund der Beschwerde: