Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 225

 
Hallo, ich habe ein ähnliches Problem und möchte es lösen, ohne Krücken zu benutzen. Der Expert Advisor eröffnet eine Position und hat einen Stop und Take. Es gibt eine Situation, in der während des Testens einer Kerze (d.h. wenn die Bedingung für die Eröffnung der Position erfüllt ist), gleich nach der Schließung der ersten Order, die zweite, dritte usw. Order eröffnet wird. Dies ist darauf zurückzuführen, dass die Bedingungen für die Eröffnung einer Position genau an dieser Kerze erfüllt sind und ein Stop- oder Take-Auftrag einige Zeit später ausgelöst wird (die Bedingungen für die Eröffnung sind immer noch erfüllt, die Kerze wird nicht geschlossen).

Bitte geben Sie an, wie man einen Einstieg vornimmt (die Bedingung für die Eröffnung einer Position) und ob dieselbe Kerze einen Take oder Stop auslöst, um keine neue Position zu eröffnen (die Bedingung für die Eröffnung ist erfüllt). Ich danke Ihnen!

 
Profitpamm:
Hallo, ich habe ein ähnliches Problem und möchte es lösen, ohne Krücken zu benutzen. Der Expert Advisor eröffnet eine Position und hat einen Stop und Take. Es gibt eine Situation, in der während des Testens einer Kerze (d.h. wenn die Bedingung für die Eröffnung der Position erfüllt ist), gleich nach der Schließung der ersten Order, die zweite, dritte usw. Order eröffnet wird. Dies ist darauf zurückzuführen, dass bei dieser Kerze die Bedingungen für die Eröffnung einer Position erfüllt sind und nach einiger Zeit ein Stop- oder Take-Order ausgelöst wird (die Bedingung für die Eröffnung ist immer noch erfüllt, die Kerze wird nicht geschlossen).
Bitte geben Sie an, wie man einen Einstieg vornimmt (die Bedingung für die Eröffnung einer Position) und ob dieselbe Kerze einen Take oder Stop auslöst, um keine neue Position zu eröffnen (die Bedingung für die Eröffnung ist erfüllt). Ich danke Ihnen!

Prüfen Sie anhand des Datums, ob eine offene Position besteht und ob die Position bei diesem Candlestick geöffnet und geschlossen wurde...
 
Profitpamm:
Hallo, ich habe ein ähnliches Problem und möchte es lösen, ohne Krücken zu benutzen. Der Expert Advisor eröffnet eine Position und hat einen Stop und Take. Es gibt eine Situation, in der während des Testens einer Kerze (d.h. wenn die Bedingung für die Eröffnung der Position erfüllt ist), gleich nach der Schließung der ersten Order, die zweite, dritte usw. Order eröffnet wird. Dies ist darauf zurückzuführen, dass die Bedingungen für die Eröffnung einer Position genau an dieser Kerze erfüllt sind und ein Stop- oder Take-Auftrag einige Zeit später ausgelöst wird (die Bedingungen für die Eröffnung sind immer noch erfüllt, die Kerze wird nicht geschlossen).

Bitte geben Sie an, wie man einen Einstieg vornimmt (Bedingung für die Eröffnung einer Position) und ob dieselbe Kerze einen Take oder Stop auslöst, um keine neue Position zu eröffnen (die Bedingung für die Eröffnung ist erfüllt). Ich danke Ihnen!


Hier ist ein Beispiel, wie Sie es verwenden können...

datetime zap_tim;

//=======================
void start()
{
if(zap_tim!=Time[0])
 {
  OrderSend(............);
  zap_tim=Time[0];
 }
}
 
-Aleks-:

Prüfen Sie anhand des Datums, ob es eine offene Position gibt und ob die Position an dieser Kerze geöffnet und geschlossen wurde...
Danke Aleks!
 
Valerius:


Hier ist ein Beispiel, wie es verwendet werden kann...

Valerius, vielen Dank für die Klarstellung!
 

Der Standardcode aus der Referenz funktioniert nicht

https://docs.mql4.com/ru/basis/types/casting

Bringen von Daten des einfachen Strukturtyps

333

wie zu behandeln?

Dient der Konvertierung von Werten verschiedener Grundtypen. Zum Beispiel gibt es ein Array uchar arr[]. wir müssen den Wert von double an eine bestimmte Position schreiben.

void GetBytes(double x,uchar &arr[],int pos)

Oder andersherum.

double GetDouble(uchar &arr[],int pos)

Vielleicht kann jemand eine einfachere Lösung vorschlagen.

Приведение типов - Типы данных - Основы языка - Справочник MQL4
Приведение типов - Типы данных - Основы языка - Справочник MQL4
  • docs.mql4.com
Приведение типов - Типы данных - Основы языка - Справочник MQL4
 

doubleiMA(
stringsymbol,// Symbolname
inttimeframe,// Zeitrahmen
intma_period,// Zeitraum
intma_shift,// Durchschnitt verschieben
intma_method,// Mittelungsmethode
intangewandter_Preis,//Preistyp
intshift// shift
);

Wie wird ein Paar an die Stelle desSymbols gesetzt?
 
Rustam Bikbulatov:

doubleiMA(
stringsymbol,// Name des Symbols
intZeitrahmen,// Zeitrahmen
intma_period,//Zeitraum
intma_shift,// Verschiebung des Durchschnitts
intma_method,// Mittelungsmethode
intapplied_price,//Preisart
int shift//shift
);

Wie wird ein Paar an die Stelle desSymbols gesetzt?

"EURUSD"
 
Alekseu Fedotov:

"EURUSD"

Es steht in Anführungszeichen. Vielen Dank!
 
Rustam Bikbulatov:

doubleiMA(
stringsymbol,// Name des Symbols
intZeitrahmen,// Zeitrahmen
intma_period,//Zeitraum
intma_shift,// Verschiebung des Durchschnitts
intma_method,// Mittelungsmethode
intapplied_price,//Preisart
int shift//shift
);

Wie wird ein Paar an die Stelle desSymbols gesetzt?
double  iMA("EURCAD", Period(), ...);
Grund der Beschwerde: