MQL5'te birlikte öğrenme ve yazma - sayfa 16

 
AUser :
İnsanlar! Programlamaya yeni başlayan birine tanıtıcı ile nasıl çalışılacağını anlatın. Nedir - arabellekte bir dosya mı? Onunla çalışmak için ondan bilgi nasıl çıkarılır?

Bak:

MQL5 Referans / Teknik Göstergeler

MQL5 Referansı / Zaman Serileri ve Göstergeler Erişimi / CopyBuffer

Kısaca, tutamaç, CopyBuffer işlevinde kullanılması amaçlanan program tarafından oluşturulan göstergenin bir kopyasına yönelik bir işaretçidir (bağlantı).

Ayrıca yeni başlayanlar için makalelere bakın, bunun hakkında konuşuyorlar.

 
AUser :

Ve cari fiyatın değerini bir değişkene nasıl atayabilirim, bana söyleme?

"MQL4'ten MQL5'e geçiş" makalesini tanımak muhtemelen daha kolay.

Evet ve belgelere daha sık bakmak gereksiz değil.

Ve bu, SymbolInfoDouble işlevi örneğindeki sorunun cevabıdır.

 double ask= SymbolInfoDouble ( Symbol (), SYMBOL_ASK );
double bid= SymbolInfoDouble ( Symbol (), SYMBOL_BID );
 

AUser :

Ayrıca tarihsel verilerini gösterge tutamağına yüklemenin mümkün olup olmadığını merak ediyorum.

Kesin olmak gerekirse, tutamaç bunun için tasarlanmamıştır, ancak veriler "Zaman serilerine ve gösterge verilerine erişim" bölümündeki işlevler kullanılarak özel dizilere yüklenir.

En azından bu işlevler daha yakından tanınmaya değer.

Kopya Arabelleği

Belirtilen arabelleğin verilerini belirtilen göstergeden bir diziye alır

Kopya Oranları

Belirtilen sembol ve dönem için Rates yapısının geçmiş verilerini bir diziye alır

Kopyalama Süresi

İlgili sembol ve periyot için çubukların açılma zamanına ilişkin dizi geçmiş verilerine girer

Kopyala Açık

Bir diziye karşılık gelen sembol ve dönem için çubukların açılış fiyatına ilişkin geçmiş verileri alır

Kopya Yüksek

Bir diziye karşılık gelen sembol ve dönem için çubukların maksimum fiyatına ilişkin geçmiş verileri alır

düşük kopyala

İlgili sembol ve dönem için çubukların minimum fiyatına ilişkin geçmiş verileri diziye alır

Kopyala Kapat

Bir diziye karşılık gelen sembol ve dönem için çubukların kapanış fiyatına ilişkin geçmiş verileri alır

 

AUser :

Ancak göstergenin tarihi ile her şey net değil. Sorun şudur: çubuklardaki göstergelerin değerlerini karşılaştırmadan önce, gösterge dizilerinde biriktirilmeleri gerekir. Peki, tamam - 15 dakikalık çubuklardan değerleri bekleyebilirsiniz, peki ya haftalık olanlar? Referans kitabına baktım - anlamadım))) Diyelim ki: CopyClose ( Bir diziye karşılık gelen sembol ve periyot için çubukların kapanış fiyatına ilişkin tarihsel verileri alır) Verileri alacağız, ancak bunlardan gösterge değerlerini hesaplamaya nasıl zorlayabiliriz? Burada anlamadığım bir şey var.


Anladığım kadarıyla göstergeleri kullanarak bir Uzman Danışman yazıyorsunuz?

Sap alınırsa ve belirgin bir sorun yoksa, CopyBuffer kullanılarak özel (kullanıcı) türkiye'den veri elde edilir, standart teknik göstergeler için aşağıdaki işlevlerin kullanılması daha iyidir

Bu kod, gerçekte kopyalanan dizi öğelerinin sayısını veya -1'i döndürürken arabellek 0'dan arabellek dizisine 20 çubuk için veri yazmalıdır.

 int Res = CopyBuffer (MyHandle, 0 , 0 , 20 ,buffer[]);

Aynı zamanda, 0 bar'dan 20 bar sayılır, bu yüzden seriliği unutmamalıyız (daha fazlasını buradan okuyun ). Daha fazla bilgi edinme hakkında daha fazla bilgiyi buradan okuyabilirsiniz.

 
AUser :
Yemin ederim.. sorun ne

OrderSend işleviyle ilgili yardım buraya gönderin

 
AUser :
Hazırlanmadan anlaşılması zor bir şekilde yazılmıştır)

OrderSend işleviyle ilgili yardım buraya gönderin

Umarım sadece okursun . Aksi takdirde, hiçbir şey yapamazsınız.

 

AUser , - Sergeev haklı. OrderSend işlevinin yalnızca iki parametresi vardır. MQL5 donanımını incelemek için biraz zaman harcamanız gerekiyor.

 
AUser :

yazdı:

OrderSend(TRADE_ACTION_DEAL,Symbol(),1,SL,TP,10,ORDER_TYPE_BUY, ORDER_FILLING_CANCEL );

Yemin ederim.. sorun ne?

Gerçek fiyatından satın almak istiyorum.

1. Bu bölüm için daha detaylı bir kod veya çalışan bir örnek almak istiyorum;

2. Bu kodun uygulanacağı dile hemen karar vermek istiyorum;

3. İnsanların yardımı nasıl okuyacaklarını öğrenmelerini istiyorum, bu durumda OrderSend işlevinin açıklamasını okuyun.

Bu durumda, bu parça yeterli olacaktır!

OrderSend() işlevi, ticaret sunucusuna istek göndererek ticaret işlemlerini gerçekleştirmek için tasarlanmıştır.

bool SiparişGönder (
    MqlTradeRequest&    istek , // istek yapısı
    MqlTicaretSonucu&    sonuç         // yanıt yapısı
);

4. İnsanların yapılar hakkında daha fazla bilgi edinmelerini istiyorum MqlTradeRequest ve MqlTicaretSonucu

5. En azından birinin CTrade gibi harika bir şeyle tanışmasını isterim (bu sınıfın doldurulması \MQL5\Include\Trade\Trade.mqh dosyasında bulunur)

Bir EA'daki uygulama örneği, standart EA - MACD Sample'da bulunabilir.

Daha da fazlasını söyleyeceğim, CSampleExpert sınıfından başlayarak CTrade coass'ın aşağıdaki işlevlerine kadar siparişte neler olduğunu tanımak güzel olurdu:

a) PositionOpen - Verilen parametrelerle bir pozisyon açar

b) PositionModify - Belirtilen sembol için konum parametrelerini değiştirir

b) PositionClose - Belirtilen sembol üzerindeki pozisyonu kapatır.

not

Sonuç olarak, insanların yalnızca yardımı okumalarını değil, aynı zamanda standart kitaplığın dosyalarında ( Ctrl+Shift+F tuş kombinasyonunu tanımak güzel olurdu) ve örneklerde bilgi arayabilmelerini istiyorum. bu sitede bulunur (Nasıl kullanacağınızı biliyorsanız Kod Tabanı güçlü bir şeydir).

 

Sleep() işlevi hakkında soru . Bu işlevi bir Expert Advisor'da kullanmanın yalnızca bu Expert Advisor'ın yürütülmesini askıya aldığını ve işlemci (çekirdek) kaynaklarını bu çekirdeğin görev listesinden sonraki görevlere aktardığını doğru anlıyor muyum? Başka bir deyişle, Sleep() işlevinin Expert Advisor'ın işlendiği iş parçacığını yavaşlatmadığı, ancak mevcut Expert Advisor ile belirli bir çekirdek tarafından alınan diğer programlar arasında bir geçiş olarak çalıştığı doğru mu?

Документация по MQL5: Общие функции / Sleep
Документация по MQL5: Общие функции / Sleep
  • www.mql5.com
Общие функции / Sleep - Документация по MQL5
 

MqlTradeResult yapısı hakkında soru. İçinde zaman alanını bulamadım - başarılı temel istek doğrulama zamanı (veya buna benzer bir şey) MqlTradeResult yapısına ek bir zaman alanı ekleme sorusunun gündeme gelip gelmediğini hatırlayan var mı? Aniden tarihe geçerse, bekleyen bir emrin çıkarılması gerekiyordu.

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура результата торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура результата торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура результата торгового запроса - Документация по MQL5
Neden: