[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 386

 
ikatsko:

Задача: сравнить его с таким же, чтобы удостовериться, что такой объект есть. Вернее, что есть объект, часть имени которого Triangle


Если ввести проверку на "тип объекта", проверки будут производиться только среди "Triangle" объектов, что может значительно уменьшить затраты по выборке, исключив заведомо бесполезную работу по проверке "вхождения строки" у "типов объектов", в которых этих вхождений не может ожидаться изначально.
 
ikatsko:

А как теперь по номеру объекта взять его полное имя?



Хороший пример есть в документации. Именно по этому вопросу. https://docs.mql4.com/ru/objects/ObjectName
 
Спасибо, извиняюсь, совсем запарился
 

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

пишу:

int handle;
   handle=FileOpen("testname.txt", FILE_READ|FILE_CSV|FILE_WRITE, ';');
   if(handle>0)
   {
      FileWrite(handle, "параметры:");
      ...
      FileClose(handle);
   }

в функции деинициализации

в текстовом файле сохраняется информация только о последнем запуске

 
ilunga:

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

пишу:

в функции деинициализации

в текстовом файле сохраняется информация только о последнем запуске

bool FileSeek( int handle, int offset, int origin)
Функция перемещает файловый указатель на новую позицию, которая является смещением в байтах от начала, конца или текущей позиции файла. Следующее чтение или запись происходят с новой позиции.
Если перемещение файлового указателя прошло успешно, функция возвращает TRUE, иначе возвращает FALSE. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Параметры:
handle - Файловый описатель, возвращаемый функцией FileOpen().
offset - Смещение в байтах.
origin - Начальное положение. Величина может быть одной из этих констант:
SEEK_CUR - от текущего положения,
SEEK_SET - от начала,
SEEK_END - от конца файла.

  int handle=FileOpen("filename.csv", FILE_CSV|FILE_READ|FILE_WRITE, ';');
  if(handle>0)
    {
     FileSeek(handle, 0, SEEK_END);
     //---- add data to the end of file
     FileWrite(handle, data1, data2);
     FileClose(handle);
     handle=0;
    }
 
 
Vinin:
bool FileSeek( int handle, int offset, int origin)
Функция перемещает файловый указатель на новую позицию, которая является смещением в байтах от начала, конца или текущей позиции файла. Следующее чтение или запись происходят с новой позиции.
Если перемещение файлового указателя прошло успешно, функция возвращает TRUE, иначе возвращает FALSE. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Параметры:
handle - Файловый описатель, возвращаемый функцией FileOpen().
offset - Смещение в байтах.
origin - Начальное положение. Величина может быть одной из этих констант:
SEEK_CUR - от текущего положения,
SEEK_SET - от начала,
SEEK_END - от конца файла.

работает, благодарю

 
PapaYozh:


Приведите здесь текст из журнала того терминала, в котором не работает советник.

2011.05.16 09:06:08 Expert Moving Average New-Svecha EURUSD,M30: loaded successfully
2011.05.16 09:04:21 Expert Moving Average New-Svecha EURUSD,M30: loaded successfully
2011.05.16 08:14:25 '81415': DataCenter connecting failed [6]


Запущен терминал, а затем советник, то больше в журнале ничего не появляется, а советник показывает работу...

 


index

- Позиция ордера или номер ордера в зависимости от второго параметра.
select - Флаг способа выбора. Mожет быть одним из следующих величин:
SELECT_BY_POS - в параметре index передается порядковый номер позиции в списке,
SELECT_BY_TICKET - в параметре index передается номер тикета.
pool - Источник данных для выбора. Используется, когда параметр select равен SELECT_BY_POS. Mожет быть одной из следующих величин:
MODE_TRADES (по умолчанию) - ордер выбирается среди открытых и отложенных ордеров,
MODE_HISTORY - ордер выбирается среди закрытых и удаленных ордеров.

Я абсолютно не могу понять,где и как брать порядковый номер позиции в списке, если цель узнать профит после закрытия ордера? OrderSelect(SELECT_BY_POS,MODE_HISTORY ??

Извините,я не слишком сумбурно?

Ведь нельзя вписывать тикет OrderSelect( tiket,SELECT_BY_TICKET, MODE_TRADES ) для закрытых и удаленных ордеров?


 
Dimka-novitsek:


index

- Позиция ордера или номер ордера в зависимости от второго параметра.
select - Флаг способа выбора. Mожет быть одним из следующих величин:
SELECT_BY_POS - в параметре index передается порядковый номер позиции в списке,
SELECT_BY_TICKET - в параметре index передается номер тикета.
pool - Источник данных для выбора. Используется, когда параметр select равен SELECT_BY_POS. Mожет быть одной из следующих величин:
MODE_TRADES (по умолчанию) - ордер выбирается среди открытых и отложенных ордеров,
MODE_HISTORY - ордер выбирается среди закрытых и удаленных ордеров.

Я абсолютно не могу понять,где и как брать порядковый номер позиции в списке, если цель узнать профит после закрытия ордера? OrderSelect(SELECT_BY_POS,MODE_HISTORY ??

Извините,я не слишком сумбурно?

Ведь нельзя вписывать тикет OrderSelect( tiket,SELECT_BY_TICKET, MODE_TRADES ) для закрытых и удаленных ордеров?


https://docs.mql4.com/ru/trading/ordershistorytotal

 
Извините,я не могу перейти по ссылке,у меня что-то не палучаецца.