#import "kernel32.dll"int GetPrivateProfileStringA
( string SectionName, // Наименование секцииstring KeyName, // Наименование параметраstring Default, // Значение по умолчаниюstring ReturnedString, // Возвращаемое значение параметраint nSize, // Размер буфера под значение параметраstring FileName); // Полное имя файлаint WritePrivateProfileStringA
( string SectionName, // Наименование секцииstring KeyName, // Наименование параметраstring sString, // Записываемое значение параметраstring FileName); // Полное имя файла#import
Описание одного из параметров:
lpKeyName [in]
The name of the key whose associated stringis to be retrieved.
If this parameter is NULL, all key names in the section specified by the lpAppName parameter
are copied to the buffer specified by the lpReturnedString parameter.
Вопрос - как передать "реальный NULL"?
Передавая "mql-овский NULL" (также строку "") получал не список "ключей в секции", а дефолтовое значение.
lpDefault [in]
A defaultstring. If the lpKeyName key cannot be found in the initialization file,
GetPrivateProfileString copies the defaultstring to the lpReturnedString buffer.
If this parameter is NULL, the defaultis an empty string, "".
Про "реальный NULL" упомянул, т.к. про подобную проблему (именно с этой функцией) читал на каком-то форуме про Бейсик. Форум был англоязычный (т.е. все, что смог понять - неправда), да и проблему решали средствами Бейсика.
Насколько понимаю, OrderModify() может менять стопы и на иных барах, чем бар открытия? У меня код (почти весь из книги С. Ковалева) построен так, чтобы стопы менялись не только во время открытия, но и при наступлении кое-каких событий:
switch(Tip) // По типу ордера
{
case0 : // Ордер Buyif (NormalizeDouble(SL,Digits)< // Если ниже желаем.NormalizeDouble(Bid-TS*Point,Digits))
{
// Ниже я только добавил функцию New_Stop
SL=Bid-New_Stop(TS)*Point; // то модифицируем егоstring Text="Buy "; // Текст для Buy
Modify=true; // Назначен к модифи.
}
break;
// Функция из этой же книги:int New_Stop(int Parametr) // Проверка стоп-прик.
{
int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);// Миним. дистанцияif (Parametr < Min_Dist) // Если меньше допуст.
{
Parametr=Min_Dist; // Установим допуст.Alert("Увеличена дистанция стоп-приказа.");
}
return(Parametr); // Возврат значения
}
Подскажите пожалуйста как присвоить время линии индикатора val1[]. Или натолкните на то как это сделать и что использовать а то немогу догнать. Индикатор Laguerre.
i=CountBars-1;
while(i>=0)
{
L0A = L0;
L1A = L1;
L2A = L2;
L3A = L3;
L0 = (1 - gamma)*Close[i] + gamma*L0A;
L1 = - gamma *L0 + L0A + gamma *L1A;
L2 = - gamma *L1 + L1A + gamma *L2A;
L3 = - gamma *L2 + L2A + gamma *L3A;
CU = 0;
CD = 0;
if (L0 >= L1) CU = L0 - L1; else CD = L1 - L0;
if (L1 >= L2) CU = CU + L1 - L2; else CD = CD + L2 - L1;
if (L2 >= L3) CU = CU + L2 - L3; else CD = CD + L3 - L2;
if (CU + CD != 0) LRSI = CU / (CU + CD);
val1[i] = LRSI;
i--;
}
if(counted_bars>0)
counted_bars--;
limit=Bars-counted_bars;
if(limit>CountBars)
limit=CountBars;
for(int c=1;c<limit;c++)
{if(val1[c]>0.45)
LastLag++;}
Например когда линия val1[c] пересекает 0.45 вверх значение времени присваивается переменной TimeBegin и потом когда пересекает вниз значение времени присваивается TimeEnd. И так по всему графику.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Любопитно,что в моем варианте не так?
В вашем варианте во-первых он в течение 1 расчета засыпает 300 раз
Во-вторых устает создавать 600 раз сообщение на каждом тике
А в-третьих рисует эту красную линию на графике. При этом у красной линии максимум 0.86, а у зеленой минимум 1.34
вот результатов и не видно
Зеленым и правда рисует, но только у свечи перед закрытием! А до этого ни разу.
Добрый день.прошу помощи.
Как найти закономерность смещения баров, высчитанных по данной формуле? ObjectGetShiftByValue
вот результатов и не видно
Спасибо!! я таки баран
думаю должен рисовать только если ты StopLoss и/или TakeProfit меняешь
Я меняю, журнал подтверждает.
Вопрос по некоторым нюансам вызова WinAPI'шных функций.
Есть Функция GetPrivateProfileStringA.
Импорт функции в mql
Описание одного из параметров:
Вопрос - как передать "реальный NULL"?
Передавая "mql-овский NULL" (также строку "") получал не список "ключей в секции", а дефолтовое значение.
Про "реальный NULL" упомянул, т.к. про подобную проблему (именно с этой функцией) читал на каком-то форуме про Бейсик. Форум был англоязычный (т.е. все, что смог понять - неправда), да и проблему решали средствами Бейсика.
ну он и меняет их на баре открытия
Насколько понимаю, OrderModify() может менять стопы и на иных барах, чем бар открытия? У меня код (почти весь из книги С. Ковалева) построен так, чтобы стопы менялись не только во время открытия, но и при наступлении кое-каких событий:
Подскажите пожалуйста как присвоить время линии индикатора val1[]. Или натолкните на то как это сделать и что использовать а то немогу догнать. Индикатор Laguerre.
Например когда линия val1[c] пересекает 0.45 вверх значение времени присваивается переменной TimeBegin и потом когда пересекает вниз значение времени присваивается TimeEnd. И так по всему графику.
Насколько понимаю, OrderModify() может менять стопы и на иных барах, чем бар открытия?