Expert Advisor macht das Gegenteil

 

Guten Tag Leute, und zwar habe ich mir einen Expert Advisor zusammen gebastelt, welcher eigentlich Long geht, wenn der RSI unter dem Wert 30 ist, im Strategietester macht er das genau so, doch im "Live" Trade muss ich feststellen, dass er das Gegenteil macht, und zwar geht er Long, wenn der RSI an dem Wert 7o ist.

Weiß eventuell einer von euch, woran das liegen kann ?


Hier ein Screenshot


Hier der Codeabschnitt:

//+------------------------------------------------------------------+
//| "Voting" that price will grow.                                   |
//| INPUT:  no.                                                      |
//| OUTPUT: number of "votes" that price will grow.                  |
//| REMARK: no.                                                      |
//+------------------------------------------------------------------+
int CBC_WS_RSI::LongCondition()
  {
   int result=0;
   int idx   =StartIndex();
//--- check formation of Morning Doji and RSI<40
   if(CheckCandlestickPattern(CANDLE_PATTERN_MORNING_DOJI) && (RSI(1)<30))
      result=80;
//--- check conditions of short position closing
   if(((RSI(1)>30) && (RSI(2)<30)) || ((RSI(1)>70) && (RSI(2)<70)))
      result=40;
//--- return the result
   return(result);
  }
//+------------------------------------------------------------------+
//| "Voting" that price will fall.                                   |
//| INPUT:  no.                                                      |
//| OUTPUT: number of "votes" that price will fall.                  |
//| REMARK: no.                                                      |
//+------------------------------------------------------------------+
int CBC_WS_RSI::ShortCondition()
  {
   int result=0;
   int idx   =StartIndex();
//--- check formation of Evening Doji and RSI>60     
   if(CheckCandlestickPattern(CANDLE_PATTERN_EVENING_DOJI) && (RSI(1)>70))
      result=80;
//--- check conditions of long position closing
   if(((RSI(1)<70) && (RSI(2)>70)) || ((RSI(1)<30) && (RSI(2)>30)))
      result=40;
//--- return the result
   return(result);
  }
//+------------------------------------------------------------------+
 
Wie man auch sieht, befindet sich der Trade aktuell im Minus, der Grund scheint erkennbar
 

Weil du das so i. Den bedingungen drin stehen hast. Da steht klipp und klar das er long gehen soll bei über 70


btw, soviel arbeit um die nummer eines demokontos auszublenden?

 
amando:

Weil du das so i. Den bedingungen drin stehen hast. Da steht klipp und klar das er long gehen soll bei über 70


btw, soviel arbeit um die nummer eines demokontos auszublenden?

Lese ich was falsch ? Wenn ich mich nicht irre, steht dort<30... oder wo genau meinst du ?
 
Kay7667:
Lese ich was falsch ? Wenn ich mich nicht irre, steht dort<30... oder wo genau meinst du ?

Oder grösser 70

ist halt die frage wie es mit dem result dann weitergeht

du hast 2 bedingungen, eine gubt result 40 eine 80

das ganze wird dann mit dem result weiterverarbeitet nehm ich an. Ganz versteh ich den aufwand im code ja nicht aber das ist eine andere Sache

du darfst ja nicht vergessen, eine short order wird mit einer long geschlossen. Das heist der teil wo du sagst short close ist eigentlich eine long. Die frage ist, wie der code weitergeht

 
amando:

Oder grösser 70

ist halt die frage wie es mit dem result dann weitergeht

du hast 2 bedingungen, eine gubt result 40 eine 80

das ganze wird dann mit dem result weiterverarbeitet nehm ich an. Ganz versteh ich den aufwand im code ja nicht aber das ist eine andere Sache

du darfst ja nicht vergessen, eine short order wird mit einer long geschlossen. Das heist der teil wo du sagst short close ist eigentlich eine long. Die frage ist, wie der code weitergeht

Also, das ist der Endteil, was die Short und Long Bedingungen angeht, hmm ok habe ich verstanden, dachte die eine Zeile würde alles aus machen, vielen dank, lerne immer was neues hier :D probiere mich mal aus, mal sehen, was der macht 
 

Kay für Deine Probleme hat Metaquotes uns allen den Debugger geschenkt, mit dem Du

  1. alle Variablen und
  2. auch logische Ausdrücke
  3. live verfolgen kannst und das
  4. mit historischen Daten (~visueller Test).
  5. Du musst nur die Beginn zeit richtig einstellen ...
 
Carl Schreiber:

Kay für Deine Probleme hat Metaquotes uns allen den Debugger geschenkt, mit dem Du

  1. alle Variablen und
  2. auch logische Ausdrücke
  3. live verfolgen kannst und das
  4. mit historischen Daten (~visueller Test).
  5. Du musst nur die Beginn zeit richtig einstellen ...
Alles gut, habe ein wenig herum experimentiert, klappt jetzt :D 
Grund der Beschwerde: