Kodlama yardımı - sayfa 301

 
sunshineh:
Merhaba,

Dosya işlevlerini kullanıyorum ve iyi çalışıyorlar!

Oldukça büyük dosyalar kullanıyorum ve bir for-loop ile çalışıyorum.

Her döngüde dosyanın bir satırını okuyorum. Bu yüzden bazen bu satırlardan birindeki bir kelimeyi değiştirmek istiyorum.

Bunu yapmanın kolay bir yolu var mı? Dosyayı okumak için kapatır ve yazmak için açarsam, dosya işaretçim dosyanın sonuna gider.

Ancak gerçek dosya işaretçisi konumunu alma olasılığı var mı? Böylece dosyanın ortasına doğrudan fe yazabiliyorum.

Çizgiler sabit boyutta değilse kolay bir yol yoktur (o zaman tüm dosyayı yeniden yazmanız gerekir)

Çizgiler sabit boyuttaysa FileSeek (fileHandle,lineSize*(numberOfLine-1),SEEK_SET); ve sonra değişiklikleri o belirli satıra yazın

 

Mesajımı tekrar edersem özür dilerim...ama bu benim için önemli ...Kod örneğine ihtiyacım var:

Merhaba Mladen,

5 dakikalık zaman diliminde, stok 5-3-3'ün 15 dakikalık zaman diliminde 20'nin altında olduğunu gösteren küçük bir gösterge istiyorum.

Stok çoklu zaman çerçevesi istemiyorum .... ancak daha düşük tf'de daha yüksek zaman çerçevesi sinyali istiyorum.

Şimdiden teşekkürler

 

Merhaba Mladen,

Gecikmesiz ma nrp değerlerini CSV dosyasına aktarmak istiyorum.Kırmızı(domates) renkler negatif, mavi renkler pozitif değerler olmalı.Teşekkürler.

 
nevar:
Merhaba Mladen , gecikme olmayan ma nrp değerlerini CSV dosyasına aktarmak istiyorum.Kırmızı(domates) renkler negatif, mavi renkler pozitif değerler olmalı.Teşekkürler.

nevar

İşte bunu yapan bir komut dosyası: export_nonlag_ma_data.mq4

Göstergeler klasöründeki bu gönderideki "NonLag ma nrp nmc"ye de ihtiyacınız var: https://www.mql5.com/en/forum/general

Dosyalar:
 
mladen:
AZRUL

180 satırında aramak istediğiniz değeri sağlamıyorsunuz (bu satır:

int sıralama = sıra();

yani rank fonksiyonu herhangi bir değerle karşılaştırılamaz. Aramanız aşağıdaki biçimde olmalıdır:

int sıralama = rank(someValueToRank);

Sayın MLADEN,

Artan Sırada bir SIRALAMA yapmak için Göstergemden Toplam çıktı sıralamasını almaya çalıştım ancak başaramadım... Sadece 2 çıktı aldım ve bunlardan sadece biri doğru.. (Sanırım öyle..) ve kalan (5 tane daha) (0) sıfır......

Düşünebildiğim her şeyi denedim ve onları Artan veya Azalan iyi olacak şekilde sıralamak için nasıl bir kod üretileceğine dair fikirler tükeniyor.... LÜTFEN YARDIM EDER MİSİNİZ........

Zamanınız ve uzmanlığınız her zaman takdir edilir ve ihtiyaç duyulur.......

saygılarımla

AZRUL...

Dosyalar:
 
12BPRO:
Sayın MLADEN,

Artan Sırada bir SIRALAMA yapmak için Göstergemden Toplam çıktı sıralamasını almaya çalıştım ancak başaramadım... Sadece 2 çıktı aldım ve bunlardan sadece biri doğru.. (Sanırım öyle..) ve kalan (5 tane daha) (0) sıfır......

Düşünebildiğim her şeyi denedim ve onları Artan veya Azalan iyi olacak şekilde sıralamak için nasıl bir kod üretileceğine dair fikirler tükeniyor.... LÜTFEN YARDIM EDER MİSİNİZ........

Zamanınız ve uzmanlığınız her zaman takdir edilir ve ihtiyaç duyulur.......

saygılarımla

AZRUL...

12BPRO

Sanırım size daha önce de söylemiştim: 2 boyutlu bir sıralama/sıralama yapmanız gerekiyor (çünkü her par'da görüntülemek istediğiniz bir değer+sembol adı var) sadece değerleri sıralamak yeterli değil çünkü bu şekilde kaybediyorsunuz. sembol adları, değer yerine taşındığında sembol adını da karşılık gelen yere taşıyacak bir sıralama prosedürü yapmanız gerekir.

 
mladen:
12BPRO Sanırım size daha önce de söyledim : 2 boyutlu bir sıralama/sıralama yapmanız gerekiyor (çünkü her par'da görüntülemek istediğiniz bir değer+sembol adı var) Bu şekilde olduğunuz için sadece değerleri sıralamanız yeterli değil. sembol isimlerini kaybetmek, değer yerine taşındığında sembol adını da karşılık gelen yere taşıyacak kendi sıralama prosedürünüzü yapmanız gerekir.

Sayın MLADEN,

Bu kodu sıralama prosedürünü ekleyerek denedim ve bir değer gösteriyor... maalesef son dizi değerini (TOTCAD) atlamış görünüyor... LÜTFEN bakar mısınız...

Çok üzgünüm, PROGRAMCI değilim .... pek anlamıyorum... Sevgili GURU'm..... Bunu öğrenmek için elimden geleni yapıyorum......

Zamanınız ve uzmanlığınız her zaman takdir edilir ve ihtiyaç duyulur.......

saygılarımla

AZRUL...

Dosyalar:
 
12BPRO:
Sayın MLADEN,

Bu kodu sıralama prosedürünü ekleyerek denedim ve bir değer gösteriyor... maalesef son dizi değerini (TOTCAD) atlamış görünüyor... LÜTFEN bakar mısınız...

Çok üzgünüm, PROGRAMCI değilim .... pek anlamıyorum... Sevgili GURU'm..... Bunu öğrenmek için elimden geleni yapıyorum......

Zamanınız ve uzmanlığınız her zaman takdir edilir ve ihtiyaç duyulur.......

saygılarımla

AZRUL...

AZRUL

İşte 2 boyutlu dizileri sıralayan bir sıralama rutini:

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

// 2 dimenzional array shell sort

//

//

//

double PR[][2];

void SortIt()

{

int size ArrayRange(PR,0);

int i,j,increment = size / 2;

double temp,temi;

//

//

//

//

//

while (increment > 0)

{

for (i = increment; i < size; i++)

{

j = i;

temp = PR;

temi = PR;

while ((j >= increment) && (PR[j-increment,0] < temp))

{

PR[j,0] = PR[j-increment,0];

PR[j,1] = PR[j-increment,1];

j = j-increment;

}

PR[j,0] = temp;

PR[j,1] = temi;

}

if (increment == 2) increment = 1;

else increment = (increment / 2.2);

}

}

PR dizisini vlues ve bir sembol için bir tür işaretle doldurun (örneğin PR[0,0] = eur için değer, PR[0,1] = 1 (bu, 1'in EUR için bir işaret olduğu anlamına gelir). SortIt() prosedürünü çağırın ve semboller için değerleri ve bunlara karşılık gelen işaretleri okuyun (örneğin, PR[5,1] == 1 (1 EUR anlamına gelir) alırsınız, bu da PR[4,0] değerinin olduğu anlamına gelir. EUR değeri)

 
mladen:
AZRUL

İşte 2 boyutlu dizileri sıralayan bir sıralama rutini:

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

// 2 dimenzional array shell sort

//

//

//

double PR[][2];

void SortIt()

{

int size ArrayRange(PR,0);

int i,j,increment = size / 2;

double temp,temi;

//

//

//

//

//

while (increment > 0)

{

for (i = increment; i < size; i++)

{

j = i;

temp = PR;

temi = PR;

while ((j >= increment) && (PR[j-increment,0] < temp))

{

PR[j,0] = PR[j-increment,0];

PR[j,1] = PR[j-increment,1];

j = j-increment;

}

PR[j,0] = temp;

PR[j,1] = temi;

}

if (increment == 2) increment = 1;

else increment = (increment / 2.2);

}

}
PR dizisini vlues ve bir sembol için bir tür işaretle doldurun (örneğin PR[0,0] = eur için değer, PR[0,1] = 1 (bu, 1'in EUR için bir işaret olduğu anlamına gelir). SortIt() prosedürünü çağırın ve semboller için değerleri ve bunlara karşılık gelen işaretleri okuyun (örneğin, PR[5,1] == 1 (1 EUR anlamına gelir) alırsınız, bu da PR[4,0] değerinin olduğu anlamına gelir. EUR değeri)

Sayın MLADEN,

ÇOK TEŞEKKÜRLER SEVGİLİ Bayım(GURU).... siz benim KAHRAMANIMSINIZ VE .... 6. Kredi...

BU FORUMU ÇOK SEVİYORUM....buradaki GURU'lara teşekkürler...

Bu diğerlerinin de işine yarar....

TEŞEKKÜRLER BAYIM....

saygılarımla

AZRUL...

 
mladen, mrtool...

need help to modify/add color changing rule by 2 moving averange (MA period 8 n MA period 24).

MA8 > MA24 ise, histo rengi=yeşil.

MA8 < MA24 ise, doku rengi=kırmızı.

işte gösterge bağlantısı: https://www.mql5.com/en/code/download/7992/BW_MFI.mq4

hala bekliyorum... kendim tarafından zaten denendi (bu isteği göndermeden önce) ancak iyi bir sonuç yok, daha fazla arabelleğe mi ihtiyacınız var? ya da kodlayıcı olmadığım/kodlama becerisinden yoksun olduğum için. sadece BW MFI'yi başka bir göstergeyle birleştirmenin mümkün olup olmadığını bilmek istiyorum.

Neden: