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

 
MakarFX:

Ich habe es unterschrieben.

Makar, hör auf, dem Mann den Kopf zu verdrehen. Er braucht nur die Variable für die globale Ebene und den aktuellen Preis.

input int      Points = 30;
double LoU;

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(Bid-LoU >= Points*_Point)
    {
     OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,"300",0);
     Print("---------------------КАЖДЫЙ ТИК ------Tick---------=     "    ,   Tick);
     LoU = Bid; // Здесь вместо Bid можно поставить любую цену
    }
  }

So wird bei jedem Tick die Differenz zwischen dem aktuellen Kurs und dem Kurs in der LoU-Variable geprüft. Wenn diese Differenz gleich oder größer als 30 Punkte ist - die Bedingung ist erfüllt -, nimmt die LoU-Variable einen neuen Wert an und die Differenz wird mit einem anderen Wert geprüft.

 
ANDREY:

Hier ist Ihr Code.

Aber aus irgendeinem Grund öffnet es keine Aufträge.

Es öffnet sich für mich. Prüfen Sie, was im Protokoll steht.


 

Guten Tag!


Ich erstelle einen Indikator in einem separaten Fenster. Ich möchte die Anfangshöhe des Fensters festlegen, zum Beispiel 100

Wir haben eine Standardfunktion:

#property indicator_height  100
IndicatorSetInteger(INDICATOR_HEIGHT, 100)

Aber sie blockieren die Änderung der Benutzerhöhe, sie bleibt immer bei 100((((. Und ich muss wirklich in der Lage sein, sie nachträglich manuell zu ändern.


Gibt es andere Möglichkeiten?) Bisher habe ich einen Weg gefunden, durchWinAPI zu simulieren, dass wir das Fenster mit der Maus strecken (und ich bin nicht sicher, was ich tun kann)

 

Machen Sie es so:

IndicatorSetInteger(INDICATOR_HEIGHT, 100);
IndicatorSetInteger(INDICATOR_HEIGHT, 0);
 
alex_xss:

Guten Tag!


Einfach löschen

IndicatorSetInteger(INDICATOR_HEIGHT, 100)
 
Es gibt hier eine gewisse Subtilität. Stellen Sie zunächst die Größe ein und setzen Sie sie dann auf Null zurück, um die Fixierung zu lösen, wodurch sich die Größe nicht ändert. Es gibt keine andere Möglichkeit, dies zu umgehen.
 
Alexey Viktorov:

Makar, hör auf, dem Mann den Kopf zu verdrehen. Die globale Variable und der aktuelle Preis sind für ihn ausreichend.

Bei jedem Tick wird also die Differenz zwischen dem aktuellen Kurs und dem Kurs in der LoU-Variable überprüft. Wenn diese Differenz gleich oder größer als 30 Punkte ist, ist die Bedingung erfüllt, die LoU-Variable erhält einen neuen Wert und die Differenz wird mit einem anderen Wert überprüft.

You're wrong radically.... Dank Makar, ich habe erheblich und vor allem sehr effektiv erweitert meinen Horizont in Forex. Wenn er nicht gewesen wäre, weiß ich nicht, wann ich so viele nützliche Dinge für mich gelernt hätte. Ich wünschte, es gäbe mehr solcher "Manager" in diesem Forum. Er war es und nicht jemand anderes, der mir sagte, dass die Lösung meines Problems in der Verwendung von EventSetTimer(60) liegt. Ich bin ihm sehr dankbar für die schnelle und qualitativ hochwertige Unterstützung.

Und was Sie raten, wusste ich schon vor langer Zeit, und in meinem Code war Ihr Rat von Anfang an präsent.
 
Alexey Viktorov:

Makar, hör auf, dem Mann den Kopf zu verdrehen. Die globale Variable und der aktuelle Preis sind für ihn ausreichend.

Sie lesen nie zuerst das Thema und raten, was bereits beschlossen wurde

 
MakarFX:

Sie lesen nie zuerst das Thema und raten, was bereits getan wurde

Stimme Ihnen zu 100% zu.... nichts gegen Alexej.....

 
MakarFX:

Das funktioniert bei mir. Prüfen Sie, was im Protokoll steht


2021.05.20 06:30:45.176 GBPUSD,M1: 52255 tick events (1440 bars, 53255 bar states) processed in 0:00:00.000 (total time 0:00:05.906)
2021.05.20 06:30:45.163 2010.01.04 00:00:00  ×ÈÑÒÛÉ inputs: Points=30; 
2021.05.20 06:30:45.145 TestGenerator: spread set to 2
2021.05.20 06:30:45.145 TestGenerator: no connect to trade server, default environment will be applied