[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 318
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Или ещё упрощаем
Здесь Δ - это разница имел ввиду, т.е. Close[i] - Open[i], а ^ - знак степени. const - константа в данном выражении, т.е. i_sizeOfSequentialCorrectionBar * pt, стандартные математические обозначения, ничего не выдумывал. 2*bVar-1 аналогично ±1, bVar здесь любая bool-переменная. И выражение 2*bVar-1 принимает значения уже не 0 и 1, а -1 и +1. ≥ это MQL4 >=, тоже стандартное математическое обозначение. step - шаг, т.е. в cnt++ шаг равен 1, а в cnt=0 шаг равен -cnt. Что ещё непонятно было из обозначений?
gyfto, благодарю за объяснение. Но есть момент. Там, в любом случае, одним изменением выходного знака выражения не решить задачу. Ведь в том моменте, где происходит обнуление, цены открытия и закрытия должны быть "поменены местами". Т.е. тут как я понял, особой универсальности не достичь. Именно над этим я и ломал голову.
Вадим, писал не давно, что помещение внуть цикла функции на порядок притормаживает выполнение кода по скорости. Интересно, это относится только к тому случаю, когда функция рассчитывает свои значения на каждой итерации цикла, или вообще к любым? Например, пока что я не дописал эксперт, я ту функцию, что пробывал gyfto упростить, переписал вот так:
Счётчики cntUp и cntDn я сделал разными, т.к. если когда по циклу по расчётным барам идёт расчёт, то может быть что directionMA сразу иметь одно значение, а потом другое. И счётчик может суммировав одно значение, продолжить суммировать другое. А если переменная одна, то количество баров одного признака, прибавятся к счётчику баров другого признака.
Вот тут нужен совет, может лучше скомпонавать иначе как-то?
Дело в том, что пока что эксперт не большой. Есть машки и эта функция. И бывает так, что вместо лонга, сова продаёт, и, наоборот. Вот пытаюсь понять, как такое может быть. Может тут есть какой-то косяк?
Здравствуйте, начал знакомится с mql4, написал скрипт который локирует убыточные ордера. Никак не могу преодолеть одну проблему: скрипт локурует все ордера у которых убыток от -10 но он продолжает локировать их до тех пор пока цена находится ниже -10. Как сделать так что бы локирование происходило один раз? Т.е. ордер достиг убытка -10 скрипт залокировал его и дальше он этот ордер не трогает даже если убыток продолжает увеличиваться.
extern double StopLoss=150;
extern double Profit=-10;
//+------------------------------------------------------------------+
//----
void start()
{
double profit=Profit;
double Lots=0;
for(int i=0;i<OrdersTotal();i++)
{
if(!OrderSelect(i,SELECT_BY_POS))
continue;
if(OrderType()==OP_BUY && OrderProfit()<Profit*Point)
Lots+=OrderLots();
if(OrderType()==OP_SELL && OrderProfit()<Profit*Point)
Lots-=OrderLots();
}
if(Lots>0)
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+StopLoss*Point,0,NULL,Red);
if(Lots<0)
OrderSend(Symbol(),OP_BUY,-(Lots),Ask,3,Bid-StopLoss*Point,0,NULL,Blue);
//----
return(0);
}
Добрый день.
Посмотрите пожалуйста код, хочу рассчитать среднее время сделки (торговля отложенными ордерами)
с момента срабатывания ордера и до закрытия.
Добрый день.
Посмотрите пожалуйста код, хочу рассчитать среднее время сделки (торговля отложенными ордерами)
с момента срабатывания ордера и до закрытия.
А зачем среднее время рассчитываете в цикле. Лишнии операции. Может лучше потом, после цикла. Да и неплохо было бы задать период рассчета
А зачем среднее время рассчитываете в цикле. Лишнии операции. Может лучше потом, после цикла. Да и неплохо было бы задать период рассчета
Вынес из цикла. А период расчета как сделать ?
Внешние переменные например
это я понял, дату как то вынести надо
это какая функция
это я понял, дату как то вынести надо
это какая функция
Зачем усложнять если есть extern
hoz, как освобожусь въеду, так и быть.
У меня возник такой вопрос по оптимизации. Разбираюсь с алгоритмом EMA. Как известно, там рекурсия, которая вообщем-то сажает время. По оригиналу кода:
...
Перенесено в https://www.mql5.com/ru/forum/144691
hoz, как освобожусь въеду, так и быть.
У меня возник такой вопрос по оптимизации. Разбираюсь с алгоритмом EMA. Как известно, там рекурсия, которая вообщем-то сажает время. По оригиналу кода:
Специально взял маткад, чтобы разобраться с весами, которые генерирует EMA:
Кстати говоря, мне теперь стало понятным, почему в индикаторах, использующих EMA (которую правильнее, выходит, было бы назвать степенной, а не экспотенциальной), используется период равный 14. Так вот, зачем надо так высоко забирать последний вес, если можно просто обернуть степенную функцию, если последующий вес важнее предыдущего? Я даже уже не спрашиваю, зачем пользоваться рекурсией, если конечные веса после окончания рекурсии можно вывести формулой (см. F(n,x) и y(n,x)).
Наверно Вам надо свою ветку открывать. Зачем Вам "Ветка для новичков"