Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1413

 

Merhaba. Lütfen mt5'teki bir sorunla ilgili bana yardım edin.

2016'dan sonraki döviz çiftleri tekliflerinin geçmişi yüklenmiyor. Broker - Gerchik.

Denedim:

1 - strateji test cihazı aracılığıyla geçmişi indirin.

2 - araçların terminali aracılığıyla. aptalca sadece 2016'ya kadar olan geçmişi gösterir.

3 - mt5 sunucusunun normal yüklü çiftinden geçmişi kopyalayın. faydası yok, programı yeniden başlattıktan sonra bu dosyaları siliyor ve yine sadece 2016'ya kadar olan geçmişi gösteriyor.

4 - komisyoncunun teknik desteği, sonunda Z harfi olmadan çiftleri çalıştırmayı söyledi, ancak Z ile biten tüm döviz çiftlerine sahipler - EURUSDz, AUDCADz.

Sanırım sorun komisyoncuda ve onların sunucusunda, ama neden kopyalanan geçmişi bile siliyor? Biri bana geçmişi normal şekilde nasıl yükleyeceğimi söyleyebilir mi?

 
gyperion #:

Merhaba. Lütfen mt5'teki bir sorunla ilgili bana yardım edin.

2016'dan sonraki döviz çiftleri tekliflerinin geçmişi yüklenmiyor. Broker - Gerchik.

Denedim:

1 - strateji test cihazı aracılığıyla geçmişi indirin.

2 - araçlar terminali aracılığıyla. aptalca bir şekilde yalnızca 2016'ya kadar olan geçmişi gösteriyor.

3 - mt5 sunucusunun normal yüklü bir çiftinden geçmişi kopyalayın. faydası yok, programı yeniden başlattıktan sonra bu dosyaları siliyor ve yine geçmiş sadece 2016'ya kadar.

4 - komisyoncunun teknik desteği, sonunda Z harfi olmadan çiftleri çalıştırmayı söyledi, ancak Z ile biten tüm döviz çiftlerine sahipler - EURUSDz, AUDCADz.

Sanırım sorun aracı kurumda ve onların sunucusunda, ama neden kopyalanan geçmişi bile siliyor? Geçmişi normal şekilde nasıl yükleyebileceğimi söyleyebilecek biri var mı?

Belki de kendileri çok eski bir mutfak olmadıkları için geçmişleri yoktur?

 
Aleksey Vyazmikin #:

Belki de çok eski bir mutfak olmadıkları için bir geçmişleri yoktur?

Ve Rusya'dan çalışmak için bazı mutfaklar nelerdir? Gerçekten önemli değil. Asıl soru, ellerinde olmasa bile geçmişi nasıl yükleyecekleri?
 
gyperion #:
Peki Rusya'da çalışılmayacak ne var? Gerçekten önemli değil. Asıl soru şu: Ellerinde olmasa bile hikayeyi nasıl indirirsiniz?

Hiç paran olmasa bile bana borç verebilir misin?

 
gyperion #:
Peki Rusya'da çalışılmayacak ne var? Gerçekten önemli değil. Asıl soru, geçmişleri olmasa bile nasıl yükleyecekleri?

Özel karakterler aracılığıyla geçmişinizi oluşturun.

Importing High Quality Tick Data to MetaTrader 5
Importing High Quality Tick Data to MetaTrader 5
  • 2021.11.28
  • www.mql5.com
In order to vet a potential trading strategy, it is imperative to ensure that the results obtained f r om optimizations and strategy tests are a true reflection of the performance of your EA
 
Nauris Zukas #:

Özel karakterler aracılığıyla hikayenizi oluşturun.

Hmm. Kısmen işe yaradı, ama önemli olan işe yaramış olması. Araştırmaya devam edeceğim. Yardımınız için teşekkürler efendim, zaten her şeyi denedim.
 

Herkese merhaba, ilk ticaret robotumu (Uzman Danışman) yazmak istiyorum. Geriye dönük testte mükemmel çalışıyor ve test sonuçları da saygın. Ancak dikkate alınması gereken çeşitli şeyler var: hesap türleri, sembol özellikleri, diğer EA'larla etkileşim vb.

Bunun için dört değişkenim var:

bool isHedging; bool isFIFO; ulong positionTicket; double positionVolume;

İlk iki değişken init yönteminde ayarlanır:

if ((bool)AccountInfoInteger(ACCOUNT_HEDGE_ALLOWED)) isHedging = true;
else isHedging = false;
if ((bool)AccountInfoInteger(ACCOUNT_FIFO_CLOSE)) isFIFO = true;
else isFIFO = false;

Bir pozisyon açmak istersem, önce bunun FIFO ile ilgili sorunlara neden olup olmayacağını kontrol ederim (yani, uzun bir pozisyon açmak istersem, ilgili sembol için zaten aynı hacimde uzun bir pozisyon veya kısa bir pozisyon olup olmadığını kontrol ederim, aksi takdirde StopLoss ve TakeProfit düzgün çalışmayabilir, duyduğum gibi). Ve son olarak, OrderSend yöntemini kullanıyorum ve başarılı olup olmadığını ayarlıyorum:

positionVolume = tradeResult.volume;
positionTicket = tradeResult.deal;

Gerçekleştirilen bir StopLoss veya TakeProfit ile, OnTradeTransaction yöntemi aracılığıyla positionTicket değişkeninin transaction.position ile eşleşip eşleşmediğini kontrol ederek (dahili) EA pozisyonumun kapatılıp kapatılmadığını anlarım.

Bir netleştirme hesabı pozisyonunu kapatmak istersem, uzun bir pozisyonu aynı hacme sahip kısa bir işlemle kapatırım.

Bir riskten korunma hesabı pozisyonunu kapatmak istersem, pozisyonu trade.PositionClose(positionTicket, slippage) ile kapatırım;

Bir FIFO riskten korunma hesabı pozisyonunu kapatmak istersem, ilgili sembolün pozisyon yönü (uzun/kısa) ve hacmiyle eşleşen en eski pozisyonunu kapatırım, bu da yukarıda açıklanan FIFO hesapları için giriş koşullarım nedeniyle kendi pozisyonum olmalıdır.

Şimdi temel bir şeyi gözden kaçırdığımdan eminim. Yukarıda açıklandığı gibi (dahili) EA pozisyonunu kapattığımda bir netleştirme hesabındaki StopLoss ve TakeProfit'in de kapatılmasını nasıl sağlarım? EA'yı FIFO uyumlu hale getirmenin daha zarif ve verimli yolları var mı? FIFO olmayan bir hedging hesabıyla, EA'da yalnızca bir MarketOrder ile bir pozisyon açarsam, bunu düzenlemezsem ve sonra kapatmak istersem, tradeResule.deal değeri her zaman aynı mıdır, böylece bu pozisyonu trade.PositionClose(positionTicket, slippage) ile endişelenmeden kapatabilir miyim, burada positionTicket kaydedilen tradeResult.deal değeridir?

Birkaç gündür cevap arıyorum, ancak henüz tüm endişelerimi çözebilecek bir cevap bulamadım. Umarım buradan biri bana yardımcı olabilir.

 
Benjamin Fotteler #:

Şimdi temel bir şeyi gözden kaçırdığımdan eminim. Yukarıda açıklandığı gibi (dahili) EA pozisyonunu kapattığımda bir netleştirme hesabındaki StopLoss ve TakeProfit'in de kapatılmasını nasıl sağlarım? EA'yı FIFO uyumlu hale getirmenin daha zarif ve verimli yolları var mı? FIFO olmayan bir hedging hesabıyla, EA'da yalnızca bir MarketOrder ile bir pozisyon açarsam, bunu düzenlemezsem ve sonra kapatmak istersem, tradeResule.deal değeri her zaman aynı mıdır, böylece bu pozisyonu trade.PositionClose(positionTicket, slippage) ile herhangi bir endişe duymadan kapatabilir miyim, positionTicket kaydedilen tradeResult.deal değeri midir?

Birkaç gündür cevap arıyorum, ancak henüz tüm endişelerimi çözebilecek bir cevap bulamadım. Umarım buradan biri bana yardımcı olabilir.

Bir netleştirme hesabında sembol başına yalnızca bir pozisyon vardır. EA yalnızca bir sembolle işlem yapıyorsa, bu PositionTotal() içinde okunabilir - hatta daha basit PositionSelect() ya yanlıştır (=hiçbiri) ya da bu nedenle daha fazla işlem için de seçilmiştir.

Documentation on MQL5: Trade Functions / PositionSelect
Documentation on MQL5: Trade Functions / PositionSelect
  • www.mql5.com
PositionSelect - Trade Functions - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 

Bu doğru. İpucu için teşekkürler. Ancak, örneğin başka bir EA aynı sembol üzerinde çalışırsa, 0,5 lotluk bir pozisyon ve 100 puanlık bir stop loss açarsa, benim EA'm 0,5'lik bir "EA dahili pozisyonu" ve 150 puanlık bir stop loss açarsa, yani mevcut pozisyonu 1 lota çıkarırsa ve ardından "EA dahili pozisyonunu" kapatırsam, yani mevcut pozisyonu 0,5 lota düşürürsem ne yaparım? Kalan 0,5 lotun durdurma kaybı ne olur? 100 puan mı yoksa 150 puan mı? Yoksa netleştirme modunda böyle bir durumda SendRequest aracılığıyla "benim" 0,5 lotum için bağımsız bir stop loss ayarlamak mümkün değil mi?

Demek istediğim, diğer EA'ların iyi düşünülmüş durdurma kayıplarını basitçe değiştirmek istemiyorum, ancak kendiminkinden de vazgeçmek istemiyorum. "Sorunuma", yalnızca sembol için açık pozisyon olmadığında netleştirme modunda bir "EA dahili pozisyonu" açmaktan başka etkili bir çözüm var mı?

 
Benjamin Fotteler sembol üzerinde çalışırsa, 0,5 lotluk bir pozisyon ve 100 puanlık bir stop loss açarsa, benim EA'm 0,5'lik bir "EA dahili pozisyonu" ve 150 puanlık bir stop loss açarsa, yani mevcut pozisyonu 1 lota çıkarırsa ve ardından "EA dahili pozisyonunu" kapatırsam, yani mevcut pozisyonu 0,5 lota düşürürsem ne yaparım? Kalan 0,5 lotun durdurma kaybı ne olur? 100 puan mı yoksa 150 puan mı? Yoksa netleştirme modunda böyle bir durumda SendRequest aracılığıyla "benim" 0,5 lotum için bağımsız bir stop loss ayarlamak mümkün değil mi?

Demek istediğim, diğer EA'ların iyi düşünülmüş stop loss'larını değiştirmek istemiyorum, ancak kendiminkinden de vazgeçmek istemiyorum. "Sorunuma", yalnızca sembol için açık pozisyon olmadığında netleştirme modunda bir "EA dahili pozisyonu" açmaktan başka etkili bir çözüm var mı?

Netleştirilmiş bir hesapta(!) örneğin EURUSD için ilk EA 0,01 lot (alış) alırsa ve ikinci bir EA 0,05 lot (satış) satarsa, hesapta şu anda 0,04 satış ile yine yalnızca bir pozisyon vardır. Bilet numaraları şu an için burada tamamen önemsizdir. Ve EURUSD'deki tek pozisyon için ikinci sipariş yeni (onun = SL ve TP'sini) belirlerse, ilk siparişin üzerine yazılır.

Belirtilmişse, bir SL ve bir TP ile yalnızca bir konum vardır.