#mql4
Вопрос:
Выполнял этот код в файле «Включить». Но я сталкиваюсь с ошибкой «не все пути управления возвращают значение. Что мне делать?
double CalculateTakeProfit (double entryPrice, int takeProfitPips, double GetPipValue)
{
if (bIsBuyPosition == True)
{
double result = 0;
entryPrice = Ask;
result = (entryPrice takeProfitPips * GetPipValue());
return resu<
}
else if (bIsBuyPosition == False)
{
double result = 0;
entryPrice = Bid;
result = (entryPrice - takeProfitPips * GetPipValue());
return resu<
}
}
Ответ №1:
Вы if... else
ошибаетесь, и вы также не используете переменные, переданные функции. Вместо этого вы ссылаетесь на другую функцию или перезаписываете их. Смешивание типов переменных в расчете также может привести к нежелательным результатам (тейкпрофитпипсы должны иметь тип double
). Вы также можете сократить несколько строк своего кода следующим образом
double CalculateTakeProfit(double entryPrice, double takeProfitPips, double GetPipValue)
{
if(bIsBuyPosition) return(entryPrice takeProfitPips*GetPipValue);
else return(entryPrice-takeProfitPips*GetPipValue);
}