Fehler, Irrtümer, Fragen - Seite 2863

 
Konstantin Efremov:

Nein. Bei solchen Konstruktionen besteht die einzige Lösung darin, den Indikator in eine Klasse umzuwandeln und ihn dem Expert Advisor als Instanz der Klasse hinzuzufügen, dann können Sie die Berechnungsfolge erstellen

Der Indikator selbst ist eine eigene Klasse, die mit allen Basisindikatoren desselben Typs zusammenarbeitet. Das ist sehr schlecht, es sei denn, es gibt eine trickreiche Lösung.

 

Ich habe eine Rätselfrage.

Vergleichen Sie die beiden Bilder und sagen Sie mir, was der Trick ist?

1. Der Expert Advisor wird auf dem Chart ausgeführt.


2. Der zweite ist derselbe Expert Advisor. Das Diagramm nach einem einzigen Test.


 
Können Sie mir sagen, ob dies möglich ist?
#define  VALUE 10

#define  MACROS

#ifdef  MACROS
  // Нужно VALUE увеличить в два раза.
#endif
 
fxsaber:
Können Sie mir sagen, ob dies möglich ist?
#define  VALUE 10

#define  MACROS

#ifdef  MACROS
   #ifdef  VALUE
      #undef  VALUE
   #endif
   #define  VALUE 20
#endif

oder

#define  DEFAULT_VAL 10

#define  VALUE DEFAULT_VAL

#define  MACROS

#ifdef  MACROS
   #ifdef  VALUE
      #undef  VALUE
   #endif
   #define  VALUE (2*DEFAULT_VAL)
#endif
 
Vladimir Simakov:

oder

Ich habe keinen Zugang zu der ursprünglichen VALUE-Definition. Ansonsten würde ich natürlich die gleiche Option wählen.

 
fxsaber:
Können Sie mir sagen, ob dies möglich ist?

Aus irgendeinem Grund funktioniert es nicht:

#define  VALUE 10

#define  MACROS

#ifdef  MACROS
  // Нужно VALUE увеличить в два раза.
  #define  TMP VALUE
  #undef  VALUE
  #define  VALUE (TMP*2)  // Если заменить на (10*2) - компилируется!
#endif

int OnInit(void)
{
        Print( "VALUE = ", VALUE ); //'VALUE' - undeclared identifier
        return(INIT_FAILED);
}
 
Andrey Khatimlianskii:

Aus irgendeinem Grund funktioniert es nicht:

#define  INITIAL_VALUE 10
#define  VALUE INITIAL_VALUE

#ifdef  MACROS
  #define  VALUE 2*INITIAL_VALUE
#endif
Wahrscheinlich genau so
 
TheXpert:
Es ist wahrscheinlich die einzige Möglichkeit

Leider wird diese Herausforderung nicht angenommen.

 
Es ist nicht möglich, eine Umfrage im Forum zu erstellen. Wenn Sie auf "Erstellen" klicken, gelangen Sie zurück zur Startseite.
 
TheXpert:
Das ist wahrscheinlich die einzige Möglichkeit.

Warum funktioniert es dann nicht?

@Ilyas@Slava?