Wie importiere ich Bid/Ask aus einem anderen Währungspaar? - Seite 2

 

Ok, ich habe mir die Market Info-Dokumentation durchgelesen und festgestellt, dass man nur Geld-/Briefkurse abrufen kann. Wie würde ich versuchen, die Preisdaten (HLOC) von sagen wir 6 Bars vor ziehen?


Um ehrlich zu sein, habe ich viel Zeit damit verbracht, die Dokumentation durchzulesen, und sie ist nicht so hilfreich wie andere Sprachen wie Python oder PRT, so dass ich nach einer Anleitung suche.

Mit freundlichen Grüßen,

 
Simone Gill:

Ok, ich habe mir die Market Info Dokumentation durchgelesen und festgestellt, dass man nur Geld- und Briefkurse abrufen kann. Wie würde ich versuchen, die Preisdaten (HLOC) von sagen wir 6 Bars vor ziehen?


Um ehrlich zu sein, habe ich viel Zeit damit verbracht, die Dokumentation durchzulesen, und sie ist nicht so hilfreich wie andere Sprachen wie Python oder PRT, so dass ich nach einer Anleitung suche.

Mit freundlichen Grüßen,

Verwenden Sie iOpen(),iClose(),iHigh() und/oder iLow()

 

Hallo Profis,

ich habe mich wirklich geärgert, als ich dieses Thema gelesen habe, entschuldigt, dass ich es angesprochen habe. Aber da ich das gleiche Problem hatte, habe ich beschlossen, hier zu kommentieren.

Hier ist mein Code:

double Ask2,Bid2;

----------------------------

void start()

{

Ask2=MarketInfo("GBPUSD",MODE_ASK);
Bid2=MarketInfo("GBPUSD",MODE_BID);
Comment(Ask2, Bid2);

}


Der Kommentar zeigt 00

Warum können Ask und Bid nicht von einem anderen Symbol importiert werden?


Für jeden Ratschlag bin ich dankbar,
Hossein

 
HosseinKOGO: Warum konnten Ask und Bid nicht von anderen Symbolen importiert werden?
Auf MT4: Wenn der aktuelle Chart nicht das spezifische Paar/TF referenziert, müssen Sie 4066/4073 Fehler behandeln, bevor Sie auf Preise zugreifen.
Download-Verlauf in MQL4 EA - MQL4 und MetaTrader 4 - MQL4 Programmierforum

Auf MT5: Wenn es sich nicht um ein bestimmtes Paar/TF handelt, müssen Sie die Daten des Terminals mit dem Server synchronisieren.
Timeseries and Indicators Access / Data Access - Referenz über algorithmische/automatisierte Handelssprache für MetaTrader 5
Server-Daten mit Terminal-Daten synchronisieren - Symbole - Allgemeines - MQL5 Programmierforum

 
William Roeder:
Auf MT4: Wenn der aktuelle Chart nicht das spezifische Paar/TF referenziert, müssen Sie 4066/4073 Fehler behandeln, bevor Sie auf Preise zugreifen.
Download-Verlauf in MQL4 EA - MQL4 und MetaTrader 4 - MQL4 Programmierforum

Auf MT5: Sofern es sich nicht um ein bestimmtes Paar/TF handelt, müssen Sie die Daten des Terminals mit dem Server synchronisieren.
Timeseries and Indicators Access / Data Access - Referenz über algorithmische/automatisierte Handelssprache für MetaTrader 5
Server-Daten mit Terminal-Daten synchronisieren - Symbole - Allgemeines - MQL5 Programmierforum

Ich danke Ihnen für Ihre Hilfe.

Ich verwende die Tick Data Suite von eareview.net und habe vor dem Backtesting die Historie meiner Zielpaare einschließlich GBPUSD heruntergeladen. Außerdem gibt mir Journal keine Fehlermeldung. Liegt es an der Integration? Sollte ich nach einer Lösung suchen, indem ich mich an den Tick Data Suite-Support wende?

(Ich verwende MQL4 zum Programmieren)
 

Kann jemand versuchen, diesen Code während Backtesting auf GBPAUD -4H Chart? Ich stecke wirklich fest :(
Bekommen Sie 00 als Kommentar?

double Ask2,Bid2;

----------------------------

void start()

{

Ask2=MarketInfo("GBPUSD",MODE_ASK);
Bid2=MarketInfo("GBPUSD",MODE_BID);
Comment(Ask2, Bid2);

}
 
HosseinKOGO: Ich verwende die Tick Data Suite von eareview.net und habe vor dem Backtesting die Historie meiner Zielpaare einschließlich GBPUSD heruntergeladen. Außerdem gibt mir Journal keine Fehlermeldung. Liegt es an der Integration? Sollte ich nach einer Lösung suchen, indem ich mich an den Tick Data Suite-Support wende (ich verwende MQL4 zur Codierung)?

Das hat nichts mit TDS zu tun. Sie müssen das Terminal dazu bringen, die Daten einzulesen , bevor Sie auf sie zugreifen. Welcher Teil von "vor dem Zugriff auf die Preise" war unklar?

HosseinKOGO : Ich stecke wirklich fest :( Erhalten Sie 00 als Kommentar?

Sie werden so bleiben, wenn Sie die Hilfe, die Sie erhalten, ignorieren. Welcher Teil von "must handle" war unklar?

 
William Roeder:

Das hat nichts mit TDS zu tun. Sie müssen das Terminal dazu bringen, die Daten einzulesen , bevor Sie auf sie zugreifen. Welcher Teil von "vor dem Zugriff auf die Preise" war unklar?

Das wird so bleiben, wenn Sie die Hilfe, die Sie erhalten, ignorieren. Welcher Teil von "must handle" war unklar?

Tut mir leid, dass ich als Programmieranfänger nicht verstanden habe, was Sie meinen. Eigentlich, was ich durch Ihren Rat herausgefunden habe, ist "warten, um die Geschichte und die aktuellen Preisdaten des zweiten Währungspaares herunterzuladen, bevor Sie etwas tun."

Könnten Sie mir bitte weitere Einzelheiten darüber geben, was ich mit dem von Ihnen geposteten Code tun soll?

#define  HR2400 PERIOD_D1 * 60    // 86400 = 24 * 3600
int      TimeOfDay(datetime when=0){      if(when == 0)  when = TimeCurrent();
                                          return( when % HR2400 );            }
datetime DateOfDay(datetime when=0){      if(when == 0)  when = TimeCurrent();
                                          return( when - TimeOfDay(when) );   }
#define  SYMBOL string
#define  THIS_SYMBOL ""
bool  download_history(ENUM_TIMEFRAMES period=PERIOD_CURRENT){
   return download_history(_Symbol, period); 
}
bool  download_history(
      SYMBOL            symbol=THIS_SYMBOL,     ///< The symbol required.
      ENUM_TIMEFRAMES   period=PERIOD_CURRENT   /**< The standard timeframe.*/){
   if(symbol == THIS_SYMBOL)     symbol = _Symbol;
   if(period == PERIOD_CURRENT)  period = _Period;
   datetime today = DateOfDay();
   ResetLastError();
   datetime other = iTime(symbol, period, 0);
   if(_LastError == 0 
   && today == DateOfDay(other)) return true;   
   if(_LastError != ERR_HISTORY_WILL_UPDATED
   && _LastError != ERR_NO_HISTORY_DATA
      Print(StringFormat("iTime(%s,%i) Failed: %i", symbol, period,_LastError));
   return false;
}

Ich habe den oberen Code in meinen globalen Bereich kopiert und er gibt mir Fehler und Warnungen.

Ich habe diese Code-Zeile auch in meine Startfunktion kopiert:

while(!download_history(PERIOD_M15) ){ Sleep(1000); RefreshRates(); }

Könnten Sie mir bitte einen Rat geben, was und wo ich genügend Informationen und Interpunktion einfügen sollte?

Nochmals Entschuldigung für mein niedriges Niveau Fähigkeit...

 
  1. HosseinKOGO: und es gibt mir Fehler und Warnungen.

    HosseinKOGO : Könnten Sie mir bitte weitere Details darüber geben, was ich mit diesem Code, den Sie gepostet hatten, tun sollte?

    1. Konnten Sie solche kleinen Korrekturen nicht herausfinden?
      int      TimeOfDay(datetime when=0){      if(when == 0)  when = TimeCurrent();
                                                return( int( when % HR2400) );            }
      
        if(_LastError != ERR_HISTORY_WILL_UPDATED
         && _LastError != ERR_NO_HISTORY_DATA
         )  Print(StringFormat("iTime(%s,%i) Failed: %i", symbol, period,_LastError));
      

    2. Sie haben ihn bereits für einen EA gepostet.
      while(!download_history(PERIOD_M15) ){ Sleep(1000); RefreshRates(); }
 
William Roeder:
    1. Sie konnten solche kleinen Korrekturen nicht herausfinden?

    2. Sie haben es bereits für einen EA gepostet.

Vielen Dank für Ihre Antwort,

Eigentlich bin ich kein Programmierer, aber ich habe versucht, einige EAs zu programmieren. Mein Job ist mit Kreativität und Strategie verbunden, so dass ich Brainstorming 600-700 Ideen für die Herstellung EAs und baute sie bis jetzt. Ich kann nur sehr einfache EAs programmieren und ich bin nicht an Ihre High-Level-Codierung gewöhnt...

Ich habe diese Codes in meinen EA eingebaut, aber er liefert nur diesen Fehler: 2019.05.06 15:37:56.586 2018.01.02 00:00:07 MyEA! GBPAUD,H4: iTime(GBPUSD,240) Failed: 0

Ich versuche GBPAUD als eröffneten Chart und GBPUSD als zweites Paar.

Was ist das Problem?

Grund der Beschwerde: