Fehler, Irrtümer, Fragen - Seite 2350

 

Hallo

Habe ich etwas übersehen, oder ist es jetzt möglich, By-Limit-Aufträge über dem aktuellen Kurs zu senden, so dass sie sofort ausgeführt werden. Wie bei einem echten Börsensystem?

Wie die Begrenzung des Schlupfes?

 

Ich kann es nicht herausfinden, also geben Sie mir bitte einen Tipp. Es gibt einen solchen Zeiterwerb

int GetHandle() { return(0); }

bool SelectHandle( int ) { return(true); }
  
int NewHandle = 0;  
int PrevHandle = GetHandle();    

datetime time = SelectHandle(NewHandle) ? TimeCurrent() : 0;  
SelectHandle(PrevHandle);


Wie man ein Makro schreibt, das dasselbe tut

time = MACROS(NewHandle, TimeCurrent()); // Макрос


Das Problem ist, dass PrevHandle nicht im Makro erstellt wird.

 

Hallo zusammen.

Terminal Baujahr 1960 (dasselbe in Beta 1966). Die Funktionen CopyTicks und CopyTicksRange funktionieren korrekt im Indikator, der im Terminal läuft, aber im Tester zeigt derselbe Indikator in diesen Funktionen -1 Ergebnis und den Fehler 4014. Entwickler, bitte mitteilen, warum?

 
fxsaber:

Wie man ein Makro schreibt, das dasselbe tut

Was ist falsch an einer Funktion?
 
Alexey Navoykov:
Was ist an der Funktion falsch?

Denn anstelle von TimeCurrent kann es jede beliebige Funktion sein.

 
fxsaber:

Die Tatsache, dass es sich anstelle von TimeCurrent um eine beliebige Funktion handeln kann.

Nun, nur wenn eine globale Variable verwendet wird.
 
fxsaber:

Wie man ein Makro schreibt, das dasselbe tut

Das Problem ist, dass PrevHandle nicht in dem Makro erstellt werden kann.

Ich denke, das große Problem ist, dass es keinen Komma-Operator gibt, ohne den es unwahrscheinlich ist, ein solches Makro zu erhalten.

 
Typisches Syndrom der unerkannten Genies... Über große Dinge zu reden und nicht in der Lage zu sein, das einfachste Problem zu lösen...
Denken Sie darüber nach... eine Woche lang
Hinweis: Die Tatsache, dass die Lösung in MQL bereits existiert, ist ein Hinweis an sich.
 
pavlick_:

Meiner Meinung nach besteht das große Problem darin, dass es keinen Komma-Operator gibt, ohne den man kaum ein solches Makro erhalten kann.

Sie könnten dies tun:

int MACROS_helper_int;
#define  MACROS(NEW_HANDLE_, FN_)  (MACROS_helper_int=GetHandle())*0+(SelectHandle(NEW_HANDLE_) ? FN_ : 0);  \
                                  SelectHandle(MACROS_helper_int);

Aber crusty, man kann es nicht irgendwo in einen Zustand versetzen, nur durch =.

SZY: und vorsichtig in nach if, while, etc. verwenden.

if(true)
   MACROS(...);

Ich würde wahrscheinlich keins benutzen.

 
A100:
Typisches Syndrom der unerkannten Genies... Über große Dinge zu reden und nicht in der Lage zu sein, das einfachste Problem zu lösen...
Denken Sie darüber nach... eine Woche lang
Hier ein Hinweis: Die Tatsache, dass die Lösung in MQL bereits existiert, ist ein Hinweis an sich.

Na los, Meister, überraschen Sie den Pöbel mit einer brillanten Lösung.

Grund der Beschwerde: