Page 3 of 9

Re: переодическая раскачка трейдов

Posted: Sun Nov 03, 2013 5:33 am
by dkst
а, ну и смотрю список трейдеров - у большинства comment: try_trader_done
т.е. по этому не форсит. вообще зачем этот флаг ставить? получается, что вся система на 1 раз проходит весь список трейдеров и дальше не работает, а должна бесконечно по кругу работать.

Re: переодическая раскачка трейдов

Posted: Sun Nov 03, 2013 10:42 am
by Jabar
dkst wrote: у большинства comment: try_trader_done
т.е. по этому не форсит. вообще зачем этот флаг ставить?
а должна бесконечно по кругу работать.
Флаг нужен чтоб одного и тогоже постоянно не долбило.
Видимо алгоритмическая ошибочка. По идее после прохода всех по кругу, флаг должен сбрасываться в ноль. А тут условие не выполнено - всех еще не прошла. А пройти всех не может - не пускает ограничение по алексе.
имхо так кажется, при первом взгляде на анамнез :)

Re: переодическая раскачка трейдов

Posted: Sun Nov 03, 2013 11:11 am
by admin
Да, видимо оно, поправочка

Code: Select all

<?php
require('../includes/prepare.php');


$max_in_hits = 5;
// % of out clicks for force
$out_percent = 3;
$max_alexa_rank = 500000;


// select total outs to trade during last 24h
$total_outs = db_value('total_hits', 'select sum(ho0+ho1+ho2+ho3+ho4+ho5+ho6+ho7+ho8+ho9+ho10+ho11+ho12+ho13+ho14+ho15+ho16+ho17+ho18+ho19+ho20+ho21+ho22+ho23) as total_hits from day
WHERE h IN (SELECT td FROM traders WHERE system_trade = 0)');

$hits_to_force = round($total_outs*$out_percent/100);
if ($hits_to_force < 1) die("Not enough hits to force. Do we have out hits at all ? ");


// set 'done' flag
db_query("UPDATE traders SET tcomment = 'try_trader_done' WHERE tcomment = 'try_trader' and tff = 0 ");
// check if we alreading forcing someone
$td = db_value('td', "SELECT td FROM traders WHERE tcomment = 'try_trader' and tff != 0 ");
if ($td) {
   die("We are trying trader {$td} right now ");
}



$low_traders = array();
// select _active_ trades with less then $max_in_hits during last 24h
$q = db_query("select sum(hr0+hr1+hr2+hr3+hr4+hr5+hr6+hr7+hr8+hr9+hr10+hr11+hr12+hr13+hr14+hr15+hr16+hr17+hr18+hr19+hr20+hr21+hr22+hr23) as total_hits, h, ext_info from day
JOIN traders as t on t.td = day.h
WHERE system_trade = 0 and ta = 1 and tff = 0 and tcomment != 'try_trader_done'  
GROUP BY h
HAVING total_hits <= '".(int) $max_in_hits."' ");
while ($d = db_fetch_assoc($q)) {

	$d['ext_info'] = unserialize($d['ext_info']);
   	if (!preg_match('|Alexa Rank (.*?)$|is', $d['ext_info']['alexa'], $out)) continue;

   	$rank = str_replace(',','',$out[1]);

   	if ((int) $rank > $max_alexa_rank) continue;

	$low_traders[$d['h']] = db_value('SUM(uni)', "SELECT SUM(uni) FROM history WHERE trader = '{$d['h']}' ");
}

if (count($low_traders)) {
	arsort($low_traders);
	$force_trader = current(array_keys($low_traders));

	db_query("UPDATE traders SET tff = '{$hits_to_force}', tcomment = 'try_trader' WHERE  td = '{$force_trader}' ");
	echo "Forcing {$hits_to_force} to trader {$force_trader} \n";

} else {

	db_query("UPDATE traders SET tcomment = '' WHERE tcomment = 'try_trader_done'");
	die("No traders to force");

}


Re: переодическая раскачка трейдов

Posted: Sun Nov 03, 2013 1:11 pm
by dkst
ок. вроде заработало.
а предыдущий вопрос был - когда система будет в сам смарт встроена, а не отдельным скриптом?

Re: переодическая раскачка трейдов

Posted: Mon Nov 04, 2013 12:10 am
by admin
Ждемс отзывов от того что есть и можно добавлять в 51 )

Re: переодическая раскачка трейдов

Posted: Mon Nov 11, 2013 2:56 pm
by dkst
ну в общем за исключением колонки с хистори ратио, которая должна быть в % - все работает как надо. жду в апдйете.

Re: переодическая раскачка трейдов

Posted: Wed Mar 19, 2014 3:36 pm
by billion
$out_percent = 3;
может ли быть дробным? 0.5 например?

Re: переодическая раскачка трейдов

Posted: Wed Mar 19, 2014 3:38 pm
by admin
Да по идее

Re: переодическая раскачка трейдов

Posted: Thu Mar 20, 2014 2:29 pm
by admin

Re: переодическая раскачка трейдов

Posted: Wed Mar 26, 2014 11:28 pm
by xawm
помоему ещё существует проблема с сайтами для которых не определена Alexa которые показывают алексу в таблице как:

Code: Select all

R:
Скрипт считает такие трейды как сайты с наивысшей алексой.