Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1176

 
Alexey Belyakov:

 https://www.mql5.com/en/code/23479  Этот не рабочий

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


А так вот:

datetime some_time=TimeCurrent();
extern string Symbol3 = ""; //Инструмент (""текущий по умолчанию)
extern double P=5;       //Таймфрейм


int start()
{
int raznV;
int percV;
int SD=5; // переменная для поиска разницы объёма
int sig;

double VAL2=MathAbs(iVolume(NULL,P,2));  //Т.Объём
double VAL1=MathAbs(iVolume(NULL,P,1));


raznV =MathAbs(iVolume(NULL,P,2)-iVolume(NULL,P,1));  //Разница объёма
percV =MathRound(raznV/(VAL1*0.01)); // Разница в (%)

//Цикл сканирования последних свечей SD,на которых есть разница равная 50%.
for (int i=SD; i>=0; i--)
{
int sig=(raznV[i])>50;


//Если  есть нужная разница, значение будет больше нуля.
if (sig>0)
{
Alert ("Сигнал");
}

if (SD>5)
{
ObjectDelete("signal4");
} 


return(0);

int sig=(raznV[i])>50;   Вот тут загвоздка. Я не знаю как это по-другому представить. А нужно определение отклонения минимум на 50% в предыдущих свечах.

Ваш код прекрасен, как сочинение не очень усидчивого первоклассника , без обид, хорошо хоть комментарии пишите :)

Особенно понравилось raznV[i], вы что-ли с PineScript пришли? Бросьте, тут нормальный язык программирования))

красным - важные ошибки, желтым - недочёты

 
Добрый день. У меня вопрос по поводу отрицательного сдвига по мувингу. В итоге не срабатывает либо открытии сделки при таком значении либо закрытие. Каким образом можно решить этот вопрос?
 

Здравствуйте. Помогите пожалуйста с импортом из dll. Пытался импортировать функции из trans2quik.dll 

#import "trans2quik.dll"
   int _TRANS2QUIK_CONNECT@16(string lpcstrConnectionParamsString, int& pnExtendedErrorCode[], string lpstrErrorMessage, int dwErrorMessageSize);
#import

Все получилось dll вернула код 0(TRANS2QUIK_SUCCESS). Когда я попытался импортировать другие функции компилятор выдает ошибку о длинном имени (как я понял с форума больше 31 символа в название функции нельзя). Как иначе можно импортировать функции?  Я пытался сделать это по номеру функции, как здесь написано (https://docs.microsoft.com/ru-ru/cpp/build/exporting-functions-from-a-dll-by-ordinal-rather-than-by-name?view=vs-2019) но то ли сделал не правильно, то ли компилятор так не может ругается на номер (пишет name expected) Я так понимаю чтобы присоединить dll нужен wrapper? Или можно как то отредактировать имена функции в самой dll? Если это важно в архиве с dll есть .h и .lib файлы.

 
Darirunu:
Добрый день. У меня вопрос по поводу отрицательного сдвига по мувингу. В итоге не срабатывает либо открытии сделки при таком значении либо закрытие. Каким образом можно решить этот вопрос?

Можете приложить кусок кода?

 
Можно ли программно менять скорость тестирования?
 
Yevhenii Levchenko:
Можно ли программно менять скорость тестирования?

можно

 
f1nik:

Здравствуйте. Помогите пожалуйста с импортом из dll. Пытался импортировать функции из trans2quik.dll 

Все получилось dll вернула код 0(TRANS2QUIK_SUCCESS). Когда я попытался импортировать другие функции компилятор выдает ошибку о длинном имени (как я понял с форума больше 31 символа в название функции нельзя). Как иначе можно импортировать функции?  Я пытался сделать это по номеру функции, как здесь написано (https://docs.microsoft.com/ru-ru/cpp/build/exporting-functions-from-a-dll-by-ordinal-rather-than-by-name?view=vs-2019) но то ли сделал не правильно, то ли компилятор так не может ругается на номер (пишет name expected) Я так понимаю чтобы присоединить dll нужен wrapper? Или можно как то отредактировать имена функции в самой dll? Если это важно в архиве с dll есть .h и .lib файлы.

В MQL по номеру не получится.

 
Koldun Zloy:

В MQL по номеру не получится.

Спасибо. Значит остается только переходник dll между терминалом и trans2quik.dll 
 
f1nik:
Спасибо. Значит остается только переходник dll между терминалом и trans2quik.dll 

А не пробовали строку подсунуть как #define str "длинная длинная строка" или даже как две строки через + или строковую функцию.

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

 
Здравствуйте. Подскажите скрипт или функцию расчета размера лота в зависимости от заданной маржи для Forex-а, а то все скрипты рассчитывают маржу от размера лота. Было бы удобно открываться на определенную фиксированную сумму от свободных средств депозита, как на БО.