MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 216

 
Tek tıklama ticaret panelinin çalışıp çalışmadığını programlı olarak nasıl kontrol edebilirim?
 
Vladimir Tkach :
Tek tıklama ticaret panelinin çalışıp çalışmadığını programlı olarak nasıl kontrol edebilirim?

Sınıftan çekildi:

   //--- Получение параметра "панель торговли OneClick" на чарте
   bool                  IsChartOneClick( void )            { return ( ChartGetInteger (m_chart_id, CHART_SHOW_ONE_CLICK ));}
 
Artyom Trishkin :

Bu sorunun, bu çubukta bir pozisyon olup olmadığını veya daha önce açılıp kapatılıp kapatılmadığını kontrol ederek çözülmesi gerekiyor.

Aksi takdirde, her şeyi bir yığına atıyorsunuz. Sinyal işlevi sinyal göndermelidir ve ticaret işlevi zaten sinyalin geçerliliğini kontrol etmelidir.


Yapmak istediğim buydu ama nasıl uygulayacağımı bilmiyorum. Geçerli çubukta bir çek nasıl kaydedilir.
 
AlGuru :

Yapmak istediğim buydu ama nasıl uygulayacağımı bilmiyorum. Geçerli çubukta bir çek nasıl kaydedilir.

Açılış süresi çubuk 0'a karşılık gelen bir açık pozisyon olup olmadığını kontrol etmeniz gerekir.

Değilse, ayrıca çubuk 0'da açılmış ve üzerinde kapatılmış bir kapalı pozisyon olup olmadığını kontrol edin.

Buna göre, aşağıdaki işlevleri yapmanız gerekir:

  1. Son açık pozisyonun açılış çubuğu
  2. Son kapatılan pozisyonun açılış çubuğu
  3. Son kapatılan pozisyonun kapanış çubuğu
  4. Aynı çubuk üzerinde son kapatılan pozisyonun açılıp kapanması gerçeği (önceki iki fonksiyon 2 ve 3 kullanılır)
Ayrıca, bu işlevleri kullanarak bir karar vermek için ihtiyaç duyduğunuz verileri elde edin.
 
a196012a :

Hepinize iyi günler!

Lütfen bana strateji test cihazında aşağıdaki eylemi nasıl kodlayacağımı söyleyin

Genel anlam

1.N-X siparişi açıldı (hacim = 0.1)

2.Eğer ve bu sipariş SL tarafından kapatılır. kayıpları telafi etmek için NX emrinin SL'sindeki kapanış fiyatında hemen bir N - X1 emri açılır (hacim = 0.3)

İHTİYACIM VAR

3 Emir (hacim = 0.3) SL tarafından kapatılırsa - açıldığı kayıpları telafi etmek için sadece N -X emrinin açılış saatinin değerini hatırlayın.

Her iki emri de nasıl açacağımı biliyorum ama SL tarafından kapatılan 0.1 lot hacimli bir emrin saat değerini nasıl hatırlayacağımı bulamıyorum.

NOT, emirlerin tek bir tıklamayla kapatılmasıyla ilgilidir.

Bazen aynı tik üzerinde 0,1 hacimli ve 0,3 hacimli birden fazla siparişin kapatıldığı olur.

Bir onay SL tarafından kapatılırsa, örneğin 3 sipariş 0,3'te açılırsa, 3 sipariş 0,3'te açılır. - sadece 1 adet 0.3 lotluk sipariş açıldı

Bu durumda, SL tarafından yalnızca 0,3 lotluk 1 sipariş kapatıldığında, açıldıkları kayıpları telafi etmek için 0,1 lotluk iki siparişin açılış saatinin değerlerini almayacağım.

Yani, bu durumda, sadece bir değil, tam olarak 3 adet 0.3 lotluk siparişin açılmasına ihtiyacım var.


Ve bir tikte SL tarafından kapatılırlar, örneğin, karşılık gelen siparişlerin her birinin 0.1 olmasına rağmen, 0,3 lot hacimli 3 sipariş. lotlar farklı kenelerde açıldı (ancak aynı fiyata)

Bu durumda program yine 0,1 lotluk bir son sipariş için ihtiyacım olan saatin değerini kaydeder.

Ve 0,1 lotluk bir hacimle SL tarafından kapatılan her siparişin saat değerini hatırlamak için programa ihtiyacım var.


İşte sonuçlandırılacak kodum.

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

İşte birkaç siparişin bir onay işaretiyle kapatıldığı bir duruma bir örnek


Tünaydın!

1. Neden her kapalı siparişin zamanını hesaba katmanız gerekiyor? Sonuçta, onsuz yapabilirsiniz ... VEYA bu verileri başka bir yerde hesaba katıyor musunuz?

2. Ve tam olarak zararla kapanan son 3 sipariş? Veya kaç tane olacağı önemli değil, belki 5 veya 8 ... Ve buna göre, her biri için

Daha büyük lotlu bir sipariş, zararla kapanan bir siparişle eşleşmeli mi?

 
Valerius :


Tünaydın!

1. Neden her kapalı çubuğun zamanını kaydetmeniz gerekiyor? Sonuçta, onsuz yapabilirsiniz ... VEYA bu verileri başka bir yerde dikkate alıyor musunuz?

2. Ve tam olarak zararla kapanan son 3 sipariş? Veya kaç tane olacağı önemli değil, belki 5 veya 8 ... Ve buna göre, her biri için

Lot artışı olan bir emir, zararla kapanan bir emirle eşleşmeli midir?

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

Evet, programın sonraki işlemlerinde açılış saatini dikkate alıyorum.

Miktar 2 ila 10 arasında olabilir

Durdurarak kapatılan her emir için, büyük hacimli açılan başka bir emrin karşılık gelmesi gerekir.

Karşılık kelimesiyle, örneğin, 1 gün içinde, herhangi bir zamanda açılan 3 emir, SL'de hemen kapanış fiyatından kapatılırsa, demek istiyorum.

Daha büyük hacimli 3 sipariş açılmalıdır. Her bir siparişin kapanışından hemen sonra. Hepsi aynı anda değil. Örneğin, 12.00'de bir emir 1.2000 fiyatından kapatıldı.

hemen 12.00'de 1.2000 fiyatla daha büyük hacimli bir sipariş açılır. Ve böylece, SL tarafından kapatılan daha küçük bir hacmin her bir siparişi için. Ve daha büyük hacimli bir siparişi SL ile kapattıktan sonra - açıldığı kapanışa yanıt olarak siparişin açılış saatini hatırlayın. Yani saat 12:00'de 1.200 fiyattan bir emir açılmış ve stopla kapatılmışsa, 12:00'de 1.2000 fiyattan daha büyük hacimli bir emir açılır. Ve daha büyük hacimli bir sipariş SL tarafından kapatılmışsa , daha küçük hacimli bir sipariş açma saatini hatırlayın, yani 12.

Ve böylece sadece SL tarafından kapatılan daha büyük bir hacmin her siparişinden sonra.

Benim için özel bir zorluk, SL'de aynı tık üzerinde birkaç emrin kapatıldığı durumlarda emirleri açmak ve saatin değerlerini kaydetmek (2'den 10'a kadar)

Bu durumun ayrıntılı bir açıklaması için ilk gönderiye bakın.

 
a196012a :

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

Evet, programın sonraki işlemlerinde açılış saatini dikkate alıyorum.

Miktar 2 ila 10 arasında olabilir

Durdurarak kapatılan her emir için, büyük hacimli açılan başka bir emrin karşılık gelmesi gerekir.

Karşılık kelimesiyle, örneğin, 1 gün içinde, herhangi bir zamanda açılan 3 emir, SL'de hemen kapanış fiyatından kapatılırsa, demek istiyorum.

Daha büyük hacimli 3 sipariş açılmalıdır. Her bir siparişin kapanışından hemen sonra. Hepsi aynı anda değil. Örneğin, 12.00'de bir emir 1.2000 fiyatından kapatıldı.

hemen 12.00'de 1.2000 fiyattan daha büyük hacimli bir sipariş açılır. Ve böylece her sipariş için. Ve daha büyük hacimli bir siparişi SL ile kapattıktan sonra - açıldığı kapanışa yanıt olarak siparişin açılış saatini hatırlayın. Yani saat 12:00'de 1.200 fiyattan bir emir açılmış ve stopla kapatılmışsa, 12:00'de 1.2000 fiyattan daha büyük hacimli bir emir açılır. Ve daha büyük hacimli bir sipariş SL tarafından kapatılmışsa , daha küçük hacimli bir sipariş açma saatini hatırlayın, yani 12.

Ve böylece sadece SL tarafından kapatılan daha büyük bir hacmin her siparişinden sonra.


Peki bir açıklama daha.... Örneğin 1. sipariş 0.1 lot ile kapatılmış, 2. sipariş 0.3 lot ile açılmıştır. İlk siparişin açılış saatini hatırlayın. Sonra 2. sipariş stopla kapatıldı, 2. siparişin açılış saatini hatırladık ve 0.9 lot ile sipariş verdik. Vb. doğru mu anladım VEYA her zaman sadece ilk siparişin zamanını hatırlamanız mı gerekiyor?
 
Merhaba. Neden euro ve usd döviz çiftlerini 1,0616 değil de 149.16325 sayılarıyla görüntüleyebilirim?


 
sidovi :
Merhaba. Neden euro ve usd döviz çiftlerini 1,0616 değil de 149.16325 sayılarıyla görüntüleyebilirim?



Teklifleri güncellemeyi deneyin. Servis - Fiyat teklifi arşivi - döviz çiftinizi seçin - indirin.

Yardımcı olmazsa, metatrader'ı yeniden yükleyin.

 
Valerius :

Peki bir açıklama daha.... Örneğin 1. sipariş 0.1 lot ile kapatılmış, 2. sipariş 0.3 lot ile açılmıştır. İlk siparişin açılış saatini hatırlayın. Sonra 2. sipariş stopla kapatıldı, 2. siparişin açılış saatini hatırladık ve 0.9 lot ile sipariş verdik. Vb. doğru mu anladım VEYA her zaman sadece ilk siparişin zamanını hatırlamanız mı gerekiyor?

Daha büyük hacimli tüm siparişler yalnızca 0,3 lotluk bir hacimle açılır. SL'de 0,3 lot hacimli siparişlerin kapatılmasına yanıt olarak daha küçük hacimli tüm siparişler, 0,1 lot hacimli açılır. Sadece 0.1 ve 0.3. Başka cilt yok.

SL ile 0,3 hacimli bir siparişi kapatırken, açıldığı kapanışa yanıt olarak emrin açılış saatini hatırlayın (yani, 0.1 lot hacimli siparişler).

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

Aynı zamanda, mesajıma bir yanıt geldiğinde .my e-posta adresime mesaj gönderen seçeneğin nerede yapılandırıldığını söyleyebilir misiniz?

Bir kez daha, çok teşekkür ederim.

Neden: