Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 232

 
Hallo zusammen!!! Ich bin eine Anfängerin. Ich möchte fragen: Wenn ich einen EA kompiliere, erhalte ich die folgende Fehlermeldung: 'StopLoss' - Deklaration ohne Typ.

Hier ist der Code:

//--- Für die Arbeit mit Brokern, die 3- und 5-stellige Kurse verwenden,
//--- die Werte von SL und TP mit 10 multiplizieren
StopLoss = STP;-und DORT, WO SIE DAS ÄNDERN ??????
Gewinnmitnahme = TKP;
if(_Digits==5 || _Digits==3)
{
SL = SL*10;
TP = TP*10;

}

Haben Sie einen Rat?

 
vyacheslavovich:
Hallo zusammen!!! Ich bin eine Anfängerin. Ich möchte fragen: Beim Kompilieren von EA erhalte ich folgende Fehler:'StopLoss' - Deklaration ohne Typ.
Das bedeutet, dass die Variable StopLoss vorher nicht deklariert wurde.
 
vyacheslavovich:
Hallo zusammen!!! Ich bin eine Anfängerin. Ich möchte fragen: Wenn ich einen EA kompiliere, erhalte ich die folgende Fehlermeldung: 'StopLoss' - Deklaration ohne Typ.

Hier ist der Code:

//--- Für die Arbeit mit Brokern, die 3- und 5-stellige Kurse verwenden,
//--- die Werte von SL und TP mit 10 multiplizieren
StopLoss = STP;-und DORT, WO SIE DAS ÄNDERN ??????
Gewinnmitnahme = TKP;
if(_Digits==5 || _Digits==3)
{
SL = SL*10;
TP = TP*10;

}

Haben Sie einen Rat?

   double StopLoss = STP;
   double TakeProfit = TKP;

Das sollte besser sein.

 
Guten Tag. Ich kämpfe seit dem zweiten Tag mit der Ausführung externer Dateien. Können Sie mir sagen, was los ist?
#import "shell32.dll"
   int ShellExecuteA(int hwnd, string lpOperation, string lpFile,string lpParameters,string lpDirectory,int nShowCmd);
#import
void OnStart()
  {
   ShellExecuteA(CHART_WINDOW_HANDLE,"open","F:\\222.mp3", NULL,NULL,1);
  }
 
Andrei-1:
Hallo. Ich habe schon den zweiten Tag Probleme mit dem Starten von externen Dateien. Bitte sagen Sie mir, was los ist.
//+------------------------------------------------------------------+
//| Функция получает хэндл графика                                   |
//+------------------------------------------------------------------+
int ChartWindowsHandle(long chart_ID)
  {
//--- подготовим переменную для получения значения свойства
   long result=-1;
//--- сбросим значение ошибки
   ResetLastError();
//--- получим значение свойства
   if(!ChartGetInteger(chart_ID,CHART_WINDOW_HANDLE,0,result))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
     }
//--- вернем значение свойства графика
   return((int)result);
  }

Aber es wird nur der Griff des Diagramms sein. Und das Diagramm selbst befindet sich in einem Fenster höherer Klasse (übergeordnetes Fenster). In ShellExecuteA sollten Sie das Handle des übergeordneten Fensters ersetzen.

Sehen Sie sich das Transparent MetaTrader 5 Skript an: es hat die Funktion, das Handle des Terminals durch ChartID() zu erhalten.

Transparent MetaTrader 5
Transparent MetaTrader 5
  • Stimmen: 19
  • 2014.03.10
  • Karputov Vladimir
  • www.mql5.com
Данный скрипт позволяет делать полупрозрачным весь терминал.
 
Grüße an alle!
MQL4 hat eine gute Funktion - Barshift. Leider ist sie in MQL5 nicht verfügbar. Als Variante zum Ersetzen dieser Funktion können Sie Zeitreihendaten ab dem Startdatum (für das die Verschiebung gesucht wird) kopieren und die Anzahl der kopierten Elemente sehen. Wenn wir aber viele verschiedene Daten verarbeiten müssen, wollen wir den Computer nicht durch ständiges mehrfaches Kopieren von Zeitreihen überlasten. Natürlich sind wir gezwungen, die richtigen Werte mithilfe der Array-Aufzählung zu finden. Und hier kommen wir zu der Frage. :) Nachdem ich die Dokumentation durchsucht habe, habe ich nur eine Standardfunktion gefunden, die nach Werten in einem Array sucht: ArrayBSearch. Es funktioniert jedoch nicht mit Arrays, die Datetime-Daten enthalten. Gibt es eine Standardfunktion für die Suche nach dem Datum im datetime-Array? Oder ist es möglich, eine Art der Datenkonvertierung zu verwenden?
 
BlackTomcat:
Grüße an alle!
MQL4 hat eine gute Funktion - Barshift. Leider ist sie in MQL5 nicht verfügbar. Als Variante zum Ersetzen dieser Funktion können Sie Zeitreihendaten ab dem Startdatum (für das die Verschiebung gesucht wird) kopieren und die Anzahl der kopierten Elemente sehen. Wenn wir aber viele verschiedene Daten verarbeiten müssen, wollen wir den Computer nicht durch ständiges mehrfaches Kopieren von Zeitreihen überlasten. Natürlich sind wir gezwungen, die richtigen Werte mithilfe der Array-Aufzählung zu finden. Und hier kommen wir zu der Frage. :) Nachdem ich die Dokumentation durchsucht habe, habe ich nur eine Standardfunktion gefunden, die nach Werten in einem Array sucht: ArrayBSearch. Es funktioniert jedoch nicht mit Arrays, die Datetime-Daten enthalten. Gibt es eine Standardfunktion für die Suche nach dem Datum im datetime-Array? Oder ist es möglich, eine Datenkonvertierung vorzunehmen?
Entsprechende Artikel wurden bereits vor langer Zeit geschrieben - suchen Sie auf der Website.
 
Gibt es eine Möglichkeit, eine Datei (insbesondere csv) über FileOpen zu erweitern, ohne sie zu überschreiben? Ich meine, FileOpen(name,FILE_CSV|FILE_WRITE|...) legt nur eine saubere Datei neu an, öffnet nicht eine bestehende, wenn sie bereits existiert. Für den Text gibt es eine Lösung, wenn auch keine sehr elegante: Er wird einfach vorher in eine Variable eingelesen und dem neuen Datensatz hinzugefügt. Aber csv funktioniert nicht...
 
Hallo an alle und guten Tag!!! Heute habe ich versucht, an den GBP-Nachrichten zu verdienen, indem ich zwei schwebende Aufträge gesetzt habe: Buy Stop und Sell Stop, Stop Loss wurde bei 200 Punkten gesetzt, Take Profit bei 100 Punkten. Nach der Veröffentlichung der Nachrichten stieg der Kurs direkt an, aber der Buy Stop-Auftrag wurde mit -0,34$ geschlossen, als der Kurs direkt um 500 Punkte anstieg.
 
Ich weiß es nicht... die Spanne muss sein