creating a dialog box through trading platform API

Discussion in 'Programming' started by kwayker22, Oct 4, 2018.

  1. Hey Folks,
    Writing to inquire how you would create a generic dialog box in your native trading API (preferably one that employs observer pattern design)
    Any information in this regards is much appreciated
    Thanks
     
  2. This is dependent on the trading platform. Personally, I use SierraChart, which exposes/uses an internal C/C++ "API" for end user programming.

    In the case of SC, the WindowsOS API can be used to create dialogs (etc). So long as user created dialogs are NON-MODAL, there are no affects on the functionality of SC. How and when the interface element (dialog) is used, is limited only by the features and confines of the exposed SC API, and the users ability to write C/C++ code.

    A generic possibility basically available to any user-programmable platform is to use a scripting language like Python or similar. The trading platform code could dump wanted information, perhaps through writes and updates to a file, and the script could read, process, and display the data OUTSIDE of the confines and control of the trading platform.
     
  3. Hello tiddlywinks,
    Appreciate the response; I've been trying to understand Takion API for the past week (My C++ experience prior to last 2 weeks did not extend beyond using and updating vectors for a physics class, so the magnitude of C++ concepts unknown to me upon this endeavor was somewhat overwhelming - OOP, APIs etc.). I was hoping to find any parallels in Takion API with the answers to this question, but your reply was helpful regardless.
    I'm certain that dialogs created through takion API have to be non-modal as well given the plethora of windows one is simultaneously working with. In one of the API Header files, theres a class called TakionDialog which inherits from CDialog (a windows application related class?):

    class UGUI_API TakionDialog : public CDialog

    But i am unable to make further progress as to what particular methods are necessary with respect to creating a dialog box.
    I understand you're perhaps busy and have no obligation to reply, but any further help is greatly appreciated
     
  4. I am not familiar with Takion in any way. I quickly perused their website... if I was investigating trading platforms, the website is USELESS!! What I noted in particular to this convo, was NO MENTION whatsoever of the platform being programmable. There claim of differentiation is layout flexibility. Ummm, OK. That concept does involve dialogs and windows. It does not mean the data, dialogs, and/or other interface elements are exposed or accessible for user-defined usage however.

    If I were you I would look to see if the data you are interested in can be written out or exported programmatically from within Takion. If so, the external scripting to read and process the data is the much less time-consuming and safer route to take.

    IMO with my extremely limited knowledge of Takion, you are taking on and asking for help with a reverse engineering task. At this point, IMO, you need a capable programming platform. You might DL MS C++ Visual Studio Community Edition. Its free. You need to determine what the class exposes for starters. I have no idea how the class is integrated or usable within the trading platform however.

    Normally, you would begin by creating a new object...

    Code:
    UGUI_API_TakionDialog *p_ObjectOfMyAffection=  NULL;
    
    p_ObjectOfMyAffection = new UGUI_API_TakionDialog ();
    
    Exactly what to do next depends on what is and is not handled and/or exposed through the UGUI_API_TakionDialog class...
    
    if(p_ObjectOfMyAffection != NULL)
    {
          if(p_ObjectOfMyAffection ->Create(IDD_TAKIONDLG , this)) 
              p_ObjectOfMyAffection ->ShowWindow(SW_SHOW);
          else
              delete p_ObjectOfMyAffection;
    }
    
    Good luck.
     
  5. cafeole

    cafeole

    I did this with Java and ActiveTick. I think this is the best solution since you can use all API functions and all java capabilities. Should work for any language that the platform api supports.