示例#1
0
function daily_buy_sell_cron($pid)
{
    $today = date("Y-m-d");
    #$today = "2015-05-15";
    $account = live_get_account_setting($pid);
    ## delete order_queue
    echo "delete order queue for {$pid} ", PHP_EOL;
    delete_queue($pid);
    ## sell
    echo "before sell", PHP_EOL;
    live_crsi_sell($today, $pid, $account['exit_crsi'], "");
    ## make sure the orders are inserted into table at separate time
    sleep(1);
    echo "before buy", PHP_EOL;
    ## buy
    live_crsi_buy($today, $pid, $account['enter_crsi'], $account['enter_range'], $account['pct_limit_below'], $account['order_by'], $account['risk_factor'], $account['risk_sd'], $account['max_risk']);
    echo "before record performance", PHP_EOL;
    ## record portfolio value and performance
    record_daily_performance($pid);
    ## populate daily buy list
    live_populateDailyBuyList($today, $account['enter_crsi'], $account['enter_range'], $pid, $account['pct_limit_below']);
}
                            $today = "2015-03-26";
                            $orderBy = "crsi desc";
                            live_get_portfolio_risk($today, $portfolioID);
                        } else {
                            if ($_GET['action'] == 'live_crsi_buy') {
                                $portfolioID = $_GET['portfolio_id'];
                                $today = $_GET['today'];
                                if (empty($today)) {
                                    $today = date("Y-m-d");
                                }
                                $account = live_get_account_setting($portfolioID);
                                live_crsi_buy($today, $portfolioID, $account['enter_crsi'], $account['enter_range'], $account['pct_limit_below'], $account['order_by']);
                            } else {
                                if ($_GET['action'] == 'test_live_get_account_setting') {
                                    $portfolioID = $_GET['portfolio_id'];
                                    live_get_account_setting($portfolioID);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    #function live_populateDailyBuyList ($today_date, $crsiThreshold, $enterRange, $portfolioID, $dailyBuyList, $pctLimitBelow) {
    #function live_getBuyList ($today_date, $crsiThreshold, $enterRange, $portfolioID, $dailyBuyList, $pctLimitBelow, $orderBy) {
}
function initiate_live_portfolio($portfolioID, $start_date, $end_date, $enterCRSI, $enterRange, $enterLimit, $exitCRSI, $commission, $max_risk, $risk_factor, $stop_loss_multiplier, $orderBy)
{
    global $original_investment;
    global $breakOutSignal;
function initiate_live_portfolio_2($portfolioID)
{
    global $original_investment;
    global $breakOutSignal;
    global $ADX_filter;
    global $breakOutSignal;
    global $breakOutOrderBy;
    global $simplePriceHistory;
    global $showOutput;
    global $risk_factor;
    global $max_risk;
    global $stop_loss_multiplier;
    global $tranHistArray;
    global $portfolio_table;
    global $liveportfolio;
    global $liveportfolio_account;
    global $liveportfolio_trade;
    global $liveportfolio_complete_trade;
    global $commission;
    $account = live_get_account_setting($portfolioID);
    $original_investment = $account['starting_capital'];
    reset_live_portfolio($portfolioID);
    $end_date = date("Y-m-d");
    $simResult = simulate_range_trade($portfolioID, $account['start_date'], $end_date, $account['enter_crsi'], $account['enter_range'], $account['pct_limit_below'], $account['exit_crsi'], $commission, $account['max_risk'], $account['risk_factor'], $account['risk_sd'], $account['order_by']);
    copy_sim_to_live_portfolio($portfolioID);
    print $simResult;
}