• If this is your first visit, you will have to register before you can post. To view messages, please scroll below and select the forum that you would like to visits. Questions? Be sure to check out the Forum FAQ.

Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

ScreenShot Addon

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    ScreenShot Addon

    I am trying to convert the screenshot indicator found here https://ninjatrader.com/support/foru...d.php?p=474845 to an addon but I keep receiving the error below but this is exactly how the indicator cast the Window as a chart.

    Cannot implicitly convert type 'NinjaTrader.Custom.AddOns.Chart' to 'NinjaTrader.Gui.Chart.Chart'
    Cannot convert type 'System.Windows.Window' to 'NinjaTrader.Custom.AddOns.Chart' via a reference conversion, boxing conversion, unboxing conversion, wrapping conversion, or null type conversion
    From my strategy I am calling it using
    PHP Code:
    ScreenShot.chart Window.GetWindow(ChartControl) as Chart
    ScreenShot
    .SaveChart(); 
    Addon
    PHP Code:
    #region Using declarations
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Xml.Serialization;
    using NinjaTrader.Cbi;
    using NinjaTrader.Gui;
    using NinjaTrader.Gui.Chart;
    using NinjaTrader.Gui.SuperDom;
    using NinjaTrader.Gui.Tools;
    using NinjaTrader.Data;
    using NinjaTrader.NinjaScript;
    using NinjaTrader.Core.FloatingPoint;
    using System.IO;
    using System.Windows.Media.Imaging;

    #endregion

    namespace NinjaTrader.Custom.AddOns
    {
        public static class 
    ScreenShot
        
    {        

            public static 
    NinjaTrader.Gui.Chart.Chart    chart
            
    getset; }
                    
            private static 
    System.Windows.Media.Imaging.BitmapFrame        outputFrame;
            
            
            public static 
    void SaveChart()
            {
                try    
                {
                    
    RenderTargetBitmap    screenCapture    chart.GetScreenshot(ShareScreenshotType.Chart);
                    
    outputFrame                            BitmapFrame.Create(screenCapture);

                    if (
    screenCapture != null)
                    {
                        try
                        {
                            
    PngBitmapEncoder png = new PngBitmapEncoder();
                            
    png.Frames.Add(outputFrame);
                            
    using (Stream stream File.Create(string.Format(@"{0}\{1}"Core.Globals.UserDataDir"MyScreenshot.png"))) png.Save(stream);
                            
    NinjaTrader.Code.Output.Process("Screenshot saved to " Core.Globals.UserDataDirPrintTo.OutputTab1);
                        }
                        catch (
    IOException)
                        {
                        
    NinjaTrader.Code.Output.Process("ScreenshotTakerExample: Could not take screenshot"PrintTo.OutputTab1);
                        }
                    }
                }
                catch (
    Exception ex
                {
                
    NinjaTrader.Code.Output.Process("Could not save screenshot   " exPrintTo.OutputTab1);
                }
            }
        
        }
        



    #2
    Hello cutzpr,

    Thank you for the post.

    I was unable to see the same error you had, but I did see a threading error when I tried this as you would need to use a dispatcher for this type of code.

    I created a small sample in an addon of the previous code and simplified the use. From the strategy you could call:

    Code:
    NinjaTrader.Custom.AddOns.ScreenShot.SaveChart(ChartControl);
    I look forward to being of further assistance.
    Attached Files
    JesseNinjaTrader Customer Service

    Comment


      #3
      I had errors importing the ninjascript addon you provided. I get the following errors. I am using 8.0.15.0 64-bit .
      Default Error compiling import assembly: c:\Users\XXXXX\Documents\NinjaTrader 8\tmp\Import\Files\bin\Custom\AddOns\ScreenShotAdd on.cs(35,65) : error CS1061: 'NinjaTrader.Custom.AddOns.Chart' does not contain a definition for 'GetScreenshot' and no extension method 'GetScreenshot' accepting a first argument of type 'NinjaTrader.Custom.AddOns.Chart' could be found (are you missing a using directive or an assembly reference?)
      Default Error compiling import assembly: c:\Users\CuTzP\Documents\NinjaTrader 8\tmp\Import\Files\bin\Custom\AddOns\ScreenShotAdd on.cs(34,20) : error CS0039: Cannot convert type 'System.Windows.Window' to 'NinjaTrader.Custom.AddOns.Chart' via a reference conversion, boxing conversion, unboxing conversion, wrapping conversion, or null type conversion

      Comment


        #4
        Hello cutzpr,

        Thank you for the reply.

        Had you removed the test you were conducting prior to importing the provided zip file using the Tools -> Import -> NinjaScript?

        I am not seeing this error when using the attached sample on my side. The error is stating the extension method GetScreenshot cannot be found which would generally indicate a missing using statement. You have also shown an error surrounding a conversion for the window and chart, but that is the same code from the indicator which you provided a link to and I assume you had tried and had success with?



        I look forward to being of further assistance.
        JesseNinjaTrader Customer Service

        Comment


          #5
          Yes I removed my previous test before importing. I am not sure why this is occurring, I gave up and will just call it as an indicator vice an static addon.

          Comment

          Latest Posts

          Collapse

          Topics Statistics Last Post
          Started by HiddenPhilosopher, Today, 06:45 AM
          1 response
          9 views
          0 likes
          Last Post NinjaTrader_ChelseaB  
          Started by PG7940, Today, 04:26 AM
          1 response
          13 views
          0 likes
          Last Post NinjaTrader_ChelseaB  
          Started by Sh00tHerMcGavin, Yesterday, 07:39 PM
          1 response
          9 views
          0 likes
          Last Post NinjaTrader_ChelseaB  
          Started by dltharpe, Today, 09:17 AM
          0 responses
          7 views
          0 likes
          Last Post dltharpe  
          Started by marcus2300, Today, 02:25 AM
          1 response
          4 views
          0 likes
          Last Post NinjaTrader_ChrisL  
          Working...
          X