A better Trader: Difference between revisions

From Bitpost wiki
No edit summary
No edit summary
Line 1: Line 1:
=== ANALYZE PSEUDO (REFACTOR THREE) ===
=== ANALYZE PSEUDO (REFACTOR THREE) ===


  carefully select APSs to test based on a range of aggressive levels
Single aggressiveness slider value selected:
  then do a small monte carlo around the best result
  only apply to one stock at a time (unlike before where we ran all - revisit this)
 
* analysis page requests analysis via AJAX: user selects aggressiveness
* analysis page requests analysis via AJAX: user selects aggressiveness
* APIGetRunAnalysis::handle_call()
* APIGetRunAnalysis::handle_call()
Line 17: Line 14:
** atc_.thread_buildRunJSON(rh)
** atc_.thread_buildRunJSON(rh)


Auto-analysis selected (aggressiveness=0)
carefully select (0..n) APSs to test based on a range of aggressive levels
then do a small monte carlo around the best result
only apply to one stock at a time (unlike before where we ran all - revisit this)


=== TRADE PSEUDO ===
=== TRADE PSEUDO ===

Revision as of 01:31, 7 July 2016

ANALYZE PSEUDO (REFACTOR THREE)

Single aggressiveness slider value selected:

  • analysis page requests analysis via AJAX: user selects aggressiveness
  • APIGetRunAnalysis::handle_call()
    • p_user_->findBrokerAccount(account_id);
    • ba.getSPAS(run_id,&spit,&asit)
    • g_p_local->readRunHistory()
    • atc_.thread_analyzeHistory(aggressiveness, rh, aps)
      • AutotradeParameterSet apsToAnalyze;
      • generateAPSFromAggressiveness(aggressiveness, apsToAnalyze)
      • create MemoryModel, AppUser, BrokerAccount
      • pba->analyze(rh)
    • atc_.thread_buildRunJSON(rh)

Auto-analysis selected (aggressiveness=0)

carefully select (0..n) APSs to test based on a range of aggressive levels
then do a small monte carlo around the best result
only apply to one stock at a time (unlike before where we ran all - revisit this)

TRADE PSEUDO

load from SQL tables into Major Objects (std::unordered_sets of PersistentIDObjects)

API PSEUDO

   APIGetRunLive::handle_call()
       g_p_local->getRunLiveJSON()
           readRunQAB(s_str_db_name...)
           (SAME as readRunLive!!)
   APIGetRunHistory::handle_call()
       g_p_local->getRunHistoryJSON()
           readRunHistory
               readRunQAB

Qt Creator settings

  • Make sure you have already run [atbuild] and [atbuild debug].
  • Open CMakeLists.txt as a Qt Creator project.
  • It will force you to do CMake - pick cmake-release folder and let it go.
  • Rename the build config to debug.
  • Clone it to release and change folder to release.
  • Delete make step and replace it with custom build:
./build.sh
(no args)
%{buildDir}
  • Create run setups:
you have to use hardcoded path to working dir (or leave it blank maybe?): /home/m/development/thedigitalage/AbetterTrader/server
[x] run in terminal
debug args: localhost 8000 test reanalyze (matches attest)
release args: localhost 8080 live (matches atlive)