The ACD Method

Discussion in 'Technical Analysis' started by sbrowne126, Jul 16, 2009.

  1. In my best Seinfeld voice ... "No leaks ..... No leaks". He's told me nothing except to read, study and think. :)
     
    #13481     Jun 25, 2017
  2. I do believe I finally have something worthy to contribute to this thread to repay a small bit of the benefit I have gained from it. I have taken the components of these ETFs, scored the 30 day NL, calculated the ratio of positive to negative within the ETF, and then ranked the ETFs by ratio. I hope it provides food for though and motivation for those of us attempting to learn programming in our mid/old age. :) EXCEL_2017-06-26_15-46-41.png
     
    #13482     Jun 26, 2017
    justrading likes this.
  3. koolaid

    koolaid

    so higher ratios of postive:negative is a bearish signal? or you just like to highlite those in red? it looks like those ratios are negative/positive ratios. I just finished coding the NL scoring in R and I just can't imagine having to download all the components of each ETF each day...Python allows you to do this easily?

    thank you again for sharing bagger
     
    Last edited: Jun 26, 2017
    #13483     Jun 26, 2017
  4. That spreadsheet shows the rank. So xlf has the most bullish ratio right now. I like pretty colors. As far as the data management:

    1. update data files with qcollector/esignal (1 mouse click/15 minute download)
    2. run multiple copies of my scoring software (a couple clicks/5 minutes to run)
    the scoring software also deletes unneeded data when finished in order to keep it fast going foward
    3. Run python file that takes output and updates and formats all the excel files (1 click/5 seconds)

    I would eventually like to combine all this into one program. I'm still figuring this whole programming thing out though. Still it is about 30 minutes total to run the ETF components, major futures and currencies. Pretty good for a retail chump on his laptop.
     
    #13484     Jun 26, 2017
  5. Oh yeah, I'm assuming you like me figured out first how to run one symbol at a time. Next, try to figure out how to make one of your inputs a txt file with a symbol list that it will loop through and score.
     
    #13485     Jun 26, 2017
  6. koolaid

    koolaid

    haha so true. I did write it up...spent weeks...for 1 symbold...then another user on here helped me with coding it for multi symbols from a list.

    My problem is using R and IB, I don't want to have to re-download old data. I need a software or code that will just fetch new data from IB and join it to old data that I have already downloaded once. As of right now, whenever I run my script...it downloads all 90 days worth of data each time just to include today's data.
     
    #13486     Jun 26, 2017
  7. I think I saw a program similiar to qcollector for collecting IB data. I think that it was no longer supported though. If you plan to do this for the long haul you might just want to pay for the esignal/qcollector combo. It is pretty awesome.
     
    #13487     Jun 26, 2017
  8. koolaid

    koolaid

    Euro about to hit 1.15....what is your opinion Mav. Will this put a cap on equities?
     
    #13489     Jun 27, 2017
  9. Really easy you just have to dig into IB API. In R if you run the code;

    require(IBrokers)
    args(reqHistoricalData)

    You will see that theres an argument called "duration". According to documentation here;

    The duration string must be of the form ‘n S’ where the last character may be any one of ‘S’ (seconds), ‘D’ (days), ‘W’ (weeks), ‘M’ (months), and ‘Y’ (year). At present the limit for years is 1.

    * Note that the argument has got to be a character string so you need the "" around the value.

    So for example using duration = "2 D", will tell the function to pull only the last 2 days of data off rather than all 90 days in your case.

    You could use the reqHistoricalData inside another function, but get R to extract the last date from your DB and compute days from current date to date of last entry in DB, then create a variable for the duration argument of this value which would then only pull required data.

    I decided to post this here so that it may be of help to others in similar situation.
     
    #13490     Jun 28, 2017