BrainSystem: Entwicklung von Handelssystemen und Trades - Seite 15

 
jpsdyb:
Ich habe 1 Minute 0 Sekunden bis zum Ende des Balkens festgestellt.

Was verwenden Sie, um diese Informationen zu zeigen??

Vielen Dank!

nichts, es ist nur ein Indikator, der die verbleibende Zeit zu bar close.here ist die indicatore Sie es verwenden können.some von Strategien wie woodi's CCI verwenden verbleibende Zeit zu bar close für die Eröffnung einer Bestellung.

Ok?

Dateien:
 

Kamyar, vielen Dank!!

Ich habe versucht, das Skript zu modifizieren, und der Kompilierungstest im Metaeditor ergab 0 Fehler und 0 Warnungen. Es funktioniert aber immer noch nicht, und ich bin verwirrt, warum. Ich weiß, um Alarme auf 1 zu ändern, aber es ist der Indikator selbst als das Problem. Er wird nicht korrekt geladen.

Danke

//+------------------------------------------------------------------+

//| BrainTrend2.mq4 |

//| www.forex-tsd.com |

//| Nick Bilak |

//+------------------------------------------------------------------+

#property copyright "BrainTrading Inc."

#property link "www.forex-tsd.com"

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Blue

#property indicator_color2 Red

//---- input parameters

extern int NumBars=500;

extern int EnableAlerts=0;

extern int SignalID=0;

//---- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double spread;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators

SetIndexStyle(0,DRAW_ARROW);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexArrow(0,233);

SetIndexStyle(1,DRAW_ARROW);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexArrow(1,234);

spread=MarketInfo(Symbol(),MODE_SPREAD)*Point;

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custor indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start() {

int counted_bars=IndicatorCounted();

//----

int artp=7;

double dartp=7.0;

double cecf=0.7;

int satb=0;

int Shift=0;

bool river=True;

double Emaxtra=0;

double widcha=0;

double TR=0;

double Values[100];

int glava=0;

double ATR=0;

int J=0;

double Weight=0;

double r=0;

double r1=0;

int p=0;

int Curr=0;

double Range1=0;

double s=2;

double f=10;

double val1=0;

double val2=0;

double h11=0;

double h12=0;

double h13=0;

double const=0;

double orig=0;

double st=0;

double h2=0;

double h1=0;

double h10=0;

double sxs=0;

double sms=0;

double temp=0;

double h5=0;

double r1s=0;

double r2s=0;

double r3s=0;

double r4s=0;

double pt=0;

double pts=0;

double r2=0;

double r3=0;

double r4=0;

double tt=0;

double tsig=0;

if( Bars < NumBars) satb = Bars; else satb = NumBars;

if( Close[satb - 2] > Close[satb - 1]) river = True; else river = False;

Emaxtra = Close[satb - 2];

Shift=satb-3;

while(Shift>=0) {

TR = spread+ High[Shift] - Low[Shift];

if( MathAbs(spread+ High[Shift] - Close[Shift + 1]) > TR ) TR = MathAbs(spread+ High[Shift] - Close[Shift + 1]);

if( MathAbs(Low[Shift] - Close[Shift + 1]) > TR) TR = MathAbs(Low[Shift] - Close[Shift + 1]);

if (Shift == satb - 3 ) {

for(J=0;Shift<=artp-1;J++) {

Values[J] = TR;

}

}

Values[glava] = TR;

ATR = 0;

Weight = artp;

Curr = glava;

for (J = 0;J<=artp - 1;J++) {

ATR += Values[Curr] * Weight;

Weight -= 1.0;

Curr--;

if (Curr == -1) Curr = artp - 1;

}

ATR = 2.0 * ATR / (dartp * (dartp + 1.0));

glava++;

if (glava == artp) glava = 0;

widcha = cecf * ATR;

if (river && Low[Shift] < Emaxtra - widcha) {

river = False;

Emaxtra = spread+ High[Shift];

}

if (!river && spread+ High[Shift] > Emaxtra + widcha) {

river = True;

Emaxtra = Low[Shift];

}

if (river && Low[Shift] > Emaxtra) {

Emaxtra = Low[Shift];

}

if (!river && spread+ High[Shift] < Emaxtra ) {

Emaxtra = spread+ High[Shift];

}

Range1 = iATR(NULL,0,10,Shift);

val1 = 0;

val2 = 0;

if (river) {

if (p != 1) r1 = Low[Shift] - Range1 * s / 3.0;

if (p == 1) r1 = -1.0;

if (r1 > 0) {

val1 = r1;

val2 = 0;

} else {

val1 = 0;

val2 = 0;

}

ExtMapBuffer1[Shift]=val1;

p = 1;

} else {

if (p != 2) r1 = spread+ High[Shift] + Range1 * s / 3.0;

if (p == 2) r1 = -1.0;

if (r1 > 0) {

val1 = 0;

val2 = r1;

} else {

val1 = 0;

val2 = 0;

}

ExtMapBuffer2[Shift]=val2;

p = 2;

Shift--;

}

}

if (EnableAlerts == 1)

{

if (val1 > 0 && tsig != 1)

{

tsig = 1;

// a1 = FileOpen("alert1" + SignalID,";");

Alert("BrainTrend2Sig", "Sell " ,Symbol() ," at ", Close[0] , " S/L " , val1 , " BT1 M" ,Period());

//a1=FileOpen("alert1"+ SignalID,FILE_CSV|FILE_WRITE,';');

// FileWrite(a1,"Sell " ,Symbol() ," at ", Close[0] , " S/L " , val1 , " BT1 M" ,Period());

// FileClose(a1);

}

if (val2 > 0 && tsig != 2)

{

tsig = 2;

Alert("BrainTrend2Sig", "Buy " , Symbol() , " at " ,Close[0] ," S/L " ,val2 ," BT1 M" , Period());

//a1 = FileOpen("alert1" + SignalID,";");

// a1=FileOpen("alert1"+ SignalID,FILE_CSV|FILE_WRITE,';');

// FileWrite(a1,"Buy " , Symbol() , " at " ,Close[0] ," S/L " ,val2 ," BT1 M" , Period());

//FileClose(a1);

}

}

//----

return(0);

}

//+------------------------------------------------------------------+
 

Ich habe immer noch die Hoffnung, dass wir EA für dieses System für Alarm, Bestätigung und für alles (nicht für den Handel) haben werden. In diesem Fall wird es sehr einfach sein, mit diesem System zu handeln. Ich denke, wir werden es bald haben.

Aber jetzt denke ich darüber nach, wie man dieses System ohne M15-Bestätigung und auf Zeitrahmen kleiner als H1 verwenden kann.

Im Moment schaue ich mir die M30-Charts an und hoffe, dass es funktionieren wird.

Auf jeden Fall werde ich ab morgen einen Vorwärtstest durchführen. Aber ich denke, dass es notwendig sein wird, einige Regeln für diese Handelsstrategie zu ändern.

Dateien:
1_23.gif  30 kb
2_16.gif  31 kb
3_6.gif  32 kb
4_4.gif  30 kb
 

Bitte finden Sie die Indikatoren und Vorlage, die ich auswerten möchte.

Ich hoffe immer noch, einige Regeln für dieses System Handel auf M15 oder M30 Zeitrahmen zu finden.

Dateien:
indicators.zip  16 kb
bt7_m30.zip  4 kb
 

Na ja.

Ich möchte nur sehen, wie es funktioniert.

Die Regeln #1.

Geben Sie auf BT1sig und BT2 sig. Es sollte nicht auf dem gleichen bar vor allem sein. Und es sollte durch SAR und I-XO Indikator bestätigt werden. Wir können noch einen Balken nach dem Signal auf die Bestätigung von I-XO warten. BT1sig und BT2sig sollten von SAR auf denselben Balken wie die Signale bestätigt werden. Wenn wir zum Beispiel ein Kaufsignal von BT1sig haben, suchen wir nach dem SAR. Wenn es sich um einen Aufwärtstrend handelt und der SAR auf demselben Balken wie das Signal liegt, warten wir auf BT2sig (zum Beispiel). Das zweite Signal sollte ebenfalls vom SAR bestätigt werden. Wenn alles in Ordnung ist, warten wir auf die Bestätigung durch I-XO (nicht mehr als 1 Bar nach dem letzten Signal). Das ist der schwierigste Fall. Wenn wir natürlich alles haben (zwei Signale und zwei Bestätigungen auf demselben Balken), ist es perfekt.

Wir berücksichtigen nur die vollen Balken.

Den schwierigsten Fall habe ich bereits beschrieben und Sie können ihn auf dem Bild 1 sehen.

Der Ausstieg ist bei SAR sehr einfach (Bild 2).

Es ist eine sehr einfache und flexible Regel.

Warum Regel 1?

Weil ich nicht sicher bin, dass wir diese Regeln endgültig haben werden. Jeder kann eine andere Regel vorschlagen, oder ich kann diese Regel ändern.

Dateien:
2_17.gif  28 kb
1_24.gif  28 kb
 

Ab Freitagmorgen sollten wir folgendes haben:

EURUSD.

Kauf 1,2127 um 19:30 (20/01) und Ausstieg 1,2233 um 06:30 (23/01): +106 p.

Kauf von 1,2259 um 10:30 Uhr (23/01) und Ausstieg bei 1,2285 (der Auftrag kann noch offen sein): +26 p.

USDCHF.

Verkaufen 1,2820 um 14:30 Uhr (20/01) und Ausstieg 1,2666 um 07:30 Uhr (23/01): +154 p.

Verkaufen 1.2628 um 10:30 (23/01) und Ausstieg 1.2233 (Auftrag kann noch offen sein): +54 p.

GBPUSD.

Kauf 1,7583 um 10:30 Uhr (20/01) und Ausstieg 1,7794 um 05:00 Uhr (23/01): +214 p.

Verkauf von 1,7763 um 08:30 Uhr (23/01) und Ausstieg bei 1,7798 um 10:30 Uhr (23/01): -35 P.

Kauf von 1,7798 um 10:30 Uhr (23/01) und Ausstieg bei 1,7866 (der Auftrag kann noch offen sein): +68 p.

USDJPY.

Kauf 155,32 um 16:30 Uhr (20/01) und Ausstieg 155,14 um 00:00 Uhr (23/01): -18 P.

Verkauf von 114,79 um 02:00 Uhr (23/01) und Ausstieg bei 114,78 um 10:00 Uhr (23/01): +1 p.

Verkauf von 114,30 um 10.30 Uhr (23.01.) und Ausstieg bei 114,62 um 16.00 Uhr (23.01.): -32 P.

538 P. insgesamt.

Ich denke, diese Regel #1 ist zu flexibel.

Das mag sein.

 

Ich wäre sehr froh, wenn jemand eine andere Regel (mit anderen möglichen Indikatoren, falls vorhanden) vorschlagen würde. Aber ich denke, die Regeln sollten realistisch sein. Zum Beispiel zählte ich den Gewinn auf historische Daten (das ist nicht gut, natürlich, weil es vorwärts testen sein sollte), aber ich zählte es als ein Roboter (als EA zum Beispiel) vollständig nach den Regeln. Ich habe historische Daten verwendet, nur um sicher zu sein, dass es funktioniert.

 

Hallo newdigital

vielen Dank für Ihre Bemühungen. Ich habe einige Fragen

1.was ist der stochastische Indikator Pflicht in Ihrem System?

2.wir sollten bt1signal zuerst erhalten und das bt2signal dann oder es kann in jeder Art sein?

3.was ist genau die gefüllten Zonen.ich denke, Sie meinen, wir sollten nicht in den Zonen handeln.ok?

Danke

 

Sie erwähnt, dass die bt-Signale sollten nicht in der gleichen bar.as weit wie ich es sollten wir nicht den Handel in diesem case.would Sie beschrieben it.am ich richtig?

 
newdigital:
Ich werde sehr gut sein, wenn jemand eine andere Regeln schätzen (mit anderen möglichen Indikator, wenn überhaupt). Aber ich denke, die Regeln sollten realistisch sein. Zum Beispiel zählte ich den Gewinn auf historischen Daten (das ist natürlich nicht gut, weil es sollte vorwärts testen), aber ich zählte es als ein Roboter (als EA zum Beispiel) vollständig nach den Regeln. Ich habe historische Daten verwendet, nur um sicher zu sein, dass es funktioniert.

Ich teste gerade eine neue Strategie auf Eur/Usd 1HR mit Braintrend2, Stochastics und 2 LSMA-Farbindikatoren. So weit gehen durch die Geschichte Charts, die Ergebnisse scheinen ziemlich lohnend. Die Regeln sind ziemlich einfach zu bedienen. Wenn ich nur BraintrendSig2 mit Alarmen hätte, könnte ich häufigere Tests durchführen. Ich werde die Strategie weiter testen und die Ergebnisse bald veröffentlichen.

Grund der Beschwerde: