Многих средних и мелких трейдеров не держит или трейд с ними затухает. А крупных явно переливает. Пробую профорсить всех мелких - траф на сидже возростает на 20-30%.
Но через пару дней трейд опять тухнет с ними.
Trade Poke абсолютно не справляется со своей задачей или сильно переливает явно мелкого или вобше 0-вого трейдера.
Есть предложение по поддержке средних, мелких и затухших трейдов.
Наверно в разделе Traffic Rules добавить подраздел.
Там добавляем слот(ы) для слива на трейдеров.
Условие вхождения в слот (допустим) - инов 0-5 - т.е. все трейдеры от которых инов от 0 до 5 в день.
Количество аутов в час на этот слот: % или точное число.
!Ограничение по аутам в час.
!Возможность отключать каждому трейдеру попадание в эту систему.
Пример:
--------------------------
Первый слот: Условие 0-5. Форсить 1% аутов (или N в час). Ограничение 50 в час.
Т.е. 50 аутов в час будет рандомно отослано трейдерам от которых инов от 0 до 5 в день.
--------------------------
Второй слот: Условие 6-20. Форсить 2%. Ограничение 100.
---------------------------
Третий слот: Условие 21-50. Форсить 3%. Ограничение 200.
---------------------------
Сколько слотов и какие условия вхождения, каждый уже решает сам.
Так возможно и рагонится мелкий или потухший трейд. А если трейдер реально мелкий или 0 - то ему много трафа не уйдёт (в отличии от Trade Poke) и мы всегда можем в его в настройках отключить попадание в эту систему или удалить из трейда.
Разгон и поддержание мелких трейдеров.
Re: Разгон и поддержание мелких трейдеров.
Думаю не стоит сразу спешить добавлять 100500 новых опций
сделаем отдельный файл, если то что надо - тогда и добавим
содержимое надо сохранить в scj/bin/low_trade_support.php и запускать как
php low_trade_support.php
так часто как вы хотите что бы эти правила выполнялись
По самим правилам мне кажется вопросов не будет, я описал в коде да и по названиям параметров по идее понятно будет.
Давайте попробуем и будет ясно что делать дальше.
сделаем отдельный файл, если то что надо - тогда и добавим
содержимое надо сохранить в scj/bin/low_trade_support.php и запускать как
php low_trade_support.php
так часто как вы хотите что бы эти правила выполнялись
По самим правилам мне кажется вопросов не будет, я описал в коде да и по названиям параметров по идее понятно будет.
Давайте попробуем и будет ясно что делать дальше.
Code: Select all
<?php
require('../includes/prepare.php');
$rules = array(
'rule_1' => array(
'min_in' => 5,
'max_in' => 10,
'force_percent_of_total_traffic' => 2,
'hourly_limit' => 10, // hit. So let's say we have total 1000 out hits, a trader has 6 hits that more then 'min_in', but less then 'max_in'
//we force him 'force_percent_of_total_traffic' (1000*2% = 20 out hits total), but limit is 10
// so we force 2 hours , 10 hits each hour
),
'rule_2' => array(
'min_in' => 11,
'max_in' => 20,
'force_percent_of_total_traffic' => 1,
'hourly_limit' => 10, // hit. So let's say we have total 1000 out hits, a trader has 6 hits that more then 'min_in',
//we force him 'force_percent_of_total_traffic' (1000*2% = 20 out hits total), but limit is 10
// so we force 2 hours , 10 hits each hour
),
);
$unix_hour = floor(time()/3600);
$total_day_out = db_val("SELECT sum(`out`) FROM day WHERE hour <= ".($unix_hour-23)." and trader IN (SELECT td FROM traders WHERE system_trade IN (0) )"); // replace with IN (0) with IN (0, 1) to include system traffic
$q = db_query("SELECT td FROM traders WHERE system_trade = 0");
while ($d = db_fetch_assoc($q)) {
$daily_trader_in = db_val("SELECT sum(raw) FROM day WHERE hour <= ".($unix_hour-23)." and trader = '".addslashes($d['td'])."' "); // replace with IN (0) with IN (0, 1) to include system traffic
foreach ($rules as $rule_name => $rule) {
if ($daily_trader_in < $rule['min_in'] or $daily_trader_in > $rule['max_in']) continue;
$force_amount = floor($total_day_out * $rule['force_percent_of_total_traffic'] / 100);
if ($force_amount > $rule['hourly_limit']) {
$hours = floor($force_amount/$rule['hourly_limit']);
$per_hour = floor($force_amount/$hours);
} else {
$hours = 1;
$per_hour = $force_amount;
}
print("Rule {$rule_name} trigged. Forcing {$per_hour} for {$hours} to {$d['td']} \n");
db_query("UPDATE traders SET sforce_amount = '{$per_hour}', sforce_hours = '{$hours}' WHERE td = '{$d['td']}' ");
}
}
Don't forget to run script update
Re: Разгон и поддержание мелких трейдеров.
Попробовал.. Немного не то.
Слот - это как бы список урлов на трейдеров, которые подошли под его условие. И трафик рандомно раздаётся на урлы из этого списка(слота), при наличии активного слота. Количество трафика и ограничение мы выставляем сами.
Т.е. не надо персонально каждому трейдеру выставлять разовые форсы.
Надо каждые N минут пересоздавать этот список.
Слот - это как бы список урлов на трейдеров, которые подошли под его условие. И трафик рандомно раздаётся на урлы из этого списка(слота), при наличии активного слота. Количество трафика и ограничение мы выставляем сами.
Т.е. не надо персонально каждому трейдеру выставлять разовые форсы.
Надо каждые N минут пересоздавать этот список.
Re: Разгон и поддержание мелких трейдеров.
Те фактически все что надо поменять - это поделить force_percent_of_total_traffic между всему кто попал под правило, верно ?
Хоть каждую минуту - это вы как угодно часто можете запускать скрипт
Хоть каждую минуту - это вы как угодно часто можете запускать скрипт
Don't forget to run script update
Re: Разгон и поддержание мелких трейдеров.
Не надо ничего делить и усложнять.
Есть слот.
Он состоит из списка трейдеров, попавших под его условие. На этот список РАНДОМНО раздаётся определённое количество трафика.
Сколько сливать трафика на слот и ограничение мы сами ставим.
-----------------------
Пример:
Слот1
Условие попадания в слот(список) : Все сайты с инами от 0 до 5 за сутки
Сливать на слот: 1% от всех аутов.
Ограничение: 200 аутов в час на слот(список).
....................
Допустим под такое условие попало 100 трейдеров (а может 167 или 234 или 300 - это не важно).
Для данного примера, мы получаем список из 100 трейдеров.
....................
Итог:
Максимум 200 аутов в час уйдёт на этот слот(список), т.е. 200 аутов РАНДОМНО раздастся этим 100 трейдерам в час.
Каждому по 2 в час или по 48 в сутки.
Понемногу, но трейд порастёт или хотя бы не стухнет.
Это как бы простейшая система фрифорсов на мелких трейдеров.
Она и не перельёт на мелкого трейдера тонну трафа, и не даст каждому трейду потухнуть.
Естессно слот(список) периодически пересчитывается и возможно через час-два в Слоте(0-5) уже будет меньше чем 100 трейдеров, потому что некоторые уже не будут попадать под условие (0-5), т.к. инов от них стало больше, чем 5, т.е. трейд с ними порос.
Есть слот.
Он состоит из списка трейдеров, попавших под его условие. На этот список РАНДОМНО раздаётся определённое количество трафика.
Сколько сливать трафика на слот и ограничение мы сами ставим.
-----------------------
Пример:
Слот1
Условие попадания в слот(список) : Все сайты с инами от 0 до 5 за сутки
Сливать на слот: 1% от всех аутов.
Ограничение: 200 аутов в час на слот(список).
....................
Допустим под такое условие попало 100 трейдеров (а может 167 или 234 или 300 - это не важно).
Для данного примера, мы получаем список из 100 трейдеров.
....................
Итог:
Максимум 200 аутов в час уйдёт на этот слот(список), т.е. 200 аутов РАНДОМНО раздастся этим 100 трейдерам в час.
Каждому по 2 в час или по 48 в сутки.
Понемногу, но трейд порастёт или хотя бы не стухнет.
Это как бы простейшая система фрифорсов на мелких трейдеров.
Она и не перельёт на мелкого трейдера тонну трафа, и не даст каждому трейду потухнуть.
Естессно слот(список) периодически пересчитывается и возможно через час-два в Слоте(0-5) уже будет меньше чем 100 трейдеров, потому что некоторые уже не будут попадать под условие (0-5), т.к. инов от них стало больше, чем 5, т.е. трейд с ними порос.
Re: Разгон и поддержание мелких трейдеров.
Системы слотов нет в скрипте и переделывать весь аут ради того что бы попробовать очнеь сложно, тем более что глобально разницы нет
В варианте со слотами плохореализуемо ограничение в час
например в слоте 2 трейдера (1 и 2)
им надо отдать 2% аутов с часовым лимитом 100
например за первые 3 минуты отдали трейдеру 10 хитов
но тут пересчитали и решили что отдавать надо трейдерами 2 и 3 - и тут проблема в том что надо наворачивать огромное кол-во логов и подсчетов что б понять кто был в группе за час, отдавать 90 на оставшихся и тп.
те вариант слотов может быть только в % от трафа на группу но без часовых ограничений.
А в реалиях мы хотим отдать по паре хитов выделенным трейдерам
у нас например 20к аутов
например у нас 5 трейдеров попало в слот
им надо отдать 2% с часовым ограничением 100
2% - это 400 хитов , но у нас ограничение 100 - берем 100.
100/5 = по 20 хитов каждому
и запускаем раз в час скрипт
все просто и предсказуемо куда сколько трафа пойдет и сколько его вообще туда пойдет.
В варианте со слотами плохореализуемо ограничение в час
например в слоте 2 трейдера (1 и 2)
им надо отдать 2% аутов с часовым лимитом 100
например за первые 3 минуты отдали трейдеру 10 хитов
но тут пересчитали и решили что отдавать надо трейдерами 2 и 3 - и тут проблема в том что надо наворачивать огромное кол-во логов и подсчетов что б понять кто был в группе за час, отдавать 90 на оставшихся и тп.
те вариант слотов может быть только в % от трафа на группу но без часовых ограничений.
А в реалиях мы хотим отдать по паре хитов выделенным трейдерам
у нас например 20к аутов
например у нас 5 трейдеров попало в слот
им надо отдать 2% с часовым ограничением 100
2% - это 400 хитов , но у нас ограничение 100 - берем 100.
100/5 = по 20 хитов каждому
и запускаем раз в час скрипт
все просто и предсказуемо куда сколько трафа пойдет и сколько его вообще туда пойдет.
Code: Select all
<?php
require('../includes/prepare.php');
$rules = array(
'rule_1' => array(
'min_in' => 5,
'max_in' => 10,
'force_percent_of_total_traffic' => 2,
'hourly_limit' => 10, // hit. So let's say we have total 1000 out hits, a trader has 6 hits that more then 'min_in', but less then 'max_in'
//we force him 'force_percent_of_total_traffic' (1000*2% = 20 out hits total), but limit is 10
// so we force 2 hours , 10 hits each hour
),
'rule_2' => array(
'min_in' => 11,
'max_in' => 20,
'force_percent_of_total_traffic' => 1,
'hourly_limit' => 10, // hit. So let's say we have total 1000 out hits, a trader has 6 hits that more then 'min_in',
//we force him 'force_percent_of_total_traffic' (1000*2% = 20 out hits total), but limit is 10
// so we force 2 hours , 10 hits each hour
),
);
$unix_hour = floor(time()/3600);
$total_day_out = db_val("SELECT sum(`out`) FROM day WHERE hour <= ".($unix_hour-23)." and trader IN (SELECT td FROM traders WHERE system_trade IN (0) )"); // replace with IN (0) with IN (0, 1) to include system traffic
$total_per_hour = floor($total_day_out/24);
foreach ($rules as $rule_name => $rule) {
$traders = array();
$q = db_query("SELECT trader, sum(raw) total_raws FROM day
WHERE trader in (select td from traders WHERE system_trade = 0)
group by trader
HAVING total_raws > {$rule['min_in']} AND total_raws < {$rule['max_in']}
");
while ($d = db_fetch_assoc($q)) {
$traders[] = $d['trader'];
}
echo "Rule {$rule_name}, got ".count($traders)." traders \n";
if (count($traders) == 0) continue;
print_r($traders);
$force_amount = floor($total_day_out * $rule['force_percent_of_total_traffic'] / 100);
$per_hour = floor($force_amount/24);
if ($per_hour > $rule['hourly_limit']) $per_hour = $rule['hourly_limit'];
$per_trade = ceil($per_hour/count($traders));
echo "We have {$total_per_hour} per hour, {$rule['force_percent_of_total_traffic']}% for this slot = {$per_hour} hits\hour, force {$per_trade} to each trader \n ";
db_query("UPDATE traders SET tff = '{$per_trade}' WHERE td = '{$d['td']}' ");
}
Don't forget to run script update
Re: Разгон и поддержание мелких трейдеров.
Для чего это делается?
Скрипт нихуя не держит траф!
Топовых трейдеров ПЕРЕЛИВАЕТ,а со средними и мелкими трейд убивается
Вот пример топовых
R.In. U.In. Out
7081 2912 14282
5494 1910 9055
4318 1672 8879
Вручную ставлю форсы на мелких,средних и 0-вых - траф возрастает на 20 - 30%. Через сутки трейд с ними опять затухает.
Так зачем!!! мне переливать топовых, когда я этот трафик могу использовать для поддержния и развития средних и мелких трейдов.
Можно хотя бы списки с урлами на трейдеров делать (0-5), (6-21) и т.п.?
Топлисты скрипт может делать?
Может
Нужен, практически, тот же список(топлист). Но, чтобы трейдеры попадали под условие
----------------------------------------
Топлист1: (0-5) - От 0 до 5 инов в сутки.
трейдер (0-5)
....
....
....
терейдер (0-5)
::Ссылка на список http://mysite.com/scj/0-5.php:::
--------------------------
Топлист2: (6-21) - От 6 до 21 инов в сутки.
терейдер (6-20)
....
....
....
терейдер(6-20)
::Ссылка на список http://mysite.com/scj/6-21.php:::
-----------------------
Эти списки пересоздаются как топлисты
Что тут сложного!!!!!?
По сути, эти списки как песочница ссылок на мелких трейдеров, чтобы трейд с ними не затух.
Поставил сливать 200 аутов в час на список http://mysite.com/scj/0-5.php - и траф рандомно раздаётся на всех из этого списка.
Всё очень просто.
-----------------------------------------
Сделай хотябы просто возможность сделать списки
mysite.com/scj/0-5.php
mysite.com/scj/6-20.php
mysite.com/scj/21-50.php
и т.д.
Скрипт нихуя не держит траф!
Топовых трейдеров ПЕРЕЛИВАЕТ,а со средними и мелкими трейд убивается
Вот пример топовых
R.In. U.In. Out
7081 2912 14282
5494 1910 9055
4318 1672 8879
Вручную ставлю форсы на мелких,средних и 0-вых - траф возрастает на 20 - 30%. Через сутки трейд с ними опять затухает.
Так зачем!!! мне переливать топовых, когда я этот трафик могу использовать для поддержния и развития средних и мелких трейдов.
Можно хотя бы списки с урлами на трейдеров делать (0-5), (6-21) и т.п.?
Топлисты скрипт может делать?
Может
Нужен, практически, тот же список(топлист). Но, чтобы трейдеры попадали под условие
----------------------------------------
Топлист1: (0-5) - От 0 до 5 инов в сутки.
трейдер (0-5)
....
....
....
терейдер (0-5)
::Ссылка на список http://mysite.com/scj/0-5.php:::
--------------------------
Топлист2: (6-21) - От 6 до 21 инов в сутки.
терейдер (6-20)
....
....
....
терейдер(6-20)
::Ссылка на список http://mysite.com/scj/6-21.php:::
-----------------------
Эти списки пересоздаются как топлисты
Что тут сложного!!!!!?
По сути, эти списки как песочница ссылок на мелких трейдеров, чтобы трейд с ними не затух.
Поставил сливать 200 аутов в час на список http://mysite.com/scj/0-5.php - и траф рандомно раздаётся на всех из этого списка.
Всё очень просто.
-----------------------------------------
Сделай хотябы просто возможность сделать списки
mysite.com/scj/0-5.php
mysite.com/scj/6-20.php
mysite.com/scj/21-50.php
и т.д.
Re: Разгон и поддержание мелких трейдеров.
Я не понял, теперь надо не скрипт, а что б создавало топлисты ?
Don't forget to run script update
Re: Разгон и поддержание мелких трейдеров.
Я имел ввиду, что не надо расчитывать форсы на каждого трейдера.
Не надо ничего усложнять.
Просто создаётся список... Я на него сливаю 100 (сколько захочу) аутов в час
--------
Пример
Список 0-5. Сливать 100 в час.
Туда попали все трейдеры от которых инов от 0 до 5 в день.
На этих трейдеров рандомно слилось 100 аутов.
ПРОСТО РАНДОМНО!!!!!!
Ну что тут сложного?
Не надо ничего усложнять.
Просто создаётся список... Я на него сливаю 100 (сколько захочу) аутов в час
--------
Пример
Список 0-5. Сливать 100 в час.
Туда попали все трейдеры от которых инов от 0 до 5 в день.
На этих трейдеров рандомно слилось 100 аутов.
ПРОСТО РАНДОМНО!!!!!!
Ну что тут сложного?
Re: Разгон и поддержание мелких трейдеров.
И чем это отличается от скрипта выше ?
Don't forget to run script update