Kodlama yardımı - sayfa 371

 

2014.10.15 12:36:23.875 Test Kullanıcısı: Experts\Fisher Auto EA v1 m11 yüklenemiyor

 

2014.10.15 12:36:23.875 'C:\Program Files\Forex Broker Inc MT4 Client Terminal\MQL4\Experts\Fisher Auto EA v1 m11.ex4' dosyası açılamıyor [2]

 
grego:
2014.10.15 12:36:23.875 'C:\Program Files\Forex Broker Inc MT4 Client Terminal\MQL4\Experts\Fisher Auto EA v1 m11.ex4' dosyası açılamıyor [2]

EA'nıza uyulursa ve gördüğüm gibi canlı bir çizelgeye yüklenebilirse, buna neden olabilecek tek şey yeni bir metatrader 4 ve geri test cihazı hatalarıdır. Ancak EA'nın doğru derlenip derlenmediğini kontrol edin

 

'LeftNum1' bildirimi, küresel bildirimi satır 20'de gizler fisher m111.mq4 119 8

uzman ve gösterge arasındaki sorun olabilir!?

 
grego:
2014.10.15 12:36:23.875 'C:\Program Files\Forex Broker Inc MT4 Client Terminal\MQL4\Experts\Fisher Auto EA v1 m11.ex4' dosyası açılamıyor [2]

Bu EA'nın hızlı görsel geri testi

Çalışıyor ve emirleri açıyor (ve kapatıyor). Kullanılan varsayılan parametreler

Dosyalar:
backtest.gif  66 kb
 

Tekrar merhaba arkadaşlar... Küçük bir rica daha:

Birisi bana bir dizi dizisinden yinelenen değerlerin nasıl kaldırılacağını söyleyebilir mi?

Lütfen

Teşekkürler!

 
AtApi:
Tekrar merhaba arkadaşlar... Küçük bir rica daha:

Birisi bana bir dizi dizisinden yinelenen değerlerin nasıl kaldırılacağını söyleyebilir mi?

Lütfen

Teşekkürler!

Bir dizi elemanını /elemanlarını, dizinin son elemanı/ elemanları olmadıkça kaldıramazsınız. Vakaların %99,999'unda durum böyle olmayacağından, yeni bir boş dizi oluşturmanız ve yeni oluşturulan diziye yalnızca mevcut dizinin benzersiz öğelerini eklemeniz gerekir.

 

Cevabınız için teşekkürler mladen.. peki böyle bir şey yapmalı mıyım?

int numDups = 0, prevIndex = 0;

string tempArray[];

for (int x = 0; x < ArraySize(myArray); x++)

{

bool foundDup = false;

for (int j = 0; j < x; j++)

{

if (myArray[x] == myArray[j])

{

foundDup = true;

numDups++; // Increment means Count for Duplicate found in array.

continue;

}

}

if (foundDup == false)

{

tempArray[prevIndex] = myArray[x]; prevIndex++;

}

}

 
AtApi:
Cevabınız için teşekkürler mladen.. peki böyle bir şey yapmalı mıyım?

int numDups = 0, prevIndex = 0;

string tempArray[];

for (int x = 0; x < ArraySize(myArray); x++)

{

bool foundDup = false;

for (int j = 0; j < x; j++)

{

if (myArray[x] == myArray[j])

{

foundDup = true;

numDups++; // Increment means Count for Duplicate found in array.

continue;

}

}

if (foundDup == false)

{

tempArray[prevIndex] = myArray[x]; prevIndex++;

}

}

[/CODE]

Bunun gibi bir şey deneyin:

[KOD] string tempArray[];

for (int i = 0; i < ArraySize(myArray); i++)

for (int j = i+1; j < ArraySize(myArray); j++)

if (myArray == myArray[j]) myArray[j]="kaldır";

for (i = 0; i < ArraySize(myArray); i++)

if (myArray != "kaldır") { ArrayResize(tempArray, ArraySize(tempArray)+1); tempArray[ArraySize(tempArray)-1]=myArray; }

 
mladen:
Bunun gibi bir şey deneyin:
string tempArray[];

for (int i = 0; i < ArraySize(myArray); i++)

for (int j = i+1; j < ArraySize(myArray); j++)

if (myArray == myArray[j]) myArray[j]="remove";

for (i = 0; i < ArraySize(myArray); i++)

if (myArray != "remove") { ArrayResize(tempArray, ArraySize(tempArray)+1); tempArray[ArraySize(tempArray)-1]=myArray; }

Teşekkürler mladen!

bu şekilde sorun, dizeyi diziden gerçekten kaldırmamasıdır , yalnızca dizenin değerini hem orijinal hem de yinelenen değerde "kaldır" olarak değiştirir... peki.. umarım açıkmışımdır..