Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 573
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
Hallo! Können Sie mir sagen, wie ich meinem Expert Advisor beibringen kann, Fraktale zu erkennen?
Ich würde gerne mehr Details erfahren. Es gibt viele verschiedene Indizes, die Fraktale zeichnen und finden können. Der Expert Advisor braucht sie nicht zu erkennen. Sie nehmen den Indikator und kopieren die Werte eines bestimmten Fraktals aus seinen Puffern. Nichts Kompliziertes, wenn man darauf achtet.
Guten Tag! Leute, gebt mir einen Rat zu diesem Thema: Im Strategy Tester öffnet der Exp Orders nach dem Algorithmus und dem Schema der Vergrößerung des Kanals der nachfolgenden Durchschnitte - man kann es im Bild sehen - jeder nachfolgende Durchschnitt wird in einem größeren Abstand vom vorherigen geöffnet (wie bei Ilan). Aber gleichzeitig produziert der Drucker solche Werte von Ausdrücken, dass die Mittelwertbildung nicht stattfinden sollte, weil die Bedingungen für ihre Öffnung nicht erfüllt sind 25 mehr als 2856, 2197, 1690. Wie kommt es zu diesem Zustand und wie werden überhaupt Positionen eröffnet? Ich habe beschlossen, alles mit Klammern zu umschließen, aber das hilft nicht.
Ein Test der Eröffnungspreise. Hier ist der Code und das Bild:
Hallo, können Sie mir sagen, wie ich dem Expert Advisor beibringen kann, Fraktale zu erkennen?
Siehe Navigator. Wenn es darum geht, dann ist es so.
Guten Tag! Leute, gebt mir einen Rat zu diesem Thema: Im Strategy Tester öffnet der Exp Orders nach dem Algorithmus und dem Schema der Vergrößerung des Kanals der nachfolgenden Durchschnitte - man kann es im Bild sehen - jeder nachfolgende Durchschnitt wird in einem größeren Abstand vom vorherigen geöffnet (wie bei Ilan). Aber gleichzeitig produziert der Drucker solche Werte von Ausdrücken, dass die Mittelwertbildung nicht stattfinden sollte, weil die Bedingungen für ihre Öffnung nicht erfüllt sind - 25 ist nicht mehr als 2856, 2197, 1690. Wie kommt es zu diesem Zustand und wie werden überhaupt Positionen eröffnet? Ich habe beschlossen, alles mit Klammern zu umschließen, aber das hilft nicht.
Ein Test der Eröffnungspreise. Hier ist der Code und das Bild:
So wie ich es verstehe, ist es unwahrscheinlich, dass man Ihnen das sagen kann, ohne den gesamten Code zu sehen und zu erfahren, wie er hier funktioniert. Alle in diesem Block verwendeten Funktionen sind nur Ihnen bekannt. Am besten ist es, alles nach und nach auszudrucken und die Ausgabe der Meldungen im Auge zu behalten.
Soweit ich weiß, kann Ihnen das niemand sagen, ohne den gesamten Code zu sehen und zu erfahren, wie er hier funktioniert. Alle in diesem Block verwendeten Funktionen sind nur Ihnen bekannt. Am besten drucken Sie alles nach und nach aus und beobachten die Ausgabe der Meldungen.
Alle Funktionen funktionieren ordnungsgemäß - es sind Funktionen von Kim I.V. "Nur nützliche Funktionen von Kim I.V." Aus dem Namen der Funktionen - ihr Zweck ist klar.
Ich habe es herausgefunden - alles funktioniert einwandfrei. Sie hätte gedruckt werden müssen, BEVOR die Position eröffnet wurde.
Die Mittelwertposition wurde gemäß dem Algorithmus geöffnet und die Funktion PriceOpenLastPos(Symbol(), OP_BUY, MN_L) gab den Wert der gerade geöffneten Position zurück, deshalb hatte ich Fragen.
Vielen Dank, hoz.
Roman, schön, dass es bei dir geklappt hat :) Und außerdem so schnell.
Im Grunde genommen hat mein Compiler wieder angefangen zu fluchen. Es gibt eine Bibliothek, die eine Klasse in ihr verwendet. Die Klasse wird natürlich in die Bibliothek aufgenommen:
#include <HOZ_Code\Classes\CLogging.mqh> CLogging logging;
Beim Kompilieren dieser Bibliothek, die die Klasse CLogging.mqh verwendet, flucht der Compiler wie folgt:
In der Klasse auf dieser Linie:
Was kann das alles bedeuten?
Hilfe!!!
In einem EA aus dem öffentlichen Forum habe ich ein 3-Balken-Muster an eine Handelseinstiegsbedingung angehängt.
Nach Optimierung und Tests (3,5 Jahre) habe ich zehn Fenster auf einem Demokonto mit individuellen Einstellungen in jedem installiert, die die Geschwindigkeit der Eule mindestens 1,5 Geschäfte pro Tag zur Verfügung gestellt. Die gleiche Geschwindigkeit ist auf 10 virtuellen Computern auf meinem Server gewährleistet - ein Fenster in jedem.
Eine Woche ist vergangen, ohne dass ein einziger Deal zustande gekommen wäre.
Was ist zu tun?
=========================
int GetSignal()
{
double LevelADX = iADX(NULL,TF_ADX,PeriodADX,4,MODE_MAIN,0);
double Delta_01_ADX =(iADX(NULL,TF_ADX,PeriodADX,4,MODE_MAIN,0)
- iADX(NULL,TF_ADX,PeriodADX,4,MODE_MAIN,2));
double mas,maf;
mas=iMA(NULL,TF_MA,Slow.period,0,Slow.metod,Slow.price,1);
maf=iMA(NULL,TF_MA,Fast.period,0,Fast.metod,Fast.Preis,1);
//------------------
double delta1,delta2;
delta1=NormalizeDouble((Close[1]-Close[2])/Point,5);
delta2=NormalizeDouble((Close[2]-Close[3])/Point,5);
double body3=NormalizeDouble((Open[3]-Close[3])/Point,5)
//------------------
int STsig=-1;
if(CrossLevel && Lines>0) {
int up,dw;
int up_l,dw_l;
for(jj=0;jj<8;jj++) {
if(ST[jj][0]<LevelDw) dw++; else{
if(ST[jj][0]>LevelUp) up++;
}
if(ST[jj][1]<LevelDw) dw_l++; else{
if(ST[jj][1]>LevelUp) up_l++;
}
}
if(up<=8-Lines && up_l>8-Lines) STsig=1;
if(dw<=8-Lines && dw_l>8-Lines) STsig=0;
}
if(STsig==-1 && BreakSweep) {
double big,small;
double big_l,small_l;
for(jj=0;jj<8;jj++) {
if(ST[jj][1]>big_l) big_l=ST[jj][1];
if(ST[jj][1]<small_l || small_l==0) small_l=ST[jj][1];
}
if(big_l-small_l<=Sweep && (small_l>=LevelUp || big_l<=LevelDw)) {
for(jj=0;jj<8;jj++) {
if(ST[jj][0]>big) big=ST[jj][0];
if(ST[jj][0]<small || small==0) small=ST[jj][0];
}
if(groß-klein>Sweep)
{
//--------------- meine Add-ons Volume [] und Open [] und Close [] ------------------------------
if(Close[1]>Close[2]&& Close[2]>Close[3]&& Close[3]<Open[3] && Close[2]>High[3]
&& body3>=Body3 && delta1>=Delta1 && delta2>Delta2 && big_l<=LevelDw && maf>mas)
STsig=0;
if(Close[1]<Close[2]&& Close[2]<Close[3]&& Close[3]>Open[3] && Close[2]<Low[3]
&& body3>=Body3 && delta1>=Delta1 && delta2>Delta2 && small_l>=LevelUp && maf<mas)
STsig=1;
}
}
}
if(Volumen[0]<2 && Volumen[1]>Volumen1 && Volumen[2]>Volumen2
&& Delta_01_ADX > DeltaADX && LevelADX < StopADX && STsig==0) return(OP_BUY);
if(Volumen[0]<2 && Volumen[1]>Volumen1 && Volumen[2]>Volumen2
&& Delta_01_ADX > DeltaADX && LevelADX < StopADX && STsig==1) return(OP_SELL);
return(-1)
}
=================================================
Vielen Dank im Voraus!