Başka bir döviz çiftinden teklif/talep nasıl içe aktarılır? - sayfa 2

 

Tamam, Piyasa Bilgisi belgelerini okudum ve yalnızca alış/satış fiyatlarını alabileceğinizi fark ettim. 6 bar öncesinden fiyat verilerini (HLOC) nasıl çekmeye çalışırım?


Dürüst olmak gerekirse, belgeleri okumak için çok zaman harcadım ve Python veya PRT gibi diğer diller kadar yardımcı olmadı, bu yüzden sadece biraz rehberlik arıyordum.

Saygılarımla,

 
Simone Gill :

Tamam, Piyasa Bilgisi belgelerini okudum ve yalnızca alış/satış fiyatlarını alabileceğinizi fark ettim. 6 bar öncesinden fiyat verilerini (HLOC) nasıl çekmeye çalışırım?


Dürüst olmak gerekirse, belgeleri okumak için çok zaman harcadım ve Python veya PRT gibi diğer diller kadar yardımcı olmadı, bu yüzden sadece biraz rehberlik arıyordum.

Saygılarımla,

iOpen(), iClose( ) ,iHigh() ve/veya iLow() kullanın

 

Merhaba Profesyoneller,

Bu konuyu okurken gerçekten sinirlendim, konuyu açtığım için özür dilerim. Ama aynı sorunu yaşadığım için burada yorum yapmaya karar verdim.

İşte kodum:

double Ask2,Bid2;

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

void start()

{

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

}


Yorum 00 gösteriyor

Neden başka Sembollerden Sor ve Bid'i içe aktaramadı ?


Herhangi bir tavsiye takdir edilmektedir,
Hüseyin

 
HosseinKOGO : Neden başka bir Sembolden Sor ve Bid'i içe aktaramadı ?
MT4'te: Mevcut çizelge referans verilen belirli bir çift/TF değilse, fiyatlara erişmeden önce 4066/4073 hatalarını işlemeniz gerekir .
MQL4 EA - MQL4 ve MetaTrader 4 - MQL4 programlama forumunda indirme geçmişi

MT5'te: Tablo belirli bir çift/TF değilse , Sunucudan terminal Verilerini Senkronize Etmelisiniz.
Zaman Dizileri ve Göstergeler Erişimi / Veri Erişimi - MetaTrader 5 için algoritmik/otomatik ticaret dili referansı
Sunucu Verilerini Terminal Verileriyle Senkronize Et - Semboller - Genel - MQL5 programlama forumu

 
William Roeder :
MT4'te: Mevcut çizelge referans verilen belirli bir çift/TF değilse, fiyatlara erişmeden önce 4066/4073 hatalarını işlemeniz gerekir .
MQL4 EA - MQL4 ve MetaTrader 4 - MQL4 programlama forumunda indirme geçmişi

MT5'te: Tablo belirli bir çift/TF değilse , Sunucudan terminal Verilerini Senkronize Etmelisiniz.
Zaman Dizileri ve Göstergeler Erişimi / Veri Erişimi - MetaTrader 5 için algoritmik/otomatik ticaret dili referansı
Sunucu Verilerini Terminal Verileriyle Senkronize Et - Semboller - Genel - MQL5 programlama forumu

Yardımın için teşekkürler.

Eareview.net'ten Tick Data Suite kullanıyorum ve geriye dönük testten önce GBPUSD dahil hedef çiftlerimin geçmişini indirdim. Ayrıca Journal bana herhangi bir hata vermiyor. Entegrasyonla ilgili bir şey mi? Tick Data Suite desteğine başvurarak çözüm aramalı mıyım?

(Kodlama için MQL4 kullanıyorum)
 

GBPAUD -4H grafiğinde geriye dönük test yaparken birisi bu kodu deneyebilir mi? gerçekten tıkandım :(
Yorum olarak 00 alıyor musunuz?

 double Ask2,Bid2;

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

void start()

{

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

}
 
HosseinKOGO : Tick Data Suite kullanıyorum ve geriye dönük testten önce GBPUSD dahil hedef çiftlerimin geçmişini indirdim. Ayrıca Journal bana herhangi bir hata vermiyor. Entegrasyonla ilgili bir şey mi? Tick Data Suite desteği ile iletişime geçerek çözüm aramalı mıyım?(Kodlama için MQL4 kullanıyorum)

TDS ile alakası yok. Erişmeden önce terminalin verileri okumasını sağlamalısınız. "Fiyatlara erişmeden önce"nin hangi kısmı belirsizdi?

HosseinKOGO : Gerçekten sıkıştım :( Yorum olarak 00 alıyor musun?

Aldığınız yardımı görmezden geldiğinizde bu şekilde kalacaksınız. "İşlenmesi gereken" kısmın hangi kısmı belirsizdi?

 
William Roeder :

TDS ile alakası yok. Erişmeden önce terminalin verileri okumasını sağlamalısınız. "Fiyatlara erişmeden önce"nin hangi kısmı belirsizdi?

Aldığınız yardımı görmezden geldiğinizde bu şekilde kalacaksınız. "İşlenmesi gereken" kısmın hangi kısmı belirsizdi?

Üzgünüm, acemi kodlayıcıyım ve görünüşe göre ne demek istediğinizi anlayamadım. Aslında tavsiyenizden anladığım şey "bir şey yapmadan önce ikinci döviz çiftinin geçmişini ve güncel fiyat verilerini indirmek için beklemek."

Gönderdiğiniz bu kodla ne yapmam gerektiği hakkında bana daha fazla ayrıntı verebilir misiniz?

 #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 ;
}

Üst kodu global alanıma kopyaladım ve bana hata ve uyarılar veriyor.

Bu kod satırını başlangıç işlevime de kopyaladım:

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

Lütfen bana neyi ve nereye yeterli bilgi ve noktalama işaretleri eklemem gerektiğini tavsiye eder misiniz?

Düşük seviye becerim için tekrar özür dilerim...

 
  1. HosseinKOGO : ve bana hata ve uyarılar veriyor.

    HosseinKOGO : Gönderdiğiniz bu kodla ne yapmam gerektiği konusunda bana daha fazla ayrıntı verebilir misiniz?

    1. Böyle küçük düzeltmeleri çözemediniz mi?
       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. Zaten bir EA için yayınladınız.
       while (!download_history( PERIOD_M15 ) ){ Sleep ( 1000 ); RefreshRates (); }
 
William Roeder :
    1. Böyle küçük düzeltmeleri çözemediniz mi?

    2. Zaten bir EA için yayınladınız.

Cevabınız için teşekkürler,

Aslında ben kodlayıcı değilim, ancak bazı EA'ları kodlamayı denedim. İşim yaratıcılık ve strateji ile bağlantılı, bu yüzden EA'lar yapmak için 600-700 fikir beyin fırtınası yaptım ve şimdiye kadar onları inşa ettim. Ben sadece çok kolay EA'ları kodlayabilirim ve sizin yüksek seviyeli kodlamanıza alışkın değilim...

Bu kodları EA'ma koydum ancak şu hatayı veriyor: 2019.05.06 15:37:56.586 2018.01.02 00:00:07 MyEA! GBPAUD,H4: iTime(GBPUSD,240) Başarısız: 0

Açılan grafiğim olarak GBPAUD'yi ve ikinci çiftim olarak GBPUSD'yi deniyorum.

Sorun nedir?

Neden: