本文整理汇总了PHP中getBuyList函数的典型用法代码示例。如果您正苦于以下问题:PHP getBuyList函数的具体用法?PHP getBuyList怎么用?PHP getBuyList使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getBuyList函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: crsi_buy
function crsi_buy($date, $breakOutSignal, $ADX_filter, $breakOutOrderBy, $portfolioID, $dailyBuyList, $enterCRSI, $enterRange, $enterLimit, $tranHistory, $orderBy, $next_date, $skipFactor, $stop_loss_multiplier, $max_risk, $risk_factor)
{
global $max_num_holdings;
#global $max_risk;
#global $risk_factor;
#global $stop_loss_multiplier;
global $portfolio_tbl;
global $showOutput;
global $commission;
global $tranHistArray;
global $portfolio_table;
if (!$portfolioID) {
$portfolioID = 1;
}
if (!$dailyBuyList) {
$dailyBuyList = "crsi_daily_buy_list";
}
$breakOutStockArray = getBuyList($date, $enterCRSI, $enterRange, $portfolioID, $dailyBuyList, $enterLimit, $orderBy);
$sizeBuyList = sizeof($breakOutStockArray);
if (!$skipFactor) {
$skipFactor = 0.05;
}
/*
echo "date: $date ", PHP_EOL;
$count = sizeof($breakOutStockArray);
echo "len array: $count ", PHP_EOL;
for ($y=0; $y<sizeof($breakOutStockArray); $y++) {
echo "symbol: ", $breakOutStockArray[$y]['symbol'], PHP_EOL;
}
echo " end end ", PHP_EOL;
*/
$len_array = count($breakOutStockArray);
//$risk_factor = 1 / $max_num_holdings;
$portfolio_value = 0;
$current_pos = 0;
$next_buy_point = 100000;
$stop_loss = 0;
$num_shares = 0;
$current_N = 0;
$risk_value = 0;
$purchase_value = 0;
$sim_start_day = 55;
$pyramid_mode = 0;
$stop_loss = 0;
$current_trade_date_id = 0;
$workingArray = $breakOutStockArray;
$adxArray = "";
$adxCount = 1;
$len_array = count($breakOutStockArray);
$portfolio_value = get_historical_turtle_portfolio_value($date, $portfolioID);
$query = "select shares from {$portfolio_table} where symbol = 'CASH' and portfolio_id = " . $portfolioID;
$result = queryMysql($query);
while ($data = mysql_fetch_row($result)) {
$cash = $data[0];
}
#echo "date: $date symbol: ", $breakOutStockArray[$x]['symbol'], "cash: $cash purchase value: $purchase_value current risk: $current_risk max risk: $max_risk ", PHP_EOL;
$current_risk = get_portfolio_risk($date, $portfolioID);
#echo "date: $date symbol: ", $breakOutStockArray[$x]['symbol'], "cash: $cash purchase value: $purchase_value current risk: $current_risk max risk: $max_risk ", PHP_EOL;
#print "current risk in the beginning: $current_risk \n";
$buy_array = array();
$skipNum = ceil($skipFactor * $sizeBuyList);
#echo "date: ", $date, " size: ", $sizeBuyList, " skipping: ", $skipNum, PHP_EOL;
#for ($x=1; $x < $len_array; $x++) {
for ($x = $skipNum; $x < $sizeBuyList; $x++) {
### get portfolio value
#$portfolio_value = get_historical_turtle_portfolio_value($date, $portfolioID);
### get current available cash
#$query = "select shares from turtle_portfolio where symbol = 'CASH' and portfolio_id = ".$portfolioID;
#$result = queryMysql($query);
#while ($data = mysql_fetch_row($result)) {
# $cash = $data[0];
#}
$risk_value = $portfolio_value * $risk_factor / 100;
$current_N = $breakOutStockArray[$x]['ATR'];
if ($current_N > 0) {
$num_shares = floor($risk_value / ($stop_loss_multiplier * $current_N));
}
/* $purchase_value = $num_shares * $breakOutStockArray[$x][$breakOutSignal];
$stop_loss = $breakOutStockArray[$x][$breakOutSignal] - (2*$current_N);
$stop_buy = $breakOutStockArray[$x][$breakOutSignal] + $current_N;
*/
#echo "x: $x date: $date portfolio value: $portfolio_value cash: $cash risk value: $risk_value current N: $current_N symbol: ".$breakOutStockArray[$x]['symbol'], PHP_EOL;
## set purchase price to next day open price
$breakOutStockArray[$x]['purchase_price'] = getStockPrice($next_date, $breakOutStockArray[$x]['symbol'], 'open');
if (!$breakOutStockArray[$x]['purchase_price']) {
break;
}
$h = $breakOutStockArray[$x]['high'];
$l = $breakOutStockArray[$x]['low'];
$o = $breakOutStockArray[$x]['open'];
$c = $breakOutStockArray[$x]['close'];
$p = $breakOutStockArray[$x]['purchase_price'];
#print "trade date: $date symbol $s close: $c open: $o purchase price = $p <br /> \n";
#$breakOutStockArray[$x]['purchase_price'] = $breakOutStockArray[$x]['buy_price'];
$purchase_value = $num_shares * $breakOutStockArray[$x]['purchase_price'] + $commission;
$stop_loss = $breakOutStockArray[$x]['purchase_price'] - $stop_loss_multiplier * $current_N;
$stop_buy = $breakOutStockArray[$x]['purchase_price'] + $current_N;
#$current_risk = get_current_risk($portfolioID);
#$current_risk = get_portfolio_risk($date, $portfolioID);
//.........这里部分代码省略.........
示例2: crsi_buy
function crsi_buy($date, $breakOutSignal, $ADX_filter, $breakOutOrderBy, $portfolioID, $dailyBuyList, $enterCRSI, $enterRange, $enterLimit, $tranHistory, $orderBy, $next_date)
{
global $max_num_holdings;
global $max_risk;
global $risk_factor;
global $stop_loss_muptiplier;
global $portfolio_tbl;
global $showOutput;
if (!$portfolioID) {
$portfolioID = 1;
}
if (!$dailyBuyList) {
$dailyBuyList = "crsi_daily_buy_list";
}
//$breakOutSignal = "55_DAY_HIGH";
### get list of breakout stocks
//$breakOutStockArray = array();
#$crsiThreshold = 20;
#$pctLimitBelow = 2;
#$enterCRSI = 20;
#$enterRange = 100;
#$enterLimit = 2;
// $breakOutStockArray = getBreakoutStock5 ($date, $breakOutSignal, $breakOutOrderBy, $portfolioID, $dailyBuyList);
// $breakOutStockArray = getBreakoutStock6 ($date, $breakOutSignal, $breakOutOrderBy, $portfolioID, $dailyBuyList);
$breakOutStockArray = getBuyList($date, $enterCRSI, $enterRange, $portfolioID, $dailyBuyList, $enterLimit, $orderBy);
// echo json_decode($breakOutStockArray);
// set how many breakout stocks to buy
//$len_array = count($breakOutStockArray);
$len_array = count($breakOutStockArray);
$risk_factor = 1 / $max_num_holdings;
$portfolio_value = 0;
$current_pos = 0;
$next_buy_point = 100000;
$stop_loss = 0;
$num_shares = 0;
$current_N = 0;
$risk_value = 0;
$purchase_value = 0;
$sim_start_day = 55;
$pyramid_mode = 0;
$stop_loss = 0;
$current_trade_date_id = 0;
$workingArray = $breakOutStockArray;
$adxArray = "";
$adxCount = 1;
$len_array = count($breakOutStockArray);
for ($x = 1; $x < $len_array; $x++) {
### get portfolio value
$portfolio_value = get_historical_turtle_portfolio_value($date, $portfolioID);
### get current available cash
$query = "select shares from turtle_portfolio where symbol = 'CASH' and portfolio_id = " . $portfolioID;
$result = queryMysql($query);
while ($data = mysql_fetch_row($result)) {
$cash = $data[0];
}
$risk_value = $portfolio_value * $risk_factor / 100;
$current_N = $breakOutStockArray[$x]['ATR'];
if ($current_N > 0) {
$num_shares = floor($risk_value / ($stop_loss_muptiplier * $current_N));
}
/* $purchase_value = $num_shares * $breakOutStockArray[$x][$breakOutSignal];
$stop_loss = $breakOutStockArray[$x][$breakOutSignal] - (2*$current_N);
$stop_buy = $breakOutStockArray[$x][$breakOutSignal] + $current_N;
*/
## find purchase price
## if target buy price > open (gap down at open, past buy price)
## set purchase price = (open + low ) / 2
## if open > target buy price > close (regular price action
## set purchase price = target buy price
if ($breakOutStockArray[$x]['buy_price'] > $breakOutStockArray[$x]['open']) {
$breakOutStockArray[$x]['purchase_price'] = getStockPrice($date, $breakOutStockArray[$x]['symbol'], 'close');
$s = $breakOutStockArray[$x]['symbol'];
$p = $breakOutStockArray[$x]['purchase_price'];
$b = $breakOutStockArray[$x]['buy_price'];
#print "buy price > open: $s buy price = $b purchase price = $p <br />";
} else {
$breakOutStockArray[$x]['purchase_price'] = getStockPrice($next_date, $breakOutStockArray[$x]['symbol'], 'close');
$s = $breakOutStockArray[$x]['symbol'];
$p = $breakOutStockArray[$x]['purchase_price'];
$b = $breakOutStockArray[$x]['buy_price'];
$h = $breakOutStockArray[$x]['high'];
$l = $breakOutStockArray[$x]['low'];
$o = $breakOutStockArray[$x]['open'];
$c = $breakOutStockArray[$x]['close'];
#print "regular price: $o high $h low $l close $c : $s buy price = $b purchase price = $p <br />";
}
## set purchase price to next day open price
##$breakOutStockArray[$x]['purchase_price'] = getStockPrice($next_date, $breakOutStockArray[$x]['symbol'], 'open');
$h = $breakOutStockArray[$x]['high'];
$l = $breakOutStockArray[$x]['low'];
$o = $breakOutStockArray[$x]['open'];
$c = $breakOutStockArray[$x]['close'];
$p = $breakOutStockArray[$x]['purchase_price'];
#print "trade date: $date symbol $s close: $c open: $o purchase price = $p <br /> \n";
#$breakOutStockArray[$x]['purchase_price'] = $breakOutStockArray[$x]['buy_price'];
$purchase_value = $num_shares * $breakOutStockArray[$x]['purchase_price'];
$stop_loss = $breakOutStockArray[$x]['purchase_price'] - $stop_loss_muptiplier * $current_N;
$stop_buy = $breakOutStockArray[$x]['purchase_price'] + $current_N;
#$current_risk = get_current_risk($portfolioID);
$current_risk = get_portfolio_risk($date, $portfolioID);
//.........这里部分代码省略.........
示例3: json_encode
// $breakOutList = getBreakoutStock5 ($date, "55_DAY_HIGH", $testArray, 1, "turtle_daily_buy_list");
// $breakOutList = getBreakoutStock4 ($date, "55_DAY_HIGH", $testArray);
//$breakOutList = getBreakoutStock2 ($date, "55_DAY_HIGH", "relative_avg_vol");
echo json_encode($breakOutList);
} elseif ($_GET['action'] == 'testGetBuyList') {
// http://ngureco.hubpages.com/hub/How-to-Buy-Shares-Calculating-Average-Directional-Movement-Using-Excel-ADX-Formula
$symbol = $_GET['symbol'];
$date = $_GET['date'];
$crsiThreshold = $_GET['crsi'];
$pctLimitBelow = $_GET['limit'];
$testArray = array();
//$testArray["pct_change"] = 0.3;
//$testArray["relative_avg_vol"] = 0.4;
$testArray["daily_change"] = 0.3;
//$testArray[2] = "c";
$breakOutList = getBuyList($date, $crsiThreshold, $testArray, 2, "crsi_daily_buy_list", $pctLimitBelow);
// $breakOutList = getBreakoutStock5 ($date, "55_DAY_HIGH", $testArray, 1, "turtle_daily_buy_list");
// $breakOutList = getBreakoutStock4 ($date, "55_DAY_HIGH", $testArray);
//$breakOutList = getBreakoutStock2 ($date, "55_DAY_HIGH", "relative_avg_vol");
echo json_encode($breakOutList);
} elseif ($_GET['action'] == 'test_turtle_portfolio_buy') {
// http://ngureco.hubpages.com/hub/How-to-Buy-Shares-Calculating-Average-Directional-Movement-Using-Excel-ADX-Formula
reset_portfolio(1);
$symbol = $_GET['symbol'];
$date = $_GET['date'];
// update cash position
$my_sql = "delete from turtle_portfolio where symbol != 'CASH'";
$result = queryMysql($my_sql);
turtle_portfolio_buy($date);
//echo json_encode($returnADX);
} elseif ($_GET['action'] == 'test_crsi_buy') {