Да... Вам бы лучше пока еще немного поучиться. Вообще есть целая ветка для новичков. Перейду к делу, ваш код очень избыточен. Я так понимаю вы увеличиваете размер лота линейно, на каждые две тысячи депо прибавляете 0.1 лота. Это можно организовать гораздо проще и элигантней:
double step_balance=2000; //На каждые 2000 тысячи баланса
double step_lot=0.1; //повышать лот на 0.1
double Choose_Balance(double Balance)
{
double lot;
lot=MathFloor(Balance/step_balance)*step_lot;
return(lot);
}
Функция самопроверяющаяся. Если размер депо (меньше 2000) не позволяет открыть даже 0.1 лот, то она вернет 0, что надо понимать это означает что торговля запрещена. Функция работает с любыми цифрами а не только до 66 000 баксов. Как видите массивы здесь обсолютно не причем. А вообще я вам посоветую отходить от вбивания жестких переменных в функции. Для этого есть циклы, математические функции и т.д. Как видите я даже баланс и размер лота выразил через переменные, что бы в будущем можно было бы менять эти значения динамически.
О, большое спасибо.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день. Пытаюсь понять массивы и есть уверенность что лучше данный код переписать под массив.
Так или нет. Есть ли смысл? Функция меняет размер лота в зависимости от депозита.
Или может кто предложит что-то удобнее и проще.
Заранее благодарю.
//------------------------------------
double Choose_Balance(double Balance)
{
double Lotty = 0.0;
if (Balance >= 2000)
{
Lotty = 0.1;
}
if (Balance >= 4000)
{
Lotty = 0.2;
}
if (Balance >= 6000)
{
Lotty = 0.3;
}
if (Balance >= 8000)
{
Lotty = 0.4;
}
if (Balance >= 10000)
{
Lotty = 0.5;
}
if (Balance >= 12000)
{
Lotty = 0.6;
}
if (Balance >= 14000)
{
Lotty = 0.7;
}
if (Balance >= 16000)
{
Lotty = 0.8;
}
if (Balance >= 18000)
{
Lotty = 0.9;
}
if (Balance >= 20000)
{
Lotty = 1.0;
}
if (Balance >= 22000)
{
Lotty = 1.1;
}
if (Balance >= 24000)
{
Lotty = 1.2;
}
if (Balance >= 26000)
{
Lotty = 1.3;
}
if (Balance >= 28000)
{
Lotty = 1.4;
}
if (Balance >= 30000)
{
Lotty = 1.5;
}
if (Balance >= 32000)
{
Lotty = 1.6;
}
if (Balance >= 34000)
{
Lotty = 1.7;
}
if (Balance >= 36000)
{
Lotty = 1.8;
}
if (Balance >= 38000)
{
Lotty = 1.9;
}
if (Balance >= 40000)
{
Lotty = 2.0;
}
if (Balance >= 42000)
{
Lotty = 2.1;
}
if (Balance >= 44000)
{
Lotty = 2.2;
}
if (Balance >= 46000)
{
Lotty = 2.3;
}
if (Balance >= 48000)
{
Lotty = 2.4;
}
if (Balance >= 50000)
{
Lotty = 2.5;
}
if (Balance >= 52000)
{
Lotty = 2.6;
}
if (Balance >= 54000)
{
Lotty = 2.7;
}
if (Balance >= 56000)
{
Lotty = 2.8;
}
if (Balance >= 58000)
{
Lotty = 2.9;
}
if (Balance >= 60000)
{
Lotty = 3.0;
}
if (Balance >= 62000)
{
Lotty = 3.1;
}
if (Balance >= 64000)
{
Lotty = 3.2;
}
if (Balance >= 66000)
{
Lotty = 3.3;
}
return(Lotty);
}