Gogetter EA - Seite 4

 

Vorabtest-Ergebnisse von fast einer Woche

einige Berichte...

dies ist von der Ausführung von GGL 1.05 und GGS 2.21 seit letztem Freitag....

Ich finde es eigentlich ermutigend, wenn man bedenkt, dass es seit mehr als einem Tag keine Trendbewegungen mehr gibt. Wenn er sich unter diesen Bedingungen durchwursteln und die Gewinnschwelle erreichen kann, dann braucht er nur noch einen Ausbruch von irgendeinem Grad und er ist profitabel.

Ich untersuche derzeit, wie man Unterstützung und Widerstand in die Logik einbauen kann, um die Rentabilität zu erhöhen und das Risiko-Ertrags-Verhältnis zu verringern.

Ich sehe viel Raum für Verbesserungen, da ich beobachtet habe, wie es funktioniert. Es war schwer, die Finger davon zu lassen, wenn es Gewinne gab, die es nach einem Anstieg nicht mitnahm und stattdessen wieder auf einen Kursrückgang folgte. Es ist verlassen Geld auf dem Tisch noch....

Das ist in Ordnung, es gibt mir die Möglichkeit, darüber nachzudenken, wie ich es zumindest malen eine Art von Kontext, dass ich auf dem Markt zu verstehen, und schließlich denke ich, ich werde meinen Weg tiefer in die Höhen und Tiefen der Preis-Aktion zu wurmen.

Mir gefällt die Möglichkeit, die Einstellungen jedes Signals an die spezifischen Bedingungen anzupassen, unter denen das Signal generiert wird, anstatt zu erwarten, dass eine Größe für alle passt.

Ich begrüße Ideen, wie man Unterstützung und Widerstand in die Logik des Ein- und Ausstiegs einbeziehen kann.

die .gif der Signalplatzierungen ist mir nur Zeichnung einige Linien von einem 145 bar höchsten hoch zu wo Verkaufssignale auf der GGShorts auftreten. Ich schaue mir an, welche Signalanatomie am wahrscheinlichsten lohnend ist...

Ich stelle fest, dass das erste Verkaufssignal nach einem neuen Höchststand ausnahmslos nie sehr weit geht. Danach bewegt sich das zweite Signal mehr und danach steigen die Chancen auf einen großen Ausverkauf.

Alles, was ich tun muss, ist, die Signale zu eliminieren oder darauf abzustimmen, an welcher Stelle sie auftreten, um die Verluste zu minimieren und die Gewinne um ein gewisses Maß zu erhöhen, und das wird die Gesamtrentabilität verbessern. Das ist mein Plan... Es sollte irgendwo ein Schild stehen, auf dem steht: "Warnung Nerd will bei der Arbeit sein".

 

mein Ziel ist es, das erste Verkaufssignal nach einem neuen Höchststand zu differenzieren und eine Reihe von Signaleinstellungen dafür anzupassen, die nur beim ersten Verkaufssignal nach einem neuen Höchststand, der höher als der vorherige Höchststand ist, ausgeführt werden.

Das bedeutet, dass er gerade einen Aufwärtstrend durchlaufen hat und jetzt das erste Verkaufssignal auslöst. Das ist in der Regel ziemlich erbärmlich, wenn es um einen signifikanten Rücksetzer geht.

 

Hier ist der Code...

//support and resistance

double HIGH = High;

double LOW = Low[Lowest (NULL, 0, MODE_LOW, SupportBarsBack, LStartBack)];

//

//

//----locates the relationship of the sell signal to the highest high and in relationship to other sell signals within specified period-----

int h, j=-1;

for(h=1;h<=ResistanceBarsBack;h++)

{

if(HIGH == High) j=h;// j=# of bars back from signal that the Highest high occurred

}

int l, k=-1;

for(l=1;l<=SupportBarsBack;l++)

{

if(LOW == Low[l]) k=l;// k=# of bars back from signal that the Lowest low occurred

}

//+----------end signal placement locator-------------------------+

//

//

Print("Order Number: ",OrderTicket() ," ",ResistanceBarsBack," bars back resistance:",HIGH," @ bar",j," & ",SupportBarsBack," bars back support:",LOW," @ bar",k);

Dies druckt erfolgreich die Variablen "HIGH" und "LOW" aus, die das höchste Hoch und das niedrigste Tief jeder Handelsserie darstellen.

Ich muss ein Array mit diesen Werten von HIGH und LOW für jede ausgeführte Handel sserie auffüllen.

 

GGS 2.21x

Ich freue mich, heute berichten zu können, dass das System nach einer Woche die Gewinnschwelle erreicht hat und nun einen kleinen Gewinn erzielt. Das basiert darauf, dass es so läuft, wie es ist.

Während es in der Testphase war, habe ich weiter an ihm gearbeitet. Ich habe mich darauf konzentriert, Unterstützung und Widerstand auf produktive Weise in die Logik des Systems einzubauen. Dabei bin ich, glaube ich, auf etwas noch viel Nützlicheres gestoßen.

Ich habe einen weiteren Freund, der Programmierer ist, namens Robert C., und gemeinsam haben wir begonnen, eine Methode zur Rückmeldung des Handelsprofils zu entwickeln, die die Werte oder das Profil eines Handels ausgibt, wenn er eröffnet wird. Das könnte sich theoretisch als sehr nützlich erweisen. Wenn ich ein unterscheidbares Profil von Gewinnern und Verlierern erstellen kann, sollte ich in der Lage sein, sie anzuvisieren und den Abwärtstrend zu vermeiden und den Aufwärtstrend zu maximieren, zumindest bis zu einem gewissen Grad.

Dies nenne ich den Röntgenversuch. Denn es ist so, als würde ein Arzt vor einer Operation ein Bild machen. Daher auch das "x" in der aktualisierten Version des EA. Es ist kein Röntgenbild, weil es noch nicht vollständig entwickelt ist, sondern gerade erst anfängt, entwickelt zu werden. Die Idee ist, dass, wenn ich verfolgen kann und drucken Sie Unterstützung und Widerstand Werte in der Tester-Journal dann sollte ich in der Lage sein, in ähnlicher Weise zurück in der Tester-Journal jeder andere Indikator und Aspekt des Handels die Schaffung eines Profils Bild davon, die ich dann für die Filterung Aufträge, bevor sie Platz.

Ich musste die "Kommentar"-Zeile im Tester-Fenster deaktivieren, um diese anderen Druckzeilen zum Funktionieren zu bringen, da sonst das einzige, was das Tester-Journal meldete, der Kommentar war, wie wiederholt.

Im Anhang finden Sie den aktuellen Vorwärtstest und die x-Version von GGs, an der ich gerade arbeite.

Ich bin ermutigt durch das, was in dieser Woche passiert ist, und ich bin weiterhin dankbar für alle Ermutigungen, die ich in diesem Forum und anderswo erhalte.

 

Ich versteh das nicht...

Warum schließt der Prüfer den Handel nicht ab?

Dateien:
 

eine weitere Instanz des Testers, die nicht ausgeführt wird

Dateien:
 

Ok... Sie verwenden GBPUSD und sagen, der Spread beträgt 3 Pips.

Jetzt ist Ihr TP für einen Short-Handel 1,9165.

Das Tief lag bei 1,9163, wie aus dem Chart ersichtlich. Da es sich bei den Chartdaten in der Regel um die Geldkurse handelt, liegt der Briefkurs für diesen Kurs bei 1,9166. Der Ask hat 1,9165 nie berührt, also wurde Ihr TP nicht ausgeführt.

Ich hoffe, das macht Sinn.

 

Oh ok, das macht Sinn... ich vergaß den Spread...

Hier ist ein weiteres Problem, das ich habe...

es soll ein Array mit den "HIGH" und "LOW" jeder Order erstellt werden....

dann soll es prüfen, ob das aktuelle HIGH und/oder LOW mit einem der vorherigen Aufträge übereinstimmt....

if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

IsTrade = False;//---allows multiple orders to open

if(!IsTrade) {

//Check free margin

/*if (AccountFreeMargin() < (1000 * Lots)) {

Print("We have no money. Free Margin = ", AccountFreeMargin());

return(0);

}*/

//+-----------------support and resistance arrays------thanks to Robert C for assistance on this-------+

//+-------creates array of each trade series support and resistance for comparisions-------------------+

if ( SLIndex >= SLSIZE )

{

SLIndex = 0;

}

sLocatorLows[ SLIndex ] = LOW;

sLocatorHighs[ SLIndex ] = HIGH;

SLIndex++;

//+-----------------------end of support resistance array creation------------------------------------+

//+-------------------signal matching-------------thanks to Robert C for assistance on this-------------+

//checks for matches with the current signal's sup/res and previous trades sup/res

int lowMatches = 0;

int highMatches = 0;

for(int p = 0; p <= SLSIZE; p++ )

{ Print("index value:",sLocatorLows[p]," Low is:",LOW);

if ( sLocatorLows[p] == LOW )

{

lowMatches++;

//Print("index value:",sLocatorLows[p]," Low is:",LOW);

}

// Print("index value:",sLocatorHighs[p]," High is:",HIGH);

if ( sLocatorHighs[p] == HIGH )

{

highMatches++;

}

}

//+----------------end of signal matching--------------------------------------------------------------+

if(highMatches == 0){

TradeSignal = 99;

}

if(highMatches == 1 && lowMatches ==1){

TradeSignal = 5;

}

//SRfilter();

TradeSettings();

if (StopLossMode) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;

if (TakeProfitMode) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0;

for (int o = 0; o <= MaxOpenTrade; o ++)

if(CountTrades() < MaxOpenTrade)

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", MagicNumber, 0, DeepPink);

if(Ticket > 0) {

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {

//Print("SELL order opened ticket number: ",OrderTicket()," for ", OrderOpenPrice());

Print("Order Number: ",OrderTicket() ," ",ResistanceBarsBack," bars back resistance:",HIGH," @ bar",j," with ",highMatches," prev.matches");

Print("Order Number: ",OrderTicket() ," ",SupportBarsBack," bars back support:",LOW," @ bar",k," with ",lowMatches," prev.matches");

[/PHP]

This is what I get from the print output in the journal...

[PHP]2006.07.22 09:08:14 2005.03.04 07:11 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:14 2005.03.04 07:11 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:14 2005.03.04 07:11 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:13 2005.03.03 22:47 GoGetShorts-2.21x GBPUSD,M30: index value:0 Low is:1.9056

2006.07.22 09:08:13 2005.03.03 22:47 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:13 2005.03.03 22:47 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:13 2005.03.03 22:47 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:13 2005.03.03 22:47 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:13 2005.03.03 22:47 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:13 2005.03.03 22:47 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:13 2005.03.03 22:47 GoGetShorts-2.21x GBPUSD,M30: index value:1.9056 Low is:1.9056

2006.07.22 09:08:12 2005.03.03 16:12 GoGetShorts-2.21x GBPUSD,M30: index value:1.9057 Low is:1.9057

2006.07.22 09:08:12 2005.03.03 16:12 GoGetShorts-2.21x GBPUSD,M30: index value:1.9057 Low is:1.9057

2006.07.22 09:08:12 2005.03.03 16:12 GoGetShorts-2.21x GBPUSD,M30: index value:1.9057 Low is:1.9057

2006.07.22 09:08:12 2005.03.03 16:12 GoGetShorts-2.21x GBPUSD,M30: index value:1.9057 Low is:1.9057

2006.07.22 09:08:12 2005.03.03 16:12 GoGetShorts-2.21x GBPUSD,M30: index value:1.9057 Low is:1.9057

2006.07.22 09:08:12 2005.03.03 16:12 GoGetShorts-2.21x GBPUSD,M30: index value:1.9057 Low is:1.9057

2006.07.22 09:08:12 2005.03.03 16:12 GoGetShorts-2.21x GBPUSD,M30: index value:1.9057 Low is:1.9057

2006.07.22 09:08:12 2005.03.03 16:12 GoGetShorts-2.21x GBPUSD,M30: index value:1.9057 Low is:1.9057

2006.07.22 09:08:11 2005.03.03 12:51 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:11 2005.03.03 12:51 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:11 2005.03.03 12:51 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:11 2005.03.03 12:51 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:11 2005.03.03 12:51 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:11 2005.03.03 12:51 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:11 2005.03.03 12:51 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:11 2005.03.03 12:51 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:10 2005.03.03 07:55 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:10 2005.03.03 07:55 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:10 2005.03.03 07:55 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:10 2005.03.03 07:55 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:10 2005.03.03 07:55 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:10 2005.03.03 07:55 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:10 2005.03.03 07:55 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:10 2005.03.03 07:55 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:09 2005.03.03 01:16 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:09 2005.03.03 01:16 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:09 2005.03.03 01:16 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:09 2005.03.03 01:16 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:09 2005.03.03 01:16 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:09 2005.03.03 01:16 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:09 2005.03.03 01:16 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:09 2005.03.03 01:16 GoGetShorts-2.21x GBPUSD,M30: index value:1.908 Low is:1.908

2006.07.22 09:08:05 GoGetShorts-2.21x GBPUSD,M30: loaded successfully

 

Dies ist der Fall, wenn sie Aufträge erteilt:

2006.07.22 09:00:22 2005.03.14 06:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 12 145 bars back support:1.9163 @ bar40 with 100 prev.matches

2006.07.22 09:00:22 2005.03.14 06:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 12 145 bars back resistance:1.9318 @ bar137 with 1 prev.matches

2006.07.22 09:00:22 2005.03.14 06:30 GoGetShorts-2.21x GBPUSD,M30: open #12 sell 0.05 GBPUSD at 1.9222 sl: 1.9269 tp: 1.9117 ok

2006.07.22 09:00:22 2005.03.14 06:30 GoGetShorts-2.21x GBPUSD,M30: open #11 sell 0.05 GBPUSD at 1.9222 sl: 1.9269 tp: 1.9117 ok

2006.07.22 09:00:21 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 10 145 bars back support:1.9126 @ bar125 with 2 prev.matches

2006.07.22 09:00:21 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 10 145 bars back resistance:1.9324 @ bar107 with 2 prev.matches

2006.07.22 09:00:21 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: open #10 sell 0.05 GBPUSD at 1.9220 sl: 1.9267 tp: 1.9115 ok

2006.07.22 09:00:21 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 9 145 bars back support:1.9126 @ bar125 with 1 prev.matches

2006.07.22 09:00:21 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 9 145 bars back resistance:1.9324 @ bar107 with 1 prev.matches

2006.07.22 09:00:21 2005.03.10 20:30 GoGetShorts-2.21x GBPUSD,M30: open #9 sell 0.01 GBPUSD at 1.9219 sl: 1.9269 tp: 1.9169 ok

2006.07.22 09:00:19 2005.03.07 15:50 GoGetShorts-2.21x GBPUSD,M30: Order Number: 8 145 bars back support:1.9053 @ bar60 with 100 prev.matches

2006.07.22 09:00:19 2005.03.07 15:50 GoGetShorts-2.21x GBPUSD,M30: Order Number: 8 145 bars back resistance:1.9271 @ bar44 with 100 prev.matches

2006.07.22 09:00:19 2005.03.07 15:50 GoGetShorts-2.21x GBPUSD,M30: open #8 sell 0.05 GBPUSD at 1.9152 sl: 1.9199 tp: 1.9047 ok

2006.07.22 09:00:19 2005.03.07 15:50 GoGetShorts-2.21x GBPUSD,M30: open #7 sell 0.05 GBPUSD at 1.9152 sl: 1.9199 tp: 1.9047 ok

2006.07.22 09:00:19 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 6 145 bars back support:1.9053 @ bar58 with 100 prev.matches

2006.07.22 09:00:19 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 6 145 bars back resistance:1.9271 @ bar42 with 1 prev.matches

2006.07.22 09:00:19 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: open #6 sell 0.05 GBPUSD at 1.9125 sl: 1.9172 tp: 1.9020 ok

2006.07.22 09:00:19 2005.03.07 14:30 GoGetShorts-2.21x GBPUSD,M30: open #5 sell 0.05 GBPUSD at 1.9125 sl: 1.9172 tp: 1.9020 ok

2006.07.22 09:00:19 2005.03.03 14:36 GoGetShorts-2.21x GBPUSD,M30: Order Number: 4 145 bars back support:1.9057 @ bar1 with 26 prev.matches

2006.07.22 09:00:19 2005.03.03 14:36 GoGetShorts-2.21x GBPUSD,M30: Order Number: 4 145 bars back resistance:1.9259 @ bar144 with 100 prev.matches

2006.07.22 09:00:19 2005.03.03 14:36 GoGetShorts-2.21x GBPUSD,M30: open #4 sell 0.05 GBPUSD at 1.9096 sl: 1.9143 tp: 1.8991 ok

2006.07.22 09:00:19 2005.03.03 14:28 GoGetShorts-2.21x GBPUSD,M30: Order Number: 3 145 bars back support:1.9062 @ bar2 with 100 prev.matches

2006.07.22 09:00:19 2005.03.03 14:28 GoGetShorts-2.21x GBPUSD,M30: Order Number: 3 145 bars back resistance:1.9259 @ bar143 with 100 prev.matches

2006.07.22 09:00:19 2005.03.03 14:28 GoGetShorts-2.21x GBPUSD,M30: open #3 sell 0.05 GBPUSD at 1.9057 sl: 1.9104 tp: 1.8952 ok

2006.07.22 09:00:19 2005.03.03 14:28 Tester: take profit #1 at 1.9067 (1.9057 / 1.9065)

2006.07.22 09:00:19 2005.03.02 16:50 GoGetShorts-2.21x GBPUSD,M30: Order Number: 2 145 bars back support:1.908 @ bar15 with 2 prev.matches

2006.07.22 09:00:19 2005.03.02 16:50 GoGetShorts-2.21x GBPUSD,M30: Order Number: 2 145 bars back resistance:1.9259 @ bar100 with 2 prev.matches

2006.07.22 09:00:19 2005.03.02 16:50 GoGetShorts-2.21x GBPUSD,M30: open #2 sell 0.05 GBPUSD at 1.9116 sl: 1.9163 tp: 1.9011 ok

2006.07.22 09:00:19 2005.03.02 16:49 GoGetShorts-2.21x GBPUSD,M30: Order Number: 1 145 bars back support:1.908 @ bar15 with 1 prev.matches

2006.07.22 09:00:19 2005.03.02 16:49 GoGetShorts-2.21x GBPUSD,M30: Order Number: 1 145 bars back resistance:1.9259 @ bar100 with 1 prev.matches

2006.07.22 09:00:19 2005.03.02 16:49 GoGetShorts-2.21x GBPUSD,M30: open #1 sell 0.01 GBPUSD at 1.9117 sl: 1.9167 tp: 1.9067 ok

2006.07.22 09:00:19 GoGetShorts-2.21x inputs: ShortemaS=4; ShortemaL=18; Mtrendema=150; TrailingStop=17; Slippage=3; MaxOpenTrade_1=2; Lots1=0.05; TakeProfit1=105; StopLoss1=47; MinsMultiplier1=75; MaxOpenTrade_2=2; Lots2=0.3; TakeProfit2=52; StopLoss2=120; MinsMultiplier2=75; OffAve2=160; MaxOpenTrade_3=1; Lots3=0.2; TakeProfit3=30; StopLoss3=30; MinsMultiplier3=75; OffAve3=320; MaxOpenTrade_4=1; Lots4=0.1; TakeProfit4=30; StopLoss4=30; MinsMultiplier4=75; OffAve4=320; Shift=2; MaxOpenTrade_5=1; Lots5=0.01; TakeProfit5=50; S

2006.07.22 09:00:15 GoGetShorts-2.21x GBPUSD,M30: loaded successfully

 

Herzlichen Glückwunsch, Aaragorn. Die meisten Leute, die sagen, dass sie C++ lernen wollen, verpuffen und man hört nie wieder von ihnen. Es ist großartig, dass Sie etwas in dieser Richtung gelernt haben. Ich denke, es ist eine wertvolle Sache, die man lernen sollte. In gewisser Weise ist es wie eine Religion.