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

 
FOTOGRAF14:
if(Close[1]<High[i] && Close[1]>Low[i])

i++;

Wie kann ich eine Bedingung so einstellen, dass sie beim nächsten Balken und nicht bei jedem Tick überprüft wird?

Ich habe diese Konstruktion

static datetime TimeN=0;  


void OnTick()
  {

datetime TimeC=iTime(NULL,TF,0);
   if(TimeN==0)TimeN=TimeC;
   if(TimeN==TimeC) return;
   TimeN=TimeC;

 
-Aleks-:

Dieser Ansatz funktioniert, wenn der Indikator auf dem Diagramm funktioniert - und das brauche ich in einem Skript - auf einem vorgefertigten Diagramm.
Э... dieser Ansatz funktioniert überall. Von EAs, Skripte, andere Indikatoren werden Sie in der Lage sein, zu bekommen, was Sie brauchen. Wenn Sie einen Indikator vorbereiten, der Ihren spezifischen Bedürfnissen entspricht.
 
Alexey Kozitsyn:
Э... dieser Ansatz funktioniert überall. Sie können das, was Sie brauchen, von EAs, Skripten und anderen Indikatoren bekommen. Wenn Sie den Indikator für Ihren spezifischen Bedarf vorbereiten.

Das verstehe ich nicht.

"In OnCalculate(), wenn die Bedingung rates_total > prev_calculated erfüllt ist - den Indikator berechnen und den Wert in diesen zusätzlichen Puffer schreiben;"

Was nehmen wir auf? Der Wert des Indikators auf dem letzten Balken, oder?

 
-Aleks-:

Das verstehe ich nicht.

"In OnCalculate(), wenn die Bedingung rates_total > prev_calculated erfüllt ist - den Indikator berechnen und den Wert in diesen zusätzlichen Puffer schreiben;".

Was sollen wir schreiben? Der Indikatorwert des vorherigen Balkens, oder?

Wir zeichnen auf, was wir berechnen.
 
Alexey Kozitsyn:
Lassen Sie uns aufschreiben, was wir berechnen.

Dann ist es ein dummer Schachzug, die MASK-Berechnung zu ändern - dieselbe MASK zweimal zu zählen.
 
-Aleks-:

Dann ist es dumm, die Berechnung des MAK zu ändern - den gleichen MAK zweimal zu zählen.

Haben Sie einen einzigen Indikator von Grund auf neu geschrieben, um zu beurteilen, was "dumm" ist und was nicht?

Wie auch immer, viel Glück bei der Lösung des Problems. Ich ziehe mich aus der Diskussion zurück.

 
Alexey Kozitsyn:

Haben Sie einen einzigen Indikator von Grund auf neu geschrieben, um zu beurteilen, was "dumm" ist und was nicht?

Wie auch immer, viel Glück bei der Lösung des Problems. Ich ziehe mich aus der Diskussion zurück.

Ja, ich schreibe Indikatoren für den persönlichen Gebrauch, aber ohne OnCalculate().

"Dumm" bezieht sich auf die Methode, nicht auf den Autor, ich wollte sicher niemanden beleidigen...

Ich spreche von einer solchen Lösung für einfache MA[n]-Close[n]/Periode+Open[n]/Periode

Ich bin an ähnlichen Lösungen für andere Methoden zur Berechnung von MAs interessiert.

 
Alexander Antoshkin:

Ich bin kein guter Redner, wenn ich anfange zu reden, diskreditiere ich die Wissenschaft).

Finden Sie Albert Buraga mit seinem Thema "Jenseits des Marktes" er hat dieses Thema seit langem diskutiert, und hören Sie ...... Algorithmen und Berechnungen sind alle da, seine Gruppe ist in Kontakt

Es ist nicht nötig, einen Link zu seiner Website zu setzen - sie werden ihn löschen. Zeigen Sie Ihr Interesse und Sie werden es finden...... Ich bin nicht sein Schüler und möchte nicht dafür werben, aber ich habe mir 1/3 von dem genommen, was er sagt, dass es fehlt.

Mein Arbeitsbildschirm sieht so aus: Trading vom Freitag ... Ich war kaum in der Nähe meines Computers ... 80 % der Zeit habe ich mit schwebenden Aufträgen und Gewinnen auf zuvor berechneten Niveaus gearbeitet...

...und so ist es jeden Tag

Danke für die Information - ich werde mich damit befassen. Soweit ich weiß, ist er auch bei smartlab.

 
Ich habe mir viel Literatur im Internet angeschaut, um zu beraten, welches Lehrbuch, welcher Autor, welcher kostenlose Kurs oder Videokurs in Frage kommt.
 

Hallo, könnten Sie mir bitte sagen, wie ich dieses Problem lösen kann: bei RSI>50 wird die Variable x einmal gezählt und bei RSI<50 wird die Variable y einmal gezählt (diesen Teil habe ich in den Code geschrieben) und bei RSI>70 wird der Wert der Variable x vom aktuellen Preis subtrahiert (dieser Teil ist das Problem). Der Code lautet wie folgt:

1 Teil:

bool RSI_HIGHER_50=false;
bool RSI_LOWER_50=false;
void OnTick()
{
double RSI=iRSI(NULL,0,14,PRICE_CLOSE,1);
double x;
double y;
double z;
{
if (RSI>50&& !RSI_HIGHER_50)
{
x=MarketInfo(NULL,MODE_BID);
RSI_HIGHER_50=true;
RSI_LOWER_50=false;
}
}
{
if (RSI<50 && !RSI_LOWER_50)
{
y=MarketInfo(NULL,MODE_ASK);
RSI_LOWER_50=true;
RSI_HIGHER_50=false;
}
}
}

2 Teil:

if (RSI>70)
{
z=Close[1]-x;
}

Wenn Sie nur diese Teile verbinden, wird die Variable z nicht korrekt berechnet. Ist es möglich, den Wert der Variablen x für weitere Operationen mit ihr zu fixieren/speichern? Wie lässt sich die Variable z unter der oben genannten Bedingung korrekt berechnen?

Ich danke Ihnen.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5