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

 
Aleksei Lesnikov :

Alexey, teşekkürler! Şimdi bunun imkansız olduğu açık.  

Doğru, tam olarak mql4'e sahip değilim. Verileri CiOpen sınıfı aracılığıyla değiştirmeye çalışıyorum. Dizide belirtilen konumda öğeyi değiştirmesi gereken Update yönteminin varlığıyla kafam karıştı.

Değişkenlerinize/dizilerinize kopyalayın ve onlarla çalışın.
 
Valeriy Yastremskiy :
Değişkenlerinize/dizilerinize kopyalayın ve onlarla çalışın.

Ve öyle yaptı.

 

Büyük yardım talebi! Programlama konusunda oldukça yeniyim.

Okurken, kodu uygulamada zorluklarla karşılaştım. Bir makale var https://www.mql5.com/ru/articles/3336 Karşılaştırmanın nasıl çalıştığını anlayamıyorum

       if (!CompareTiks(n_tiks[i], m_ticks[k]))

Orada "Şablon veri koleksiyonlarının" kullanıldığından şüpheleniyorum ve böyle bir küresel yöntem " Karşılaştır" var. Yalnızca burada, makale listesinde hiçbir yerde , "Şablon veri koleksiyonlarından" "Karşılaştır"ı kullanmanız gerektiğini derleyiciye nasıl netleştireceğiniz ve aşağıdakilerden global yöntemleri kullanma örnekleri verilmez.   "Şablon veri koleksiyonları" bulunamadı.

Global yöntemin açıklamasında verilen böyle bir giriş, sonuç olarak hiçbir şeyi değiştirmeyeceğini düşünüyorum.

şablon<tür adı T>
int Karşılaştır(
T x, // ilk değer
T y // ikinci değer
);

Sonuç olarak, aşağıdaki koda sahibim (veya daha doğrusu kod bana sahip)

#ifndef Dahil Et
#define MyInclude


//şablon<türadı T>
//arayüz ICollection
//#include <Generic\Interfaces\ICollection.mqh>
şablon<tür adı T>
int Karşılaştır(
T x, // ilk değer
T y // ikinci değer
);

sınıf CMarketBook
{
özel:
string m_symbol;
MqlTick m_ticks[];
MqlTick LastTicks[];

korumalı:

halka açık:
geçersiz CMarketBook::CompareTicks(void);
};
//+------------------------------------------- --------------------+
//|İki kene koleksiyonunu karşılaştırın ve yeni keneler bulun |
//+------------------------------------------- --------------------+
geçersiz CMarketBook::CompareTicks(void)
{
MqlTick n_ticks[];
ulong T_begin = (TimeCurrent()-(1*20))*1000;//20sn önce
m_symbol = Sembol();
int Toplam = CopyTicks(m_symbol, n_ticks, COPY_TICKS_ALL, T_begin, 1000);
if (Toplam < 1) {printf("Tıklar alınamadı"); dönüş;}
if (ArraySize(m_ticks) == 0) {ArrayCopy(m_ticks, n_ticks, 0, 0, WHOLE_ARRAY ); dönüş;}

int k = ArraySize(m_ticks)-1;
int n_t = 0;
int limit_comp = 20;
int Comp_success = 0;

// Alınan yeni keneler arasında dolaş
for (int i = ArraySize(n_ticks)-1; i>=0 && k>=0; i--)
{
if (!Compare(n_ticks[i], m_ticks[k]))
{
n_t = ArraySize(n_ticks) - i;
k = ArraySize(m_ticks) - 1;
Comp_success = 0;
}
başka
{
Comp_success += 1;
if (Comp_success >= Limit_comp) sonu;
k--;
};
};
//Alınan keneleri hatırla
ArrayResize(m_ticks, Toplam);
ArrayCopy(m_ticks, n_ticks, 0, 0, WHOLE_ARRAY);
// Yeni kenelerin başlangıç indeksini hesaplayın ve erişim için arabelleğe kopyalayın
ArrayResize(LastTicks, n_t);
eğer (n_t > 0)
{
int dizin = ArraySize(n_ticks) - n_t;
ArrayCopy(LastTicks, m_ticks, 0, dizin, n_t);
};
};
#endif

Derlerken, bir hata oluşturulur - eğer (!Compare(n_ticks[i], m_ticks[k])) n_ticks[i]'yi işaret ediyorsa, satıra "nesne yalnızca referans yoluyla geçirilir"

Пишем скальперский стакан цен на основе графической библиотеки CGraphic
Пишем скальперский стакан цен на основе графической библиотеки CGraphic
  • www.mql5.com
Именно с этой, улучшенной и дополненной версией мы и начнем работать, чтобы постепенно превратить ее в скальперский стакан цен. Краткий обзор графической библиотеки CPanel Созданию пользовательских интерфейсов в MQL5 посвящено много статей. Среди них особенно выделяется серия Анатолия Кажарского "Графические интерфейсы", после которой сложно...
 
Mobil İnternet kullanırken SendNotification gelmiyor ... Wi-Fi'ye bağlandıklarında geliyorlar (mobil ağ ile gelmeyenler bile). Bu sağlayıcı tarafında bir sorun mu? Mobil İnternet ayarlarında tüm izinler etkin görünüyor ...
 

Hepinize iyi günler.

Alpari'nin MT4 Uzman Danışmanını test ediyorum. Testten önce, MT bana spread değerini (mevcut değer veya sunulanlardan belirli bir değer) ayarlamamı teklif ediyor.


Alpari'de yayılma dalgalanıyor. Bu nedenle yukarıdaki spread ayarları bana uymuyor.

SORU. Her geçmiş tik için geçerli olan yayılma değerlerini geçmişte hangi işlev görüntüler?
Veya EA'nın, siparişi açarken veya kapatırken geçerli olan marjı dikkate alarak siparişleri açıp kapatmasını nasıl sağlayabilirim?

Yardımlarınız için hepinize teşekkür ederim.

 
ANDREY :

Hepinize iyi günler.

Alpari'nin MT4 Uzman Danışmanını test ediyorum. Testten önce, MT bana spread değerini (mevcut değer veya sunulanlardan belirli bir değer) ayarlamamı teklif ediyor.


Alpari'de yayılma dalgalanıyor. Bu nedenle yukarıdaki spread ayarları bana uymuyor.

SORU. Her bir geçmiş kene için geçerli olan spread değerlerini geçmişte hangi fonksiyon gösterir?
Veya EA'nın, siparişi açarken veya kapatırken geçerli olan marjı dikkate alarak siparişleri açıp kapatmasını nasıl sağlayabilirim?

Yardımlarınız için hepinize teşekkür ederim.

MT 4'te hiçbir şekilde, MT 5'te yapabilirsiniz

 
Vladimir Pastushak :

MT 4'te hiçbir şekilde, MT 5'te yapabilirsiniz

Değerli bilgiler için çok teşekkürler.

mql5 öğrenmeye başlayacağım. mql4'e çok benzediği söyleniyor. İhtiyacım olan açıdan hemen çalışabilmem için planımın mql5'te nasıl gerçekleştiğini anlatırsanız çok minnettar olacağım.

 
ANDREY :

Değerli bilgiler için çok teşekkürler.

mql5 öğrenmeye başlayacağım. mql4'e çok benzediği söyleniyor. mql5'te fikrimin nasıl gerçekleştiğini anlatırsanız size çok minnettar olurum.

MT5'te hiçbir şey icat etmenize gerek yok.
Her şey otomatik olarak gerçekleşir ve EA , strateji test cihazında değişken bir spread ile işlem görür.
 
Vladislav Andruschenko :
MT5'te hiçbir şey icat etmenize gerek yok.
Her şey otomatik olarak gerçekleşir ve EA , strateji test cihazında değişken bir spread ile işlem görür.

Bu harika. Değerli bilgi için teşekkürler.

Bana öyle geliyor ki mql4'ten mql5'e hızlı bir şekilde geçmek için mql4 ve mql5 referans kitaplarını aynı anda okumak ve birbirlerinden nasıl farklı olduklarına dikkat etmek en iyisidir. Her şey görecelidir.....
 

Hepinize iyi günler!

mql5 öğrenmeye başladı. Siparişlerin nasıl açıldığını inceleyerek başladım. Sipariş açma kodunun ayrı bir içerme dosyasına yazıldığını fark ettim. Bu kodun nasıl yazıldığına ve ticaret için son versiyonuna baktım. Mql5'e kıyasla mql4'te bir sipariş açmanın ne kadar kolay ve basit olduğuna şaşırdım.

SORU. Sipariş açma kodunu içeren dosyanın zaten bir yerde olduğunu ve bu kodu yazmam gerekmediğini doğru anlıyor muyum? Eğer bir yerde böyle bir dosya varsa o zaman bunu Uzman Danışmanıma bağlayıp ihtiyacım olan sipariş parametrelerinin değerlerini ayarlamam yeterli. Bir yerde böyle bir dosya varsa, nerede ve nasıl bulunur ve ne denir.

Teşekkür ederim.

Neden: