Помощь в кодировании - страница 301

 
sunshineh:
Привет,

Я использую функции файла, и они работают отлично!

Я использую довольно большие файлы и работаю с циклом for.

В каждом цикле я читаю одну строку файла. Поэтому иногда я хочу изменить слово в одной из этих строк.

Есть ли простой способ сделать это? Если я закрою файл для чтения и открою его для записи, то указатель файла перейдет в конец файла.

Но есть ли возможность получить фактическую позицию указателя файла? Чтобы я мог писать непосредственно, например, в середине файла.

Нет простого способа, если строки не имеют фиксированного размера (тогда вам придется переписать весь файл).

Если размер строк фиксирован, используйте FileSeek(fileHandle,lineSize*(numberOfLine-1),SEEK_SET); и затем запишите изменения в эту конкретную строку.

 

Извините, если я повторяю свое сообщение...но это важно для меня.... Мне нужен пример кода:

Привет Младен,

Я бы хотел маленький индикатор, который на 5-минутном таймфрейме показывает мне, когда stoc 5-3-3 ниже 20 на 15-минутном таймфрейме.

Мне не нужен мультитаймфрейм акций.... но сигнал более высокого таймфрейма на более низком таймфрейме.

Заранее спасибо

 

Привет, Младен,

Я хочу экспортировать значения non lag ma nrp в CSV файл. Красный (томатный) цвет должен быть отрицательным, а синий - положительным. Спасибо.

 
nevar:
Привет, Младен, я хочу экспортировать значения non lag ma nrp в CSV файл. Красный (томатный) цвет должен быть отрицательным, а синий - положительным? Спасибо.

nevar

Вот скрипт, который это делает: export_nonlag_ma_data.mq4

Вам также нужен "NonLag ma nrp nmc" из этого сообщения в папке индикаторов: https: //www.mql5.com/en/forum/general.

Файлы:
 
mladen:
АЗРУЛ

Вы не передаете значение, которое нужно искать в строке 180 (эта строка :

int ranking = rank();

поэтому функция rank не может сравнить ни с каким значением. Ваш вызов должен быть в следующем виде:

int ranking = rank(someValueToRank);

Уважаемый господин МЛАДЕН,

Я пытался получить ранжирование для итогового результата моего индикатора, чтобы составить RANK в порядке возрастания, но не смог этого сделать... Я получил только 2 результата и только один из них правильный... (я так думаю...), а остальные (еще 5) - (0) нули...

Я перепробовал все, что мог придумать, и у меня закончились идеи, как создать код, чтобы расположить их в порядке либо по возрастанию, либо по убыванию, это было бы прекрасно.... не могли бы вы ПОМОЧЬ.........

Ваше время и опыт всегда ценятся и нужны.......

искренне ваш

АЗРУЛ...

Файлы:
 
12BPRO:
Уважаемый SIR MLADEN,

Я пытался получить ранжирование для вывода Total из моего индикатора, чтобы сделать RANK в порядке возрастания, но не смог этого сделать... Я получил только 2 результата и только один из них правильный... (я так думаю...), а остальные (еще 5) - (0) нулевые...

Я перепробовал все, что мог придумать, и у меня закончились идеи, как создать код, чтобы расположить их в порядке либо по возрастанию, либо по убыванию, это было бы прекрасно.... не могли бы вы ПОМОЧЬ.........

Ваше время и опыт всегда ценятся и нужны.......

искренне ваш

АЗРУЛ...

12BPRO

Я думаю, я уже говорил вам: вы должны сделать 2-мерное ранжирование / сортировку (так как у вас есть значение + имя символа в каждом пункте, который вы хотите отобразить) Недостаточно сортировать только значения, так как таким образом вы теряете имена символов, вы должны сделать собственную процедуру сортировки, которая будет перемещать имя символа тоже на соответствующее место, когда значение перемещается на свое место.

 
mladen:
12BPRO Я думаю, я уже говорил вам: вы должны сделать 2-мерное ранжирование / сортировку (поскольку у вас есть значение + имя символа в каждом пункте, который вы хотите отобразить) Недостаточно сортировать только значения, поскольку таким образом вы теряете имена символов, вы должны сделать собственную процедуру сортировки, которая будет перемещать имя символа тоже на соответствующее место, когда значение перемещается на свое место.

Уважаемый господин МЛАДЕН,

Я попробовал этот код, добавив процедуру сортировки, и он показывает некоторое значение... к сожалению, похоже, что он пропустил последнее значение массива (TOTCAD)... не могли бы вы, ПОЖАЛУЙСТА, взглянуть...

Я очень2 извиняюсь, я не программист .... не понимаю многого... мой дорогой ГУРУ..... Я делаю все возможное, чтобы научиться этому.......

Ваше время и опыт всегда ценятся и нужны.......

искренне ваш

АЗРУЛ...

Файлы:
 
12BPRO:
Уважаемый SIR MLADEN,

Я попробовал этот код, добавив процедуру сортировки, и он показывает некоторое значение... к сожалению, похоже, что он пропустил последнее значение массива (TOTCAD)... не могли бы вы, ПОЖАЛУЙСТА, взглянуть...

Я очень2 извиняюсь, я не программист .... не понимаю многого... мой дорогой ГУРУ..... Я делаю все возможное, чтобы научиться этому.......

Ваше время и опыт всегда ценятся и необходимы.......

искренне Ваш

АЗРУЛ...

АЗРУЛ

Вот процедура сортировки, которая сортирует двумерные массивы:

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

//

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

//

//

//

// 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 символами и каким-либо знаком для символа (например, PR[0,0] = значение для eur, PR[0,1] = 1 (что означает, что 1 - это знак для EUR). Вызовите процедуру SortIt() и прочитайте значения и соответствующие им метки для символов (например, вы получите PR[5,1] == 1 (1 означает EUR), что будет означать, что значение PR[4,0] является значением EUR).

 
mladen:
АЗРУЛ

Вот процедура сортировки, которая сортирует двумерные массивы:

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

//

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

//

//

//

// 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 значениями и какой-либо меткой для символа (например, PR[0,0] = значение для eur, PR[0,1] = 1 (что означает, что 1 - это метка для EUR). Вызовите процедуру SortIt() и прочитайте значения и соответствующие им метки для символов (например, вы получите PR[5,1] == 1 (1 означает EUR), что будет означать, что значение PR[4,0] является значением EUR).

Дорогой сэр МЛАДЕН,

спасибо вам большое дорогой сэр (гуру).... вы мой герой и .... 6-й кредит...

Я так люблю этот ФОРУМ.... спасибо ГУРУ здесь....

Это было бы полезно и для других....

СПАСИБО ВАМ СЫР....

искренне ваш

АЗРУЛ...

 
mladen, mrtool...

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

если MA8 > MA24, цвет histo = зеленый.

если MA8 < MA24, цвет гисто=красный.

вот ссылка на индикатор: https: //www.mql5.com/en/code/download/7992/BW_MFI.mq4

все еще жду... уже пробовал сам (до того, как опубликовать этот запрос), но нет хорошего результата, нужно больше буферов? или потому что я не кодер/не хватает навыков кодирования. просто хочу знать, возможно ли объединить BW MFI с другим индикатором.

Причина обращения: