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

 
Artyom Trishkin :

Sonunda neye ihtiyaç duyulduğu belli değil - bazı dağınık düşünceler.


Bunlar aynı sorunu çözerken bir gönderide iki soru :-)

1. Veri döndürmesi gereken bir işlevden nesne oluşturma hatası nasıl döndürülür

2. Her seferinde PositionsTotal'ı kullanmadan belirli bir sembol için konumları yinelemenin bir yolu var mı?

 
psyman :


Bunlar aynı sorunu çözerken bir gönderide iki soru :-)

1. Veri döndürmesi gereken bir işlevden nesne oluşturma hatası nasıl döndürülür

2. Her seferinde PositionsTotal'ı kullanmadan belirli bir sembol için konumları yinelemenin bir yolu var mı?

1. Neden basitçe bir nesne oluşturup başarı durumunda true veya hata durumunda false döndürmesi gereken nesne oluşturma işlevi başka bir şey döndürmeli? Yapmamalı. Bir işlev bir şey yapmalı ve çalışmasının sonucunu döndürmelidir. Veya bir canavar yapmak istiyorsanız, verileri referans olarak değişkenler aracılığıyla döndürün.

2. Ne tür bir hesaba sahip olduğunuza bağlıdır.

3. En sonunda yardımı açmanız yeterli - bir sürü "harika keşif" var

 
Artyom Trishkin :

1. Neden basitçe bir nesne oluşturup başarı durumunda true veya hata durumunda false döndürmesi gereken nesne oluşturma işlevi başka bir şey döndürmeli? Yapmamalı. Bir işlev bir şey yapmalı ve çalışmasının sonucunu döndürmelidir. Veya bir canavar yapmak istiyorsanız, verileri referans olarak değişkenler aracılığıyla döndürün.

2. Ne tür bir hesaba sahip olduğunuza bağlıdır.

3. En sonunda yardımı açmanız yeterli - bir sürü "harika keşif" var


Seni anlıyorum, teşekkürler, kodu basitleştireceğim.

Hedge hesap türü.

Soruların basit görünmesi mümkündür, ancak yardımı okuduktan hemen sonra ortaya çıkarlar, orada her şey ayrıntılı olarak açıklanmaz, makalelerde veya burada bilgi edinmeniz gerekir.

 
Roman Shiredchenko :

Yoldaşlar - doğruluk göstergesine bakın. Değer = (Open[0]-SMA(P,n))/SMA(P,n))*%100 formülü vardır.

Grafiği çiziyorum - her şey sayılır ve çizilir. Hesap makinesindeki herhangi bir çubuğun değerini kontrol etmeye başlıyorum - çizilenle eşleşmiyor...

İşte bir örnek, Açık 1.0178, MA(13) 1.0182 hesap makinesine ((1.0178-1.0182)/1.0182) * %100 - hesap makinesinin sonucu olarak -0.0393'e göre güveniyorum. Ve MT4 grafiğinde -0.0929. Kodda bir hata mı var yoksa hesap makinesi orada herhangi bir değeri doğru hesaplamıyor mu? Lütfen yardım et. Gösterge ektedir.

Formülünüzde amaçlandığı gibi Open[0] var.

 
Alekseu Fedotov :

Formülünüzde amaçlandığı gibi Open[0] var.

iyi evet. Yani açılış fiyatlarına bakıyorum... Kapanışla açık gibi görünüyor... Kafaları karıştı...
 
Seric29 :
Bu formatta 4 boyutlu bir dizi nasıl değerlerle doldurulur int Mas[1][2][2][2], bu dizinin her hücresine bir değer nasıl atanır , böyle bir kayıttan bahsediyorum örneğin , 2 boyutlu bir dizi var int Arr[1][2]={ 3,4};, 4 boyutlu olan nasıl doldurulacak?

Bir dizi yapı kullanın, program yürütme açısından çok daha basit, daha net ve daha üretken

 struct My_St
{
   datetime tm; 
   int       mg;    
   double    tp;     
   double    sl;     
};
My_St st[];
 

Analitik olarak işaretlenmiş birkaç aracım var.

renk düzenini değiştirmek istiyorum.

Her şeyi elle yapmak istemiyorum, akıllıca yapmak istiyorum.

bir şekilde yapabilir miyim? örneğin, tüm metnim siyah ama ben beyaz olmasını istiyorum.

Teşekkürler

 
Roman Shiredchenko :
iyi evet. Yani açılış fiyatlarına bakıyorum... Kapanışla açık gibi görünüyor... Kafaları karıştı...

Şey, bilmiyorum, öyle olması gerekiyordu.


Buradaki düşünce neydi?

tik değeri bir çubuk olarak alınırsa (Geçmiş =5000'den; // Hesaplanan geçmişteki çubuk sayısı)

sonra aynı barın açılması, ama ne kadar sıfır olursa olsun,

formülünüz (Open[0]-SMA(P,n))/SMA(P,n))*100%


roman, iyi şanslar

 
Igor Makanu :

çok boyutlu diziler genellikle döngülerde gerekli değerlerle doldurulur - hata yapmak daha zordur, dört boyutlu bir dizi için bunun gibi bir şey olmalıdır, ancak yanılıyor olabilirim:

Hayır yanılmıyorsun benim hatam şöyle yazmışım

A[ 1 ][ 2 ][ 4 ][ 2 ] = {{{ 1 , 2 }, { 0 , 2 }, { 1 , 2 }, { 1 , 2 }},{{ 1 , 2 }, { 1 , 2 }, { 1 , 2 }, { 1 , 2 }}}, 

ama böyle yazmalıydı

A[ 1 ][ 2 ][ 4 ][ 2 ] = {{{{ 1 , 2 }, { 0 , 2 }, { 1 , 2 }, { 1 , 2 }},{{ 1 , 2 }, { 1 , 2 }, { 1 , 2 }, { 1 , 2 }}}}, 

Kenarlarda 4 parantez var ve bende 3 tane var, bu durum şöyle okunuyor

A[ 1 ] - означает 1ну строку, один ярус
A[1][2] 2ка в следующих скобочках говорит о том что мы имеем дело с 2мя 3ёх-мерными массивами, другими словами, это как 2 параллельных мира
A[ 1 ][ 2 ][ 4 ][ 2 ] - последующие [4][2] описываю 3ёхмерный массив, т.е. каждый из массивов имеет 4 столбца, и в каждом по 2 значения вот пример
{{ 1 , 2 }, { 0 , 2 }, { 1 , 2 }, { 1 , 2 }} 4 столбца в каждом по значения

Genel olarak, teşekkürler, eğer yaşarsam bununla çalışacağım.

 
Seric29 :

Bir yapıyı bir fonksiyona geçirirken, her yapı için bir fonksiyon yazmanız gerekiyor, bu yüzden fonksiyon çok statik çıkıyor ve evrenselliği yok. Ancak yapıların olumlu nüansları var, farklı türlerdeki dizileri yapılarda birleştirip tek bir çok boyutlu dizi olarak okuyabilirsiniz, ancak ne yazık ki bunun nasıl yapıldığının gösterildiği bu sitenin bağlantısını kaybettim. Doğruyu söylemek gerekirse, yapılarla pek anlaşamıyorum, bir değişkeni global olarak tanımlarsanız, bir yapının alanlarına bir nokta aracılığıyla erişmekten çok daha az metin var, ben de sınıfları anlamıyorum, tekrar okuyorum. materyali birçok kez sonuncusunda biraz daha anladım, ancak çok karmaşık ve zor açıklandı, açıklamada fazla bilimsel ifadeler kullanılıyor, bu yüzden prensipte materyalin çoğunu anlamadım ve hangi spesifik dinamik objeler yapılabiliyor bana da ulaşmadı.