//create temporary table to store daily pricing for comparisons $simplePriceHistory = "simple_price_history"; $query = "drop table if exists " . $simplePriceHistory; $result = queryMysql($query); $query = "create table " . $simplePriceHistory . " select symbol, trade_date, trade_date_id, open, high, low, close, daily_change, pct_change, "; $query .= "55_DAY_HIGH, 20_DAY_HIGH from price_history where trade_date >= '" . $start_date . "'"; $result = queryMysql($query); $query = "select trade_date from price_history where symbol = 'AAPL' and trade_date >= '" . $start_date . "'"; $result = queryMysql($query); $minReturn = 100; $maxReturn = -100; while ($data = mysql_fetch_row($result)) { $trade_date = $data[0]; turtle_portfolio_sell($trade_date); turtle_portfolio_pyramid_buy($trade_date); turtle_portfolio_buy($trade_date, $breakOutSignal, $ADX_filter, $breakOutOrderBy); turtle_portfolio_update_stop_loss($trade_date); $value = get_historical_turtle_portfolio_value($trade_date); $preturn = ($value - $original_investment) / $original_investment * 100; $dollar_return = $value - $original_investment; if ($preturn > $maxReturn) { $maxReturn = $preturn; } if ($preturn < $minReturn) { $minReturn = $preturn; } $portfolioReturn[$count]['trade_date'] = $trade_date; $portfolioReturn[$count]['return'] = $preturn; $portfolioReturn[$count]['value'] = $value; $portfolioReturn[$count]['maxReturn'] = $maxReturn; $portfolioReturn[$count]['minReturn'] = $minReturn;
echo json_encode($json1); } elseif ($_GET['action'] == 'get_historical_portfolio_return') { global $original_investment; $today_date = $_GET['today_date']; $date = $_GET['date']; $portfolioID = 1; $preturn = get_historical_turtle_portfolio_value($date, $portfolioID); $preturn = ($preturn - $original_investment) / $original_investment * 100; $json1 = array(); $json1[0]['preturn'] = $preturn; echo json_encode($json1); } elseif ($_GET['action'] == 'simulate_1_day_trade') { $date = $_GET['date']; turtle_portfolio_sell($date); turtle_portfolio_pyramid_buy($date); turtle_portfolio_buy($date); turtle_portfolio_update_stop_loss($date); } elseif ($_GET['action'] == 'get_valid_trade_dates') { $start_date = $_GET['start_date']; $dateArray = array(); $count = 0; $query = "select trade_date from price_history where symbol = 'AAPL' and trade_date >= '" . $start_date . "' order by trade_date desc"; $result = queryMysql($query); while ($data = mysql_fetch_row($result)) { $dateArray[$count]['trade_date'] = $data[0]; $count++; } echo json_encode($dateArray); } elseif ($_GET['action'] == 'simulate_range_trade') { global $original_investment; global $breakOutSignal;
$trade_date = $data[0]; #print "before sell ".date("h:i:sa")."\n"; #$time_start = microtime(true); turtle_portfolio_sell($trade_date, $portfolioID); #$time_end = microtime(true); #$time = $time_end - $time_start; #print "turtle portfolio sell took: $time micro seconds \n"; #print "before pyramid buy ".date("h:i:sa")."\n"; #$time_start = microtime(true); turtle_portfolio_pyramid_buy($trade_date, $portfolioID); #$time_end = microtime(true); #$time = $time_end - $time_start; #print "turtle portfolio pyramid buy took: $time micro seconds \n"; #print "before buy ".date("h:i:sa")."\n"; #$time_start = microtime(true); turtle_portfolio_buy($trade_date, $breakOutSignal, $ADX_filter, $breakOutOrderBy, $portfolioID, $dailyBuyList); #$time_end = microtime(true); #$time = $time_end - $time_start; #print "turtle portfolio buy took: $time micro seconds \n"; #print "before update stop loss ".date("h:i:sa")."\n"; #$time_start = microtime(true); turtle_portfolio_update_stop_loss($trade_date, $portfolioID); //turtle_portfolio_update_stop_loss_with_spl ($trade_date, $portfolioID); #$time_end = microtime(true); #$time = $time_end - $time_start; #print "turtle portfolio update stop loss took: $time micro seconds \n"; #print "before get historcal valud ".date("h:i:sa")."\n"; $value = get_historical_turtle_portfolio_value($trade_date, $portfolioID); $preturn = ($value - $original_investment) / $original_investment * 100; $dollar_return = $value - $original_investment; if ($preturn > $maxReturn) {