Announcement

Collapse

Looking for a User App or Add-On built by the NinjaTrader community?

Visit NinjaTrader EcoSystem and our free User App Share!

Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less

Partner 728x90

Collapse

Drawing rays from a dataseries

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

    #16
    Hello kaywai,

    Which line of code is causing the error?

    If prints are added after each line, is the last print before the if condition?
    Is the last print before DemandPoint.Add()?
    Is the last print before drawing a square with DrawSquare()?

    With current bar being greater than 9 I would not expect an index error..

    It may be that DemandPoint is null.

    Can you export a simplified script for me to test? Please remove any code that is not needed to cause the error. (Either remove the DemandPoint.Add() call if this is not causing the error or remove the DrawSquare() call if that is not causing the error)

    To export your script do the following:
    1. Click File -> Utilities -> Export NinjaScript
    2. Enter a unique name for the file in the value for 'File name:'
    3. Select the strategy from the objects list on the left -> click the right facing arrow ">" to add the strategy to the export
    4. Click the 'Export' button -> click 'yes' to add any referenced indicators to the export -> click OK to clear the export location message


    By default your exported file will be in the following location:
    • (My) Documents/NinjaTrader 7/bin/Custom/ExportNinjaScript/<export_file_name.zip>


    Below is a link to the help guide on Exporting NinjaScripts.
    http://www.ninjatrader.com/support/h...nt7/export.htm
    Chelsea B.NinjaTrader Customer Service

    Comment


      #17
      Hi Chelsea,

      For some mysterious reason, the points have reappeared after deleting stuff that were in "//". But I still can't get the rays to draw. Would you mind helping? I've attached the code.

      Thanks and regards

      Kay Wai
      Attached Files

      Comment


        #18
        Hi Chelsea,

        You won't believe it but the squares are not printing again! I'm getting this message:-

        Error on calling 'OnBarUpdate' method for indicator 'TDLINESV2' on bar 10: You are accessing an index with a value that is invalid since its out of range. I.E. accessing a series [barsAgo] with a value of 5 when there are only 4 bars on the chart.

        I've enclosed the code again.

        Regards

        Kay Wai
        Attached Files

        Comment


          #19
          Originally posted by kaywai View Post
          Hi Chelsea,

          For some mysterious reason, the points have reappeared after deleting stuff that were in "//". But I still can't get the rays to draw. Would you mind helping? I've attached the code.

          Thanks and regards

          Kay Wai
          This will go out of range, because your SupplyPoint list will not have as many members as there are bars on the chart. It cannot possibly do so, given the filter that is used to populate the list.
          Code:
          			if (SupplyPoint[0] > 0)
          			{
          				for (int i = 0; i < [COLOR="Blue"][B]CurrentBar-1[/B][/COLOR]; i++)
          				{
          					if (SupplyPoint[i] > SupplyPoint[0])
          					{
          						DrawRay("myRay"+ CurrentBar, i, SupplyPoint[i], 0, SupplyPoint[0], Color.Blue);
          						
          					}
          				}
          			}
          If you want to iterate through a list, use the size of the list, not some arbitrary value from outside the list construction. The size of the list would be SupplyPoint.Count

          Comment


            #20
            Hi All,

            I just discovered the problem is bigger than that. The squares were not taking the data from the List. and the List only has one member from the DemandPoint AND it keeps repeating that point through the output window! (I have a PRINT put in).

            Can you tell me what I'm doing wrong here? Here is the code:-

            Code:
            [FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]
             if[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#000000] (CurrentBar < [/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]10[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#000000]) [/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]return[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#000000];[/COLOR]
             
             [/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2] (Math.Min(Close[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]2[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]],Low[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]1[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]])<Math.Min(Close[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]1[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]],Low[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]0[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]]) && Math.Min(Close[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]2[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]],Low[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]1[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]])<Math.Min(Close[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]3[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]],Low[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]2[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]]))
             {
             newpoint = Math.Min(Close[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]2[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]],Low[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]1[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]]); 
             DemandPoint.Add(newpoint);
             Print (DemandPoint[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]0[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]]);
             [/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#008000][FONT=Courier New][SIZE=2][COLOR=#008000][FONT=Courier New][SIZE=2][COLOR=#008000] 
            [/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}
             [/SIZE][/FONT][/SIZE][/FONT]
            Thanks and regards

            Kay Wai
            Last edited by kaywai; 01-05-2016, 08:22 AM.

            Comment


              #21
              Originally posted by kaywai View Post
              Hi All,

              I just discovered the problem is bigger than that. The squares were not taking the data from the List. and the List is only showing me one point from the DemandPoint AND it keeps repeating that point through the output window! (I have a PRINT put in).

              Can you tell me what I'm doing wrong here? Here is the code:-

              Code:
              [FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]
               if[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#000000] (CurrentBar < [/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]10[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#000000]) [/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]return[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#000000];[/COLOR]
               
               [/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2] (Math.Min(Close[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]2[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]],Low[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]1[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]])<Math.Min(Close[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]1[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]],Low[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]0[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]]) && Math.Min(Close[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]2[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]],Low[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]1[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]])<Math.Min(Close[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]3[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]],Low[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]2[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]]))
               {
               newpoint = Math.Min(Close[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]2[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]],Low[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]1[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]]); 
               DemandPoint.Add(newpoint);
               Print (DemandPoint[[/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080][FONT=Courier New][SIZE=2][COLOR=#800080]0[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]]);
               [/SIZE][/FONT][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#008000][FONT=Courier New][SIZE=2][COLOR=#008000][FONT=Courier New][SIZE=2][COLOR=#008000] 
              [/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}
               [/SIZE][/FONT][/SIZE][/FONT]
              Thanks and regards

              Kay Wai
              You are asking it to print the single entry located at the first member of the list. It is doing what you asked it to do.

              Is what you wrote not what you wanted?

              Have you corrected your iteration loop?

              Comment


                #22
                I've taken that part of the code (the loop) and the DrawSquares out for the moment.

                When I try Print (Demandpoint[1]); I get this error message:-

                Error on calling 'OnBarUpdate' method for indicator 'TDLINESV2' on bar 11: You are accessing an index with a value that is invalid since its out of range. I.E. accessing a series [barsAgo] with a value of 5 when there are only 4 bars on the chart.

                Comment


                  #23
                  Originally posted by kaywai View Post
                  I've taken that part of the code (the loop) and the DrawSquares out for the moment.

                  When I try Print (Demandpoint[1]); I get this error message:-

                  Error on calling 'OnBarUpdate' method for indicator 'TDLINESV2' on bar 11: You are accessing an index with a value that is invalid since its out of range. I.E. accessing a series [barsAgo] with a value of 5 when there are only 4 bars on the chart.
                  I do not understand.
                  • You asked for help and posted the code for which you wanted help.
                  • I pointed out an error in your code.
                  • Instead of dealing with it, you have gone off on a tangent on something else, using a construct that you seem to not understand.

                  Do you want to focus on solving your issue or do you want to simply explore random thoughts?

                  Comment


                    #24
                    Hi Koganam,

                    I'm trying to draw rays from the DemandPoint List. What good would it do if there isn't actually any data in the list. Getting to the root of the problem is what I'm trying to do. Even if I understood what you are saying and I do have an idea of what you are trying to say, the rehashed code may work but it wouldn't be visible because there is no data in the list. I have been trying to solve the problem I'm facing while I was waiting for help and one thing led to another. I'm not going off on a tangent but if I can't get data into the list, I ain't gonna be drawing any rays anytime soon.

                    I appreciate the help that you have provided and am grateful that there are participants like you in this forum.

                    Best regards

                    Kay Wai

                    Comment


                      #25
                      Hello Kay,

                      The DemandPoint is not guaranteed to be populated. For this to be populated, on some bars the conditions on line 50 and 56 must have to have been true at some point.

                      For the error, this would be SupplyPoint as these are the indexes that are being called without a check for the size of the array.

                      In otherwords, from what is in the script, DemandPoint is only going to have items if your condition on line 50 is true at least 1 or more times.

                      SupplyPoint will only have items if the condition on line 56 is true at least 1 or more times.

                      The print on line 63 is guaranteed to cause an error. On this line you are printing SupplyPoint[1]. On bar 11, the first time you try and print this, there is no way that there could be a value one bar ago. The array cannot be set on bar 10 because there is a return. Thus there is no way that array could a value (even if that condition might have been true a bar ago, the condition was never checked a bar ago when bar 11 is processing). Thus this would always cause an error on bar 11 because you check the value of bar 10 and bar 10 cannot have a value set.

                      Try use the following:

                      if (SupplyPoint.Count > 0)
                      {
                      Print(SupplyPoint[0]);
                      }

                      if (SupplyPoint.Count > 1)
                      {
                      Print(SupplyPoint[1];
                      }

                      Do you still get index errors when you check that the index exists before you call it?
                      Last edited by NinjaTrader_ChelseaB; 01-05-2016, 11:56 AM.
                      Chelsea B.NinjaTrader Customer Service

                      Comment


                        #26
                        Hi Chelsea,

                        I don't get the index errors anymore. I've counted the supplypoint counts and demand point counts and I have 542 and 558 of them respectively.

                        Can we move to the drawing rays part now? Or is there anything else I'm missing?

                        Thanks very much for your help Chelsea.

                        Regards

                        Kay Wai
                        Last edited by kaywai; 01-05-2016, 10:09 AM.

                        Comment


                          #27
                          Hi Kay,

                          What line of code are you using to draw the Rays?

                          What are the values of the variables that are being passed to DrawRay()?

                          On what bar number is the ray being drawn?

                          Is there an error appearing in the output window?

                          (In the script attached to post #18, there is no DrawRay() in this example)
                          Chelsea B.NinjaTrader Customer Service

                          Comment


                            #28
                            Hi Chelsea and Koganam,

                            Thank you so much for your help these past few days. I think I have most of the logic out for me to fiddle around with the code except for the bar numbers or bars ago on which I want to draw the ray.

                            The list counts don't tally with the bar numbers and that is where I am stuck at the moment.

                            Could either of you or anyone point me to the right direction?

                            Regards

                            Kay Wai

                            Comment


                              #29
                              Hello Kay,

                              To assist, I will need information from you.

                              Print the values in the array you have created and the show the code that added the values.

                              Also, please let us know what you are expecting.

                              Then us know what values in the array you are using.

                              Last, show the actual line of code that is drawing the DrawRay() objects.
                              Chelsea B.NinjaTrader Customer Service

                              Comment


                                #30
                                Hi Chelsea,

                                I thought I had it but obviously I don't. I can't access individual values in a list! I don't know what to do but it's late here. If you have any pointers, I would greatly appreciate it.

                                Regards

                                Kay Wai

                                Comment

                                Latest Posts

                                Collapse

                                Topics Statistics Last Post
                                Started by llanqui, Today, 03:53 AM
                                0 responses
                                6 views
                                0 likes
                                Last Post llanqui
                                by llanqui
                                 
                                Started by burtoninlondon, Today, 12:38 AM
                                0 responses
                                10 views
                                0 likes
                                Last Post burtoninlondon  
                                Started by AaronKoRn, Yesterday, 09:49 PM
                                0 responses
                                15 views
                                0 likes
                                Last Post AaronKoRn  
                                Started by carnitron, Yesterday, 08:42 PM
                                0 responses
                                11 views
                                0 likes
                                Last Post carnitron  
                                Started by strategist007, Yesterday, 07:51 PM
                                0 responses
                                14 views
                                0 likes
                                Last Post strategist007  
                                Working...
                                X