Send data from ctrader to a webpage

Created at 26 Oct 2018, 00:27
How’s your experience with the cTrader Platform?
Your feedback is crucial to cTrader's development. Please take a few seconds to share your opinion and help us improve your trading experience. Thanks!
TA

tansenfx

Joined 26.10.2018

Send data from ctrader to a webpage
26 Oct 2018, 00:27


Hi,

Is there any way to send data from ctrader to a webpage?  Say for example i want to send a MarketSeries or IndicatorDataSeries to my webpage and then plot the series on my webpage, how would i send the series from ctrader?. I'm thinking of using textfiles (writing the series to a txt file and then reading the txt in js or php and plotting from there) but this is highly inefficient. Is there any code to do this in real-time from ctrader?

Best Regards

Tansen


@tansenfx
Replies

PanagiotisCharalampous
26 Oct 2018, 09:25

Hi Tansen,

There is no easy way to do this. You will need to write your data in a file or database and then read it from there.

Best Regards,

Panagiotis


@PanagiotisCharalampous

freemangreat
26 Oct 2018, 17:20

This needs to be altered for the POST request of the HTTP.

using System;
using cAlgo.API;
using cAlgo.API.Internals;
using cAlgo.API.Indicators;
using cAlgo.Indicators;
using System.IO;
using System.Net;
// https://docs.microsoft.com/en-us/dotnet/framework/network-programming/how-to-send-data-using-the-webrequest-class

namespace cAlgo
{
    [Indicator(IsOverlay = false, TimeZone = TimeZones.UTC, AccessRights = AccessRights.Internet)]
    public class TestWebRequest : Indicator
    {
        [Parameter(DefaultValue = 0.0)]
        public double Parameter { get; set; }

        [Output("Main")]
        public IndicatorDataSeries Result { get; set; }

        protected override void Initialize()
        {
            // Create a request for the URL. 		
            WebRequest request = WebRequest.Create ("https://pastebin.com/raw/q3t5DY1i");
            // If required by the server, set the credentials.
            //request.Credentials = CredentialCache.DefaultCredentials;
            
            // Get the response.
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            // Display the status.
            Print(response.StatusDescription);
            
            // Get the stream containing content returned by the server.
            Stream dataStream = response.GetResponseStream();
            // Open the stream using a StreamReader for easy access.
            StreamReader reader = new StreamReader (dataStream);
            // Read the content.
            string responseFromServer = reader.ReadToEnd();
            // Display the content.
            Print(responseFromServer);
            
            // Cleanup the streams and the response.
            reader.Close ();
            dataStream.Close ();
            response.Close ();
        }

        public override void Calculate(int index){}
    }
}

 


@freemangreat