Вопросы от "чайника" - страница 115

 

Такой вопрос к участникам:

когда я запускаю веб-установщик mt5setup(410KB), то он начинает скачивать сам дистрибутив(7MB), то куда на моем компьютере этот дистрибутив помещается? Я сейчас говорю не о директории с:\Program Files\MT5.
 
IlshatG:
Я не программист по образованию , плз подскажите, что означают оператор |=  и что это за форма записи числа - 0x10 0x20 ? Заранее спасибо.
uint first=0x20;   // число в шестнадцатиричном представлении
uint second=16;    // число в десятичном представлении
//---
first|=second;     // производится операция "побитового ИЛИ" и результат помещается в first
 
first|=second

это сокращённая запись выражения

first=first|second
Операции присваивания
 

вопрос с записью в файл. Делаю так (в основе пример из справки для FileOpen()):

string terminal_data_path=TerminalInfoString(TERMINAL_COMMONDATA_PATH);
   string subfolder="";
   int filehandle=FileOpen("datta.txt",FILE_WRITE|FILE_READ|FILE_CSV);
   if(filehandle!=INVALID_HANDLE)
   {
      FileSeek(filehandle, 0, SEEK_END);
      FileWrite(filehandle, "Параметры прогона:");
      FileWrite(filehandle, IntegerToString(N) + "\t" + IntegerToString(TP) + "\t" + IntegerToString(SL) + "\t" + IntegerToString(K) + "\t" + IntegerToString(BU));
      FileWrite(filehandle, IntegerToString(TP_count) + "\t" + IntegerToString(SL_count) + "\t" + IntegerToString(BU_count));
      FileClose(filehandle);
      Print("Файл должен быть создан в папке "+terminal_data_path+"\\"+subfolder);
   }
   else Print("File open failed, error ",GetLastError());


в результате в тестере запись:

Файл должен быть создан в папке C:\ProgramData\MetaQuotes\Terminal\Common\

Фактически файл находится в C:\Users\Владимир\AppData\Roaming\MetaQuotes\Tester\5E85412506E8F1E33F561B4D4F8D4015\Agent-127.0.0.1-3000\MQL5\Files

и перезаписывывается вместо дописывания. Но не всегда.

(Windows Vista Home Premium)

 
ilunga:

вопрос с записью в файл. Делаю так:

Забыли добавить флаг FILE_COMMON.
 
Renat:
Забыли добавить флаг FILE_COMMON.

Спасибо, с ним теперь:

запись: Файл должен быть создан в папке C:\ProgramData\MetaQuotes\Terminal\Common\

файл в папке: C:\ProgramData\MetaQuotes\Terminal\Common\Files\

Перезаписи не происходит


Для текущих задач такое устраивает

 
Помогите!!! Мне известно что dll "висит" в памяти пока есть процессы, которые ее загрузили. Вопрос: если ли какие-нибудь "штучки" и директивы, при помощи которых, dll можно оставить в памяти даже без наличий процессов использующих данную dll? А выгрузка dll легла бы на плечи ОС.
 
uncleVic:


mql5:

это сокращённая запись выражения

Операции присваивания
Спасибо!
 

У меня W7 64, но терминал 32 работает.

1. Так и должно быть?

2. В чем могут проявится проблемы работы 32 битной версии терминала на 64 битной операционной системе?

 

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