Quote Loader Security/Currency price loader for Moneydance 2019

Mike Bray 's Avatar

Mike Bray

30 Dec, 2018 10:22 AM

The Infinite Kind has recently released a new version of Moneydance for testing/preview. It is called Moneydance 2019 and can be found at https://infinitekind.com/preview. It has a number of changes in particular in the storing of Security Prices. In addition the base version of Java used to run Moneydance has been updated from Java 1.8 to Java 11.

With this in mind I have released a new version of the Quote Loader extension. It can be found at https://bitbucket.org/mikerb/moneydance-2019/downloads/.

IMPORTANT Do not run the old versions of Quote Loader with Moneydance 2019. Do not run the new versions with Moneydance 2017.

You can find information about Quote Loader for Moneydance 2017 in this thread http://help.infinitekind.com/discussions/investments/3771-third-par...

Showing page 3 out of 9. View the first page

  1. 61 Posted by derekkent23 on 04 Feb, 2019 03:21 PM

    derekkent23's Avatar

    I am not support staff, just a user.
    Hi pnewman3

    You have just installed and hit a problem.
    What's your computer operating system?
    Did you follow the process in the PDF V6.3.
    What was your setup before you installed?
    Have you just upgraded to 2019 and were attempting to upgrade the Quote Loader for 2019?
    If you were a existing user did you use the extension manager to remove any of the Quote Loader extensions.
    Or are you a first-time user of the Quote Loader.

    With this information we are more able to work out what went wrong and advice.

  2. 62 Posted by Mike Bray on 04 Feb, 2019 03:40 PM

    Mike Bray 's Avatar

    Did you restart moneydance?

  3. 63 Posted by pnewman3 on 04 Feb, 2019 04:54 PM

    pnewman3's Avatar

    Mike you were correct. I missed the close after adding the extensions. Thank you guys!

  4. 64 Posted by Mark Hackney on 04 Feb, 2019 08:51 PM

    Mark Hackney's Avatar

    just out of curiosity, where, on a Mac, running MD2019.1 (1855) should the rhumba.mxt and securityquoteload.mxt be put by the installer? The reason i ask is because the install behavior was way out of kilter with my thinking on what SHOULD be the selection file that i had put the zip into the same folder where i had older copies of those two files. Now i have those two installed in the hidden Rhumba folder and they are also in the parent folder, fmodules! all with the same date/time stamp.

    Update: i decided to uninstall the hl*.jar, securityquoteload.mxt and rhumba.mxt and try the installer again. after a MD restart, and using the installer, the QL*.zip file is not selectable, frankly nothing can be chosen as the file to install. Again this is a Mac (MacOS 10.14.3) with MD 2019.1 installed

  5. 65 Posted by Mike Bray on 05 Feb, 2019 07:52 AM

    Mike Bray 's Avatar

    The extension files should be put into the 'Feature Modules' directory which I get from Moneydance. So they should be in the fmodule folder. If you do a 'new' install the installer first puts the .mxt files into the .rhumba directory and then installs them into the fmodules directory. I will be releasing a new version of the installer that deletes the files in the .rhumba directory after the install.

    To trigger a 'new' install it is best to delete the two .mxt files and the .rhumba directory.

    I would suggest that the zip file is put into the Downloads folder. I have tested it on a Mac (10.14.2).

  6. 66 Posted by Mike Bray on 05 Feb, 2019 01:31 PM

    Mike Bray 's Avatar

    Please note, the two *.mxt files in the .rhumba directory do not disappear until Moneydance is closed down.

    Please wait for build 2 of the installer which I will upload this afternoon (GMT)

  7. 67 Posted by Mark Hackney on 05 Feb, 2019 01:53 PM

    Mark Hackney's Avatar

    Thanks Mike. I'll wait for build 2. Maybe i've got a weird install of the OS or a permission issue, but the QL installer just will not let me select the zip file. it's grayed out and can not be selected.

  8. 68 Posted by derekkent23 on 05 Feb, 2019 02:39 PM

    derekkent23's Avatar

    I am not support staff, just a user.

    Quote Loader Installer updated to V2
    To install follow page 3 in the PDF in post 54

    Hope this helps.

  9. 69 Posted by Mark Hackney on 05 Feb, 2019 03:21 PM

    Mark Hackney's Avatar

    Mike, Derek - thanks for your assistance but the installer still will not actively allow me to select the zip file, same as before. I'll just install the two .mxt files and hl*.jar file manually as i've previously done, just now from the manually expanded zip file.
    Appreciative of the help and the extensions! They work perfectly!

  10. 70 Posted by Mike Bray on 05 Feb, 2019 03:31 PM

    Mike Bray 's Avatar

    Mark, on the Mac the zip file shows up as a folder and you should be able to select the folder, unless there is a setting that I don’t know about. Does the zip file show up greyed out?

  11. 71 Posted by Mark Hackney on 05 Feb, 2019 03:35 PM

    Mark Hackney's Avatar

    yes it shows up greyed out. not selectable.

  12. 72 Posted by Mark Hackney on 05 Feb, 2019 03:41 PM

    Mark Hackney's Avatar

    I'm going to sheepishly type this, but did i just not catch that i was supposed to unzip the file before attempting to use the installer? I'd assumed that you program read the content of the zipped file and then installed them. So on a lark, i unzipped, used the installer, selected the unzipped folder containing the three files and then all worked fine. So if i missed the unzip step, i need to apologize for wasting your time.

  13. 73 Posted by derekkent23 on 05 Feb, 2019 03:48 PM

    derekkent23's Avatar

    I am not support staff, just a user.
    Hi Mark

    The intent is you should not need to unzip first.
    As a windows user QL installer works when the zip file is selected.
    Something else must be going on.
    Sure, Mike will get to the bottom of it.

  14. 74 Posted by Mike Bray on 05 Feb, 2019 03:52 PM

    Mike Bray 's Avatar

    OK, I have found the issue. When I tested on the Mac the zip file was automatically opened on download. I have now downloaded it as a zip file and managed to run the installer. I have uploaded a new build (3). Please download and try again, sorry for the inconvenience.

  15. 75 Posted by Mark Hackney on 05 Feb, 2019 04:09 PM

    Mark Hackney's Avatar

    Perfect!! Thanks and truly appreciate the effort and patience with my issue!

  16. 76 Posted by derekkent23 on 05 Feb, 2019 04:10 PM

    derekkent23's Avatar

    I am not support staff, just a user.

    Quote Loader Installer updated to V3
    To install follow page 3 in the PDF in post 54

    Hope this helps.

  17. 77 Posted by robert.l.spauld... on 05 Feb, 2019 09:28 PM

    robert.l.spaulding's Avatar

    Mike, Your time and effort on this plugin is greatly appreciated. It almost looks like you are moving toward integrating this plugin with the Moneydance Extension menu. Looks like the only thing missing is updating straight through Moneydance Manage Extensions window. I hope that is where you are headed, but if not please keep up the great work. Love it.

  18. 78 Posted by Mike Bray on 06 Feb, 2019 11:17 AM

    Mike Bray 's Avatar

    Hi Robert
    Thanks for the feedback. I have contemplated asking TIK to register Quote Loader. There are two disadvantages as I see. First getting updates out could take longer, secondly TIK already has the Quotes and Exchange Rates extension which is a direct competitor with Quote Loader. Anyhow, I have asked Sean if he is interested.
    Mike

  19. 79 Posted by robert.l.spauld... on 06 Feb, 2019 09:18 PM

    robert.l.spaulding's Avatar

    Thanks, would definitely simplify from user end. I always like being cutting edge, but becoming a bit tedious keeping up.

  20. 80 Posted by thboyd on 16 Feb, 2019 10:42 PM

    thboyd's Avatar

    I downloaded and installed quote loader per the instructions with no problems. However, after restarting MoneyDance Quote loader does not appear in the Extensions menu.

  21. 81 Posted by Mike Bray on 17 Feb, 2019 08:46 AM

    Mike Bray 's Avatar

    Hi thboyd

    Please can you do the following:

    Start quote loader installer and let me know what it says is installed.
    Click on Help, select Turn Debug On/Off, selected Detailed
    Select your zip file and click on install.
    Post the error log before restarting MoneyDance

    Also, please can you tell me what version of MD you are using and what OS you are using.

    If you have any issues with the above let me know.

    Regards
    Mike Bray

  22. 82 Posted by thboyd on 17 Feb, 2019 12:29 PM

    thboyd's Avatar

    I'm using MoneyDance 2019.1 build 1855 on on OS X 10.14.3.

    I followed your instructions but do not see an error log. Here's the screen shot after the install

  23. 83 Posted by Mike Bray on 17 Feb, 2019 12:55 PM

    Mike Bray 's Avatar

    Hi

    The error log I was talking about is the Moneydance error log, however the screen shot shows that Quote Loader was not installed but has now been installed. Please restart Moneydance and look at the extensions.

    If it is still missing, please follow the same instructions and when it has run please go to Help/Console Log within Moneydance. It will show the error log. You can 'Copy to Clipboard' which you can then paste into a forum post.

  24. 84 Posted by thboyd on 17 Feb, 2019 01:48 PM

    thboyd's Avatar

    Still wasn't installed. Reinstalled. Here's the log file

    Starting Moneydance 2019.1 (1855) at Sun Feb 17 08:15:40 EST 2019
    Settings Folder: /Users/tomboyd/Library/Containers/com.infinitekind.MoneydanceOSX/Data/Library/Application Support/Moneydance
    OS: Mac OS X 10.14.3 x86_64
    Java: 11.0.1 (Oracle Corporation)
    Is in sandbox: true; restricted file access: false
    initialized extension priceui in 0.026 seconds
    Quote Load Installer>INFO:main(Main,Init) Started Build 3
    initialized extension qlinstaller in 0.025 seconds
    multires images not supported: java.lang.ClassNotFoundException: sun/awt/image/MultiResolutionImage.class
    initialized extension updater in 0.17 seconds
    opening last file: /Users/tomboyd/Documents/Documents_A/FINANCE/Accounts/Accounts2018.moneydance
    loading dataset: /Users/tomboyd/Documents/Documents_A/FINANCE/Accounts/Accounts2018.moneydance
    loading with 128 bit encryption key
    updater: read 18673 bytes of update info
    Retrieving signature
    reading trunk data tiksync/trunk
    updater: using public key: updater_pub_0
    Sweet! We've gotten a signed description of the update info
    Version info retrieved; we are up to date!
    trunk data loaded (4.842 seconds), checking for incremental updates
    loading un-synced txn files...
    loading synced txn files...
    replacing root: null () with new root: My Finances (96dbd0b1-3b28-47ae-9d97-9f3cd8ba75f7
    dropbox folder should be at /Users/tomboyd/Dropbox and exists=false
    Quote Load Installer>DET:main(Main,HandleEventFileOpened) Debug level set to DET
    Quote Load Installer>DET:AWT-EventQueue-0(Main,HandleEvent) Event md:account:select
    Quote Load Installer>DET:AWT-EventQueue-0(Main,HandleEvent) Event md:account:root
    Quote Load Installer>DET:AWT-EventQueue-0(Main,invoke) Command showconsole
    Quote Load Installer>DET:AWT-EventQueue-0(loadPricesWindow,ChooseFile2) File Name is:/Users/tomboyd/Downloads/QL-2019-release-20190202.zip
    java.util.zip.ZipException: zip END header not found
    at java.base/java.util.zip.ZipFile$Source.zerror(Unknown Source)
    at java.base/java.util.zip.ZipFile$Source.findEND(Unknown Source)
    at java.base/java.util.zip.ZipFile$Source.initCEN(Unknown Source)
    at java.base/java.util.zip.ZipFile$Source.<init>(Unknown Source)
    at java.base/java.util.zip.ZipFile$Source.get(Unknown Source)
    at java.base/java.util.zip.ZipFile$CleanableResource.<init>(Unknown Source)
    at java.base/java.util.zip.ZipFile$CleanableResource.get(Unknown Source)
    at java.base/java.util.zip.ZipFile.<init>(Unknown Source)
    at java.base/java.util.zip.ZipFile.<init>(Unknown Source)
    at java.base/java.util.zip.ZipFile.<init>(Unknown Source)
    at com.moneydance.apps.md.controller.ModuleLoader$FMClassLoader.<init>(ModuleLoader.java:247)
    at com.moneydance.apps.md.controller.ModuleLoader.loadFeatureModule(ModuleLoader.java:43)
    at com.moneydance.apps.md.controller.Main.getExternalFeatureModule(Main.java:448)
    at com.moneydance.modules.features.qlinstaller.LoadFilesWindow.installFromFile(LoadFilesWindow.java:751)
    at com.moneydance.modules.features.qlinstaller.LoadFilesWindow.registerExtensions(LoadFilesWindow.java:725)
    at com.moneydance.modules.features.qlinstaller.LoadFilesWindow.copyOtherFiles(LoadFilesWindow.java:685)
    at com.moneydance.modules.features.qlinstaller.LoadFilesWindow.copyFiles(LoadFilesWindow.java:494)
    at com.moneydance.modules.features.qlinstaller.LoadFilesWindow.access$300(LoadFilesWindow.java:60)
    at com.moneydance.modules.features.qlinstaller.LoadFilesWindow$3.actionPerformed(LoadFilesWindow.java:266)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
    at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.desktop/java.awt.Component.processEvent(Unknown Source)
    at java.desktop/java.awt.Container.processEvent(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
    at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
    java.util.zip.ZipException: zip END header not found
    at java.base/java.util.zip.ZipFile$Source.zerror(Unknown Source)
    at java.base/java.util.zip.ZipFile$Source.findEND(Unknown Source)
    at java.base/java.util.zip.ZipFile$Source.initCEN(Unknown Source)
    at java.base/java.util.zip.ZipFile$Source.<init>(Unknown Source)
    at java.base/java.util.zip.ZipFile$Source.get(Unknown Source)
    at java.base/java.util.zip.ZipFile$CleanableResource.<init>(Unknown Source)
    at java.base/java.util.zip.ZipFile$CleanableResource.get(Unknown Source)
    at java.base/java.util.zip.ZipFile.<init>(Unknown Source)
    at java.base/java.util.zip.ZipFile.<init>(Unknown Source)
    at java.base/java.util.zip.ZipFile.<init>(Unknown Source)
    at com.moneydance.apps.md.controller.ModuleLoader$FMClassLoader.<init>(ModuleLoader.java:247)
    at com.moneydance.apps.md.controller.ModuleLoader.loadFeatureModule(ModuleLoader.java:43)
    at com.moneydance.apps.md.controller.Main.getExternalFeatureModule(Main.java:448)
    at com.moneydance.modules.features.qlinstaller.LoadFilesWindow.installFromFile(LoadFilesWindow.java:751)
    at com.moneydance.modules.features.qlinstaller.LoadFilesWindow.registerExtensions(LoadFilesWindow.java:739)
    at com.moneydance.modules.features.qlinstaller.LoadFilesWindow.copyOtherFiles(LoadFilesWindow.java:685)
    at com.moneydance.modules.features.qlinstaller.LoadFilesWindow.copyFiles(LoadFilesWindow.java:494)
    at com.moneydance.modules.features.qlinstaller.LoadFilesWindow.access$300(LoadFilesWindow.java:60)
    at com.moneydance.modules.features.qlinstaller.LoadFilesWindow$3.actionPerformed(LoadFilesWindow.java:266)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
    at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.desktop/java.awt.Component.processEvent(Unknown Source)
    at java.desktop/java.awt.Container.processEvent(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
    at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

  25. 85 Posted by Mike Bray on 17 Feb, 2019 04:17 PM

    Mike Bray 's Avatar

    Hi
    Looking at the error log it shows that the zip file is incomplete. The first thing try is to download the zip file again and make sure it has finished correctly. Try the qlinstaller again.

    The next thing to try is to install the 'old' way.

    1. Open the Zip file in FileFinder. It should create a folder with the same name as the zip file.
    2. Go to this folder.
    3. Start Moneydance
      4.Drag rhumba.mxt from FileFinder into Moneydance
      5.Click on 'Yes'
      6.Click on 'Install Extension'
      7.Select Rhumba from the extensions menu
      8.Click on the Install tab
      9.Drag the file hleofxquotes.jar from FileFinder to the install box
      10.Click on OK
      11.Drag securityquoteload.mxt from FileFinder into Moneydance
      12.Click on 'Yes'
      13.Click on 'Install Extension'

    That should be it.

  26. 86 Posted by hleofxquotes on 17 Feb, 2019 04:22 PM

    hleofxquotes's Avatar
    File Name is:/Users/tomboyd/Downloads/QL-2019-release-20190202.zip 
    java.util.zip.ZipException: zip END header not found 
    at java.base/java.util.zip.ZipFile$Source.zerror(Unknown Source) 
    at java.base/java.util.zip.ZipFile$Source.findEND(Unknown Source) 
    at java.base/java.util.zip.ZipFile$Source.initCEN(Unknown Source)
    

    That seems to imply that there is a problem with the zip file QL-2019-release-20190202.zip

    Can you check the using the 't' option for unzip, from a shell

    $ unzip -t QL-2019-release-20190202.zip 
    Archive:  QL-2019-release-20190202.zip
        testing: QL-2019-release-20190202/   OK
        testing: QL-2019-release-20190202/hleOfxQuotes.jar   OK
        testing: QL-2019-release-20190202/rhumba.mxt   OK
        testing: QL-2019-release-20190202/securityquoteload.mxt   OK
    No errors detected in compressed data of QL-2019-release-20190202.zip.
    

    You can also check the file checksum to see if it matches the following

    $ md5 QL-2019-release-20190202.zip
    MD5 (QL-2019-release-20190202.zip) = 43c9240e0283d6bd1ba132229a72f479
    
  27. 87 Posted by thboyd on 17 Feb, 2019 04:24 PM

    thboyd's Avatar

    I have fixed the problem by not automatically unzipping the file on download.

    Thanks for your help.

  28. 88 Posted by thboyd on 17 Feb, 2019 04:29 PM

    thboyd's Avatar

    OK. I found the problem. When I downloaded the zip file, my browser automatically uncompressed it and qlinstaller would not accept the unzipped folder for the installation. So then I zipped the folder and it appeared to work. However, from the log I could see that there was a problem with the zip file. I redownloaded the zip file without uncompressing it. That file worked with the installer.

    Thanks for you help and quick reply.

    Tom

  29. 89 Posted by thboyd on 17 Feb, 2019 04:30 PM

    thboyd's Avatar

    Just tested and everything works fine. I have one question and that is what to select for the source. All of my investments are either US stocks for mutual funds. I selected Yahoo and it worked fine, but I wonder what the other choices represent.

  30. 90 Posted by hleofxquotes on 17 Feb, 2019 04:44 PM

    hleofxquotes's Avatar
    • ft: quote source is ft.com. Useful for non-US user
    • yhd: quote source is yahoo historical data. Can help with some special case where data from the "standard" yahoo is not correct. Also, can be used if you prefer just end-of-day price.

    In short, for US, the preferred option are in this order: yahoo, ft, yhd (try in that order until you can find one that works)

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac