Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2011, 22:06   #1
Namolem
Oo
Форумчанин
 
Аватар для Namolem
 
Регистрация: 10.10.2009
Сообщений: 350
По умолчанию Алгоритм для рынка ценных бумаг

Ссылка на программу:
http://dl.dropbox.com/u/15540158/Temp/stocks.rar

Есть рынок акций
В начале дается: 100 акций, цена каждой 100 рублей

Акции можно покупать и продавать каждый день.
Цены на акции меняются по следующему алгоритму (по 1 рублю за изменение):
↑ ↑ -> ↑ (50%), →(25%), ↓ (25%)
→ → -> → (50%), ↑(25%), ↓ (25%)
↓↓ -> ↓ (50%), ↑(25%),→ (25%)

где стрелочка означает направление изменения цены (повышается, не изменяется, понижается).
В остальных случаях шансы изменения равны равны.

Сейчас у меня такое условие:
Код:
                if (difference < -20)
                    return BuyPercent(100);
                else if (difference < -15)
                    if (PriceGenerator.IsFalling)
                        return BuyPercent(40);
                    else
                        return BuyPercent(80);
                else if (difference < -10)
                    if (PriceGenerator.IsFalling)
                        return BuyPercent(25);
                    else
                        return BuyPercent(50);
                else if (difference < -5)
                    if (PriceGenerator.IsFalling)
                        return BuyPercent(15);
                    else
                        return BuyPercent(30);
                else if (difference < 5)
                    if (PriceGenerator.IsRaising)
                        return SellPercert(2);
                    else
                        return SellPercert(5);
                else if (difference < 10)
                    if (PriceGenerator.IsRaising)
                        return SellPercert(5);
                    else
                        return SellPercert(10);
                else if (difference < 15)
                    if (PriceGenerator.IsRaising)
                        return SellPercert(20);
                    else
                        return SellPercert(40);
                else
                    return SellPercert(100);
где difference - разница между текущей ценой и начальной
BuyPercent - потратить Х процент денег на акции
SellPercert - продать Х процент акций


Алгоритм дает рандомный результат, прибыль или убытки

Последний раз редактировалось Namolem; 22.05.2011 в 22:30.
Namolem вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос к game'рам: что Вы ждёте от рынка? в какую игру Вы бы хотели поиграть? micaell Gamedev - cоздание игр: Unity, OpenGL, DirectX 33 06.12.2007 18:00
Разработка проекта «Биржа ценных бумаг» средствами Delphi KORT Помощь студентам 3 12.07.2007 09:19