Перейти к содержанию

Биржа (Торговля)


Рекомендуемые сообщения

Сильно много букаф! Вот почему писалось выше что не поймут. ;)

*PARDON*

Если букв много, то есть вероятность, что поймут, осилив их.

Если букв мало, то не поймут точно :)

А я тут рассмотрел только три принципа:

- физическое разделение рынков;

- сортировка заявок по признаку лучшей цены;

- исполнение заявок по признаку лучшей цены.

А предложений у меня ещё очень много (всего девять), так как нужно многое учесть и просчитать. Потому я надеюсь, что Вы понимаете насколько существующая биржа далека от идеала ;)

И если честно, мне очень интересно кто ещё, кроме меня, понимает о чём я тут пишу?

Ссылка на сообщение
Поделиться на другие сайты

Сильно много букаф! Вот почему писалось выше что не поймут. ;)

Хех! А сейчас будет ещё больше! :)

Эх! Ну, понеслась, родимая!

Просьба к форумчанам и Администрации: пожалуйста, читайте всё ОЧЕНЬ внимательно и всё ОЧЕНЬ вдумчиво! Здоровая критика приветствуется, а флуд и обвинения в задротстве -- фтопку. Я не задрот, просто у меня есть что вам предложить.

Если Вы чего-то не поняли -- перечитайте, пожалуйста, непонятое ещё раз.

Если Вы нашли ошибку/опечатку -- будьте добры и не поленитесь сообщить, я исправлю или же объясню подробнее с примерами. Хотя куда уж подробнее-то? :)

Основные принципы построения биржи таковы:

1. разделение рынков;

2. сортировка заявок только по признаку лучшей цены;

3. исполнение заявок только по признаку лучшей цены;

4. никаких ограничений на количество поданых заявок или на их цены;

5. защита против мошенничества;

6. учёт топливных затрат и физическое размещение биржи;

7. доступ к истории цен и объёмам;

8. обезличивание заявок;

9. защита против сейва рес-ов и транспортов на бирже;

10. защита против прокачки и Рыночный регулятор.

Описание первого принципа "Разделение рынков".

Каждому рынку нужно дать отдельную html-страничку.

Предлагаю организовать три рынка:

1. дейтерий/металл;

2. дейтерий/кристаллы и

3. кристаллы/металл.

Можно, конечно, и наоборот: м/д, м/к, к/д, -- но не нужно. Как я погляжу, дейтерий является самым дорогим рес-ом, а металл -- самым дешёвым. Потому при организации первой тройки мы получаем цену со значимыми целой и дробной частями, а при второй -- только с дробной (в целой части будет 0). Таким образом больше значимых цифр можно уместить в ячейке фиксированной длинны.

Кстати, кол-во знаков после запятой должно определяться объёмами заявок, которые будут проходить через биржу: чем больше объём отдельной заявки, тем больше должно быть знаков после запятой. Это важно учесть при округлении цен.

Описание второго и третьего принципа "Сортировка заявок только по признаку лучшей цены" и "Исполнение заявок только по признаку лучшей цены".

Тут всё понятно из названия: заявки должны быть отсортированы так, чтобы самой первой исполнилась заявка с самой лучшей ценой среди однотипных, а самой последней -- с ценой самой худшей. Соответственно конкурировать игроки должны только по ценам, а не по ценам, репутациям и удалённостям от торговых партнёров.

Описание четвёртого принципа "Никаких ограничений на количество поданых заявок или на их цены".

Игрок сам решает сколько подать заявок на биржу и какие цены в них заявлять.

Описание пятого принципа "Защита против мошенничества".

Я заметил на форуме обсуждение недобросовестных игроков, которые подав заявку на биржу не могли (умышленно или случайно) выполнить взятые на себя обязательства: игроки договорились о цене и объёме, кто-то отправил свои рес-ы, а кто-то смошенничал и за них в ответ не заплатил. Кого-то даже из альянса исключили...

Предлагаю возложить эту функцию на саму торговую систему игры: взял обязательства, подав заявку на биржу -- обязательно выполняй!

При оформлении, а также во время исполнения заявок, движок торговой системы должен проверять следующие четыре условия:

1) хватает ли у игрока необходимого кол-ва ресурса, которым он собирается расплачиваться?

2) хватает ли у игрока необходимого кол-ва трюмов для транспортировки платёжного ресурса на биржу и купленного товара с биржи? Предлагаю транспорт расчитавыть на один полёт.

3) Хватит ли игроку топлива для полёта его транспортов?

4) Хватит ли игроку хранилищ для купленного товара после выполнения его заявки? Заявку исполнили, а складировать-то некуда!

Если все четыре условия выполнены, то дальнейшие действия таковы:

1. автоматически загружаем платёжный ресурс в транспорты без возможности отмены загрузки;

2. транспорты отбывают на биржу с возможной отменой и возвратом флота назад на планету (читайте описание 6-ого принципа);

3. автоматически резервируем свободное место в хранилищах для товара и для платёжного ресурса (последнее нужно на тот случай, если мы отменим заявку и флот вернётся домой -- платёжный ресурс тоже ведь надо где-то складировать);

4. транспорты прибывают на биржу;

5. автоматически появляется заявка на котировочной доске, уже готовая к исполнению;

6. исполняется заявка;

7. транспорты автоматически загружаются товаром;

8. транспорты прибывают домой.

Первые три действия происходят автоматически и мгновенно без участия игрока. Также пятое и седьмое действие. А вот четвёртое, шестое и восьмое действие требует времени.

Отмечу, что во время шестого действия транспорты остаются якобы в доках биржи, а платёжный ресурс -- якобы на её складе. Но тут есть некоторые нюансы, описанные в девятом принципе.

Продолжение в моём следующем письме.

Ссылка на сообщение
Поделиться на другие сайты

Продолжение.

Описание шестого принципа "Учёт топливных затрат и физическое размещение биржи".

Самое интересное :)

Сейчас биржа в игре функционирует приблизительно таким образом:

- продавец запрашивает у торговой системы цены и координаты покупателей;

- биржа даёт все цены и координаты всех покупателей;

- покупатель запрашивает у торговой системы цены и координаты продавцов;

- биржа даёт все цены и координаты всех продавцов;

- продавец отправляет свои транспорты лучшему по его мнению покупателю;

- покупатель отправляет свои транспорты лучшему по его мнению продавцу.

4c3a9882.gif

(Пардон, эта картинка не совсем соответсвует текстовому описанию, которое приведено выше.)

На этом всё. Таким образом биржа ни за что больше не отвечает. Ничего плохого в этом нет, но есть одно "но": если у нас обеспечен второй и, что самое важное, третий принцип, то игроки могут оказаться в невыгодном положении из-за того что не будут учтены топливные затраты.

Я уверен, что все хоть раз оказывались в ситуации, когда надо было принять решение в следующих условиях: купить 1 000 металла, заплатив за него 200 кристаллов и затратив на транспортировку 500 дейтерия или купить ту же 1 000, но уже дороже -- за 300 кристаллов, -- но при этом сэкономив на дейтерии (например, потратив всего лишь 350).

Идеально, конечно, соритровать заявки не только по цене, но и с учётом затрат на топливо. В таком случае биржа сразу должна отвечать на вопрос, что важнее для игрока -- уступить 100 кристаллов или сберечь 150 дейтерия? Необходимо сравнить. Но что с чем? Наилучшим выходом станет сравнение с самой лучшей ценой покупки дейтерия за кристаллы на соответствующем рынке. Процесс сравнения сейчас не важен. Важно другое: может случится так, что и сравнивать-то не будет с чем. Это печально, но рынок в XGame не очень ликвидный и на нём запросто может не оказаться нужных нам для сравнения обменных заявок. А потому и биржа не сможет корректно отсортировать заявки, учитывая при этом топливные затраты. Следовательно такой вариант нам не подходит.

И даже если администрация игры каким-то чудесным образом научит торговую систему решать эту задачу, есть ещё один очень небольшой, но неимоверно важный нюанс: учитывая для каждого игрока топливные затраты система будет выдавать разный перечень заявок по-разному отсортированный индивидуально для каждого игрока. А это делает невозможным полноценный анализ рынка.

Я подвожу вас всех к тому, что котировочная доска для всех без исключения игроков должна быть одна и только одна. Здесь без вариантов.

И в то же время игроки не должены страдать. А они непременно пострадают, если разрешить исполнение заявок только по признаку лучшей цены. Ведь может элементарно быть так, что лучше переплатить немного платёжного рес-а (получив тем самым немного худшую цену), но существенно сэкономить на топливе!

Вот как я предлагаю решать данную проблему: ДАТЬ БИРЖЕ КОНКРЕТНОЕ ФИЗИЧЕСКОЕ МЕСТО РАСПОЛОЖЕНИЯ ВО ВСЕЛЕННОЙ.

Для чего? Сейчас поймёте :) .

Предлагаю изменить процедуру обмена товарами с той, что на предыдущем рисунке, на вот такую:

63f623b6.gif

Теперь биржа уже выступает промежуточным складом, а не просто базой данных цен и координат участников торгов.

Если биржа будет "висеть" где-то в одном конкретном и всем известном месте, то каждый игрок будет всегда тратить только определённое и заранее известное кол-во топлива. Конечно, кто-то будет тратить больше, а кто-то меньше. Это будет зависеть от физического места расположения "иксчейнджа" и самого игрока. На вопрос где именно повесить биржу отвечает MS Excel c надстройкой Поиск решения. С этим проблем совершенно не будет.

Но это другая история. Сейчас больше важен другой вопрос: чем второй способ лучше первого? Я понимаю, что первый способ топлывные затраты учитывает оптимальнее, но он сильно уязвим от состояния топливного рынка из-за возможно низкой ликвидности последнего (не будет покупателей дейтерия в какой-то конкретный момент времени). Тем более он предвидит построение индивидуального перечня заявок для каждого игрока в зависимости от места его физического расположения, а также от места физического расположения контрагента для этого игрока. (Соответственно на одном едином, вселенском :), анализе всего рынка можно сразу ставить крест.) Процесс сортировки и исполнения заявок будет функцией от двух переменных: цены товаров и топливных затрат на их транспортировку. Я же ратую только за цену.

В жизни в общем-то также: уж если оказался на задворках, то это твоя личная проблема и никого кроме тебя она не интересует. Есть, правда, одно средство -- это условия INCOTERMS. Они регламентируют момент передачи права собственности на товар (и, соответственно, ответственность за испортившийся в пути товар, неправильное оформление документов на груз и т. д.). Но даже я признаю, что это уже лишнее.

Добавлю только то, что нужно разрешить отправку рес-ов на биржу только с метрополий и запретить принятие рес-ов напрямую с колоний. Надеюсь, все понимают почему так.

Концовка в моём следующем письме.

Ссылка на сообщение
Поделиться на другие сайты

Концовка.

Описание седьмого принципа "Доступ к истории цен и объёмам".

Требуется обеспечить доступ к истории цен и объёмам торгов. Используя исторические данные, игроки смогут лучше понять что происходит с рынком и что с ним может произойти в будущем.

Историю сохранять хотя бы за семь последних торговых дней. Таких историй должно быть три -- по одной на каждый рынок.

Вот пример:

261b971b.gif

Такой вещи как Объём денег ни одна торговая система в мире не публикует (не все ТС даже нормальный объём торгов публикуют), и тем не менее большинство торговых площадок предоставляют доступ к меньшему масштабу времени: например, 4 часа, 1 час, полчаса, 15 минут, 5 минут и 1 минута. Можно просматривать такие графики цен и уже делать выводы, в диапазоне каких цен была наибольшая торговая активность. Но поскольку мы тут войны воюем, а не на бирже спекулировать учимся, то такая подробная история в общем-то нам ни к чем, и всё же желательно иметь хотя бы окончательное кол-во денег (платёжного ресурса, т.е.), прошедшего через биржу. Так можно узнать какая цена была средней за весь день торгов.

Про важность цены открытия Open, наибольшей High, наименьшей цены Low и цены закрытия дня Close объяснять не стану вовсе. Скажу лишь то, что они дают понять как изменялась цена товара на протяжении торгового дня.

Нужно также публиковать историю изменения запасов у Регулятора рынка за день (читайте описание десятого принципа).

9df4968f.gif

(Хм... Можно публиковать только абсолютное значение. Без относительного. Относительное изменение можно и в Экселе посчитать. Врчуную.)

Описание восьмого принципа "Обезличивание заявок".

Сейчас игроки во время торгов, кроме цены, учитывают "деловую репутацию" контрагента, который заинтересовал своим предложением. И это оправдано тем, что биржа в её нынешнем виде не гарантирует исполнение заявок. Но с другой стороны заявка на бирже как минимум может повлечь излишнюю заинтересованость вами со стороны соседей. Как "наводка". Это всё равно что повесить на входную дверь своей квартиры табличку: "Товарищи воры и грабители! За этой дверью лежит 10 000 долларов США, 8 000 евро, 15 000 гривен и бриллиантов с золотом ещё тыщ на сто. Мы вас ждём-с!" Конечно, подразумевается, что за дверью, кроме всего перечисленного, есть ещё голодный бультерьер и Вы со злым обрезом, с которым ещё Ваш дедушка партизанил в лесах Брянщины.

Заявки надо обезличить и каждую пронумеровать, чтобы можно было разобраться какая заявка исполняла какую, если возникнут претензии к работе самой ТС.

Номера должны выдаваться в порядке поступления заявок на биржу, быть исключительно индивидуальными и уникальными.

Описание девятого принципа "Защита против сейва рес-ов и транспортов на бирже".

Если вы внимательно читали обоснование придания бирже какого-то конкретного места во вселенной (это в описании шестого принципа) и процедуру принятия заявки (читайте описание пятого принципа), то могли справедливо заметить, что сберегать флот и ресурсы станет неимоверно просто: вечером разместил заявку на бирже по совершенно нерыночной цене, отправил флот с рес-ом на биржу, а утром вернул домой.

Это есть правильно с точки зрения банальной эрудиции (флот и рес-ы физически не находятся на планете, потому как их могут украсть?), но не есть правильно с точки зрения духа самой игры.

Господа, мы все с вами деловые люди и понимаем, что биржа существует для ОБМЕНА ресурсов, а не для непонятно чего. Причины обмена не обсуждаются, они могут быть, конечно, разными: то ли продажа избыточных рес-ов и покупка дефицитных для дальнейшей постройки строений, создания флотов или проведения исследований, то ли спекуляция. Это не важно. Важно другое -- ОБМЕН. Хотите застраховаться -- грузите всё на транспорты и катайте по просторам универсума сколько душе угодно.

А теперь предложение: во время полёта транспортов с рес-ами на биржу и во время их возврата домой считать, что их нет на главной планете игрока (метрополии), но во время их пребывания на самой бирже считать так, как будто бы они всё ещё находятся там. Таким образом, если флот в полёте, при сканировании планеты ни летящих транспортов, ни перевозимого на них рес-а видно не будет. Шпионам показывать только то, что есть фактически на метрополии в момент сканирования. Но во время пребывания транспортов в доках и рес-ов на складах биржи для сканера учитывать их в общем счёте. Точно так же и при нападении на игрока. Если флот летит и везёт ресы, то атакующий не может его разрушить и забрать их, а когда транспорты стоят на бирже, тогда они при нападении тоже портятся, а рес-ы грабятся. Таким образом не будет смысла их отправлять на биржу кроме как для торговли.

В какой очерёдности будут портится транспорты на планете и стоящие на бирже, а также грабится рес-ы необходимо думать отдельно. Может в случайном порядке?

Описание десятого принципа "Защита против прокачки и Рыночный регулятор".

Выдержка из Правил (http://xgame.net.ua/uni1/rules.php):

3.1 Прокачка. Под прокачкой подразумеваются все безвозмездные пересылки ресурсов от более слабого по очкам игрока к более сильному (даже внутри альянса), а также торговля по курсу меньше официально разрешенного минимума 1:1:1 (1 металл к 1 кристаллу и к 1 дейтерию).

Как происходит прокачка в игре на существующей бирже понятно всем: прокачиваемый игрок размещает на котировочной доске заявку по совершенно нереальной цене, но поскольку заявки не сортированы и обязаловки их исполнять по наилучшим ценам нет (и как следствие каждый торгует с тем, с кем ему вздумается), то такую заявку исполняет прокачивающий игрок по договорённости с игроком им прокачиваемым.

Сейчас вы увидите каков залеженный потенциал рынка против прокачки, организованного с учётом моих предложений.

Действующие лица:

- клон -- прокачивающий игрок (предположительно, но необязательно, ниже по рейтингу, чем клоновод);

- клоновод -- прокачиваемый игрок (предположительно, но необязательно, выше по рейтингу, чем его клон);

Пример с завышенной ценой.

Пусть прокачиваемому клоноводу нужно 100 000 металла. За него он решает заплатить 100 кристаллов. Он размещает заявку "продать 100 кристаллов, покупая 100 000 металла". Пусть рынок у нас будет кристаллы/металл. Поэтому цена у нас расчитывается в металле и составляет 1 000 М/К: 100 000 М поделить на 100 К.

В тоже время прокачивающий клоновода клон размещает заявку обратную первой: "купить 100 кристаллов, продавая 100 000 металла". Цена снова таки 1 000 М/К.

Допустим также, что самая высокая (и самая худшая, между прочим) цена продажи сейчас = 15 М/К, самая низкая (и, соответсвенно, самая лучшая) цена продажи сейчас = 5 М/К, а самая высокая цена покупки = 4,5 М/К. Это тоже самая лучшая цена.

Сразу же заявленная цена прокачивающего клона станет самой лучшей (1 000 М/К больше чем 4,5 М/К). В тоже время 1 000 М/К (тут -- цена покупки) больше 5 М/К и потому биржа должна начать автоматическое исполнение заявки с этой ценой.

НО! Первая заявка клоновода сразу же становится самой худшей изо всех продаж: 1 000 М/К значительно дороже чем согласие сторонних продавцов продавать товар по 15 М/К.

Поскольку я предложил, чтобы биржа исполняла заявки только по признаку лучшей цены, то первыми должны закрыться заявки на продажу между ценами 5 М/К и 15 М/К и только потом уже 1 000 М/К. Так и произойдёт.

Важные нюансы:

1. если на рынке будут продавать ровно 100 металла или больше, то до исполнения клоноводовской заявки на продажу дело никак не дойдёт -- ресурс будет куплен раньше у сторонних продавцов не заинтересованных в прокачке клоновода.

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

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

А теперь я отвечу на вопрос, что такое Рыночный регулятор в моём понимании.

Выдержка из Правил (http://xgame.net.ua/uni1/rules.php):

4. Торговля. Официальный максимальный курс для торговли (металл:кристалл:дейтерий) - 3:3:1 (за 1 ед. дейтерия может максимум даваться либо 3 ед. кристалла, либо 3 ед. металла, за 1 ед. кристалла может даваться не более 3 ед. металла). Минимальный курс - 1:1:1. Максимальный срок возврата ресурсов – 3 дня.

Из-за несовершенства нынешнего рынка Администрация запретила обмен рес-ами выше/ниже определённых уровней. Причины этого ясны и в тоже время рынок должен сам устанавливать цены обмена.

Чтобы защитить игру даже от частичного исполнения мошеннических заявок (см. второе Если из Важных нюансов, которые выше по тексту), я предлагаю Администрации от своего имени разместить на рынке ОЧЕНЬ БОЛЬШИЕ заявки на куплю-продажу по определённым ценам, которые она считает справедливыми для обмена. Ну настолько большие заявки, чтобы никакой ТОП-1 "нивжисть" их не "перескочил". Откуда Администрация возьмёт эти рес-ы в таком кол-ве, надеюсь, объяснению не подлежит ;).

Таким образом мы обеспечиваем наличие товара на любом рынке и невозможность прокачки таким образом. На первых парах становления рынка это будет очень актуально, а дальше всё будет зависеть от самих игроков -- дадут ли они соответствующие объёмы торгов или нет.

По сути, конечно же, ничего не меняется -- мы будем и дальше иметь чёткий коридор изменения цены, но регулирование будет происходить рычагами самого рынка, а не банального админзапрета некоторых цен.

Очевидно и то, что статистика состояния счёта Рыночного регулятора должна быть открытой и доступной каждому.

Кстати, требование исполнить обязательства в срок 72 часов теперь тоже не будет актуально, ведь произойдёт автоматическая отправка флотов и время доставки рес-ов будет зависеть только от дальности полёта, а не от честности и расторопности контрагента.

Цены Регулятора устанавливает сама Администрация. Определить объёмы этих заявок можно по простым формулам.

У меня покуда всё.

Предложения по интерфейсу будут позже, когда Администрация начнёт осуществелние этих скромных предложений. ;)

Спасибо за внимание.

Ссылка на сообщение
Поделиться на другие сайты

Ужос,Вы тут прям бизнес тренинг устроили)

Не усложняйте себе и другим игру,Администрация сама профессионально и удобно всё сделает,

а Вам остаётся лишь играть в своё удовольствие)

Ну а вообще сама задумка интересная.

Ссылка на сообщение
Поделиться на другие сайты

Ужос,Вы тут прям бизнес тренинг устроили)

Не усложняйте себе и другим игру,Администрация сама профессионально и удобно всё сделает,

а Вам остаётся лишь играть в своё удовольствие)

Ну а вообще сама задумка интересная.

Я не сомневаюсь, что Администрация достаточно профессиональна и компетентна. Я решил перестраховаться и изложить свои мысли по этому поводу именно для того, чтобы 1) игроки могли уже сейчас ознакомиться с принципиальной схемой работы биржи (не только в этой игре, но и в реальной жизни) и 2) Администрация ничего не забыла и всё учла. А то потом ведь скажут, что, мол, провтыкали/забыли/не подумали :)

Ссылка на сообщение
Поделиться на другие сайты
  • Основатель

Главным достоинством должна быть простота...

Сделать отличное, продуманное, интересное - не проблема, проблема в том, что новичку не интересно даже разбираться в этом. Можно написать мануал на несколько страниц, но кому интересно читать его? Вы не учли главную проблему в создании чего либо - ПРОСТОТА.

Ссылка на сообщение
Поделиться на другие сайты

Сорри за флуд, но я нуб, и не знаю как торговать как обменивать ресы вручную и по выбору.

Что именно не ясно? Как заявку подать? Заходишь в подменю Торговля (раздел Галактика), что слева на мониторе. Жмёшь на ссылку Добавить объявление. В появившемся окне вводишь ресурсы, которые согласен отдать (ресурсы на продажу), и ресурсы, которые тебе нужно получить (необходимые ресурсы). Жмешь Добавить и молишся, чтобы на твою заявку обратили внимание и чтобы потом не забыть отправить рес-ы, когда на твоё предложение найдётся покупатель.

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...