Hilfe bei der Codierung - Seite 301

 
sunshineh:
Hallo!

Ich verwende die Dateifunktionen und sie funktionieren gut!

Ich verwende ziemlich große Dateien und arbeite mit einer for-Schleife.

In jedem Zyklus lese ich eine Zeile der Datei. Manchmal möchte ich also ein Wort in einer dieser Zeilen ändern.

Gibt es eine einfache Möglichkeit, dies zu tun? Wenn ich die Datei zum Lesen schließe und sie zum Schreiben öffne, geht mein Dateizeiger zum Ende der Datei.

Aber gibt es eine Möglichkeit, die aktuelle Position des Dateizeigers zu erhalten? So kann ich auch direkt z.B. in die Mitte der Datei schreiben.

Es gibt keinen einfachen Weg, wenn die Zeilen keine feste Größe haben (dann müssen Sie die gesamte Datei neu schreiben)

Wenn die Zeilen eine feste Größe haben, verwenden Sie FileSeek(fileHandle,lineSize*(numberOfLine-1),SEEK_SET); und schreiben Sie dann die Änderungen in diese spezielle Zeile

 

Entschuldigung, wenn ich meine Nachricht wiederhole...aber es ist wichtig für mich....Ich brauche ein Beispiel für einen Code:

Hallo Mladen,

ich hätte gerne einen kleinen Indikator, der mir auf dem 5-Minuten-Zeitrahmen anzeigt, wenn die Aktie 5-3-3 auf dem 15-Minuten-Zeitrahmen unter 20 liegt.

Ich möchte nicht stoc multitimeframe....but Signal der höheren Zeitrahmen auf niedriger tf.

Vielen Dank im Voraus

 

Hallo Mladen ,

Ich möchte die Non-Lag-Ma-NRP-Werte in eine CSV-Datei exportieren, wobei die roten (Tomaten-)Farben negative und die blauen Farben positive Werte sein sollen... Danke!

 
nevar:
Hallo Mladen, ich möchte die Non-Lag-Ma-NRP-Werte in eine CSV-Datei exportieren, wobei die roten (Tomaten-)Farben negative und die blauen Farben positive Werte darstellen sollen... Danke!

nevar

Hier ist ein Skript, das dies tut: export_nonlag_ma_data.mq4

Sie brauchen auch die "NonLag ma nrp nmc" aus diesem Beitrag im Indikatorenordner : https://www.mql5.com/en/forum/general

Dateien:
 
mladen:
AZRUL

Sie geben den Wert, nach dem Sie suchen wollen, nicht in Zeile 180 an (diese Zeile :

int ranking = rank();

daher kann die Funktion rank nicht mit einem beliebigen Wert vergleichen. Ihr Aufruf muss in folgender Form erfolgen:

int ranking = rank(someValueToRank);

Sehr geehrter Herr MLADEN,

Ich habe versucht, das Ranking für die Gesamtausgabe meines Indikators zu erhalten, um ein RANK in aufsteigender Reihenfolge zu erstellen, aber das ist mir nicht gelungen... Ich habe nur 2 Ausgaben und nur eine davon ist korrekt... (Ich denke schon...) und der Rest (5 weitere) ist (0) null......

Ich habe alles ausprobiert, was mir einfiel, und mir gehen die Ideen aus, wie ich einen Code erstellen kann, um sie in aufsteigender oder absteigender Reihenfolge zu ordnen.... könnten Sie BITTE HILFE leisten.........

Ihre Zeit und Erfahrung wird immer geschätzt und gebraucht.......

Mit freundlichen Grüßen

AZRUL...

Dateien:
 
12BPRO:
Lieber SIR MLADEN,

Ich habe versucht, das Ranking für die Gesamtausgabe von meinem Indikator zu erhalten, um ein RANK in aufsteigender Reihenfolge zu machen, aber nicht zu tun... Ich habe nur 2 Ausgabe und nur einer von ihnen sind richtig... (Ich denke schon...) und der Rest (5 weitere) ist (0) null......

Ich habe alles ausprobiert, was mir einfiel, und mir gehen die Ideen aus, wie ich einen Code erstellen kann, um sie in aufsteigender oder absteigender Reihenfolge zu ordnen.... könnten Sie BITTE HILFE leisten.........

Ihre Zeit und Erfahrung wird immer geschätzt und gebraucht.......

Mit freundlichen Grüßen

AZRUL...

12BPRO

Ich glaube, ich habe Ihnen bereits gesagt, dass Sie eine zweidimensionale Rangfolge/Sortierung vornehmen müssen (da Sie einen Wert und einen Symbolnamen in jedem Abschnitt haben, den Sie anzeigen möchten). Es reicht nicht aus, nur die Werte zu sortieren, da auf diese Weise die Symbolnamen verloren gehen, sondern Sie müssen eine eigene Sortierprozedur entwickeln, die auch den Symbolnamen an die entsprechende Stelle verschiebt, wenn der Wert an seinen Platz verschoben wird

 
mladen:
12BPRO Ich glaube, ich habe es Ihnen schon gesagt: Sie müssen eine zweidimensionale Rangfolge/Sortierung vornehmen (da Sie einen Wert und einen Symbolnamen in jedem Teil haben, den Sie anzeigen möchten). Es reicht nicht aus, nur die Werte zu sortieren, da Sie auf diese Weise die Symbolnamen verlieren.

Lieber SIR MLADEN,

Ich habe diesen Code ausprobiert, indem ich eine Sortierprozedur hinzugefügt habe, und er zeigt einige Werte an... leider scheint er den letzten Array-Wert (TOTCAD) ausgelassen zu haben... könnten Sie BITTE einen Blick darauf werfen...

Es tut mir sehr2 leid, ich bin kein PROGRAMMIERER .... verstehe nicht viel... mein lieber GURU..... Ich tue mein Bestes, um dies zu lernen......

Ihre Zeit und Ihr Fachwissen werden immer geschätzt und gebraucht.......

Mit freundlichen Grüßen

AZRUL...

Dateien:
 
12BPRO:
Lieber SIR MLADEN,

Ich habe versucht, diesen Code durch Hinzufügen von Sortierverfahren und es zeigt einige Wert... leider scheint es zu haben, verpasst die letzte Array-Wert (TOTCAD)... könnten Sie BITTE haben einen Blick...

Es tut mir sehr2 leid, ich bin kein PROGRAMMIERER .... verstehe nicht viel... mein lieber GURU..... Ich tue mein Bestes, um dies zu lernen......

Ihre Zeit und Ihr Fachwissen werden immer geschätzt und gebraucht.......

Mit freundlichen Grüßen

AZRUL...

AZRUL

Hier ist eine Sortierroutine, die 2-dimensionale Arrays sortiert:

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

//

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

//

//

//

// 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);

}

}

Füllen Sie das PR-Array mit Werten und einer Art Markierung für ein Symbol (z.B. PR[0,0] = Wert für eur, PR[0,1] = 1 (was bedeuten würde, dass 1 eine Markierung für EUR ist). Rufen Sie die Prozedur SortIt() auf und lesen Sie die Werte und die entsprechenden Markierungen für die Symbole aus (z.B. erhalten Sie PR[5,1] == 1 (1 bedeutet EUR), was bedeuten würde, dass der Wert PR[4,0] der Wert von EUR ist)

 
mladen:
AZRUL

Hier ist eine Sortierroutine, die 2-dimensionale Arrays sortiert:

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

//

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

//

//

//

// 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);

}

}
Füllen Sie das PR-Array mit Werten und einer Art Markierung für ein Symbol (z.B. PR[0,0] = Wert für eur, PR[0,1] = 1 (was bedeuten würde, dass 1 eine Markierung für EUR ist). Rufen Sie die Prozedur SortIt() auf und lesen Sie die Werte und die entsprechenden Markierungen für die Symbole aus (z.B. erhalten Sie PR[5,1] == 1 (1 bedeutet EUR), was bedeuten würde, dass der Wert PR[4,0] der Wert von EUR ist)

Lieber SIR MLADEN,

DANKE, SEHR GEEHRTER SIR(GURU).... Sie sind mein HERO UND .... 6. Kredit...

Ich LIEBE dieses FORUM so sehr.... danke an die GURU'S hier....

Dies würde auch für andere nützlich sein....

DANKE SIR....

Mit freundlichen Grüßen

AZRUL...

 
mladen, mrtool...

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

wenn MA8 > MA24, histo Farbe=grün.

wenn MA8 < MA24, histo Farbe=rot.

Hier ist der Link zum Indikator: https: //www.mql5.com/en/code/download/7992/BW_MFI.mq4

Ich warte immer noch...habe es bereits selbst versucht (bevor ich diese Anfrage gepostet habe), aber kein gutes Ergebnis, brauche ich mehr Puffer? oder weil ich kein Programmierer bin/keine Programmierkenntnisse habe. Ich möchte nur wissen, ob es möglich ist, BW MFI mit einem anderen Indikator zu kombinieren.

Grund der Beschwerde: