Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 271
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
так заполняется только первое значение индексом [0].
благодарю. избавили от бессонных выходных.)
vicmos благодарите.
он заполняет все одной ценной, как функция ArrayFill(...)/
Всем доброго времени суток! Такая проблема - компилятор выдает предупреждение. Не хотелось бы его игнорировать, помогите найти выход?
Ругается конкретно на последнюю строчку, говорит: "possible loss of data due to type conversion". Как правильно нормализовать вещественный тип в этом случае?
Всем доброго времени суток! Такая проблема - компилятор выдает предупреждение. Не хотелось бы его игнорировать, помогите найти выход?
Ругается конкретно на последнюю строчку, говорит: "possible loss of data due to type conversion". Как правильно нормализовать вещественный тип в этом случае?
Всем доброго времени суток! Такая проблема - компилятор выдает предупреждение. Не хотелось бы его игнорировать, помогите найти выход?
Ругается конкретно на последнюю строчку, говорит: "possible loss of data due to type conversion". Как правильно нормализовать вещественный тип в этом случае?
И ещё: ArrayMaximum и ArrayMinimum возвращает индекс найденного элемента. Так что правильно вот так:
И ещё: ArrayMaximum и ArrayMinimum возвращает индекс найденного элемента. Так что правильно вот так:
Не корректно вычисляет уровень тейка исходя из суммы убытков закрытых ордеров. Получается 1-й ордер = 1; 2-й ордер = 2; 3-й ордер = 3; 4-й ордер =4., планируется открыть 5-й ордер фиксированным объемом. Нужно рассчитать количество пипсов что бы перекрыть убыток по всем предыдущим ордерам и получить прибыль 10% от общей суммы убытка.
По факту получается советник просто считает объем каждого закрытого ордера равным предполагаемому отложенному ордеру то есть по его подсчетам получаеться если отложенный 5-й ордер равен 5-ти лотам то и все предыдущие убыточные ордера были равны 5-ти лотам и отсюда считает убыток с соответствующим не правильным уровнем профита. Т.есть если по факту общий объем 4-х ордеров = 10 лотам, то советник просто перемножает 4 ордера на объем 5-го отложенного ордера и получает общий объем 20 лотов......Что нужно исправить в коде?
// Функция вычисления уровня тэйка исходя из уровня убытка закрытых сделок
//=================================================================================================
double TakeProfitCalculate(double lot,int type)
{
int n,i;
double prf,ttp;
prf=-MathAbs(BuyLevel-SellLevel)/Point*LOT*MarketInfo(Symbol(),MODE_TICKVALUE);//
if(No!=0) for(i=OrdersHistoryTotal()-1;i>=0;i--)
{
if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue;
if(OrderSymbol()!=Symbol() || OrderMagicNumber()<MAGIC || OrderMagicNumber()>MAGIC+200 || OrderType()>OP_SELL) continue;
n=OrderMagicNumber()-MAGIC;
prf+=(OrderProfit()+OrderSwap()+OrderCommission());
if(n==0) break;
}
prf=MathAbs(prf*(100+ProfitPercent)/100);
ttp=prf*Point/(LOT*MarketInfo(Symbol(),MODE_TICKVALUE));
if(type==OP_BUY) return(NRu(BuyLevel+ttp)); else return(NRd(SellLevel-ttp));
}