Alert Log 1505, ASCII Files 1509, Tag in DYOs 1507, Globex Values 1506, Coloring Months 1504, Messages based on Flags 1499, GVs and Refresh, Delayed Charts, Daylight Savings, Transferring Slope and Price, Label location, And/Or Expression, ESPL Output

February 14 , 2007

16:34 Ensign Howard: Welcome to today's training class with Howard.

 

16:35 Ensign Howard: Let me show one such 'nice' improvement in the 02-14 release which is available for download now.

 

Alert Log

http://www.ensignsupport.com/email/1505.mhtml

16:36 Ensign Howard: In response to a couple inquiries about which alert, study, or alarmed line is making an alert sound, the Alert Log has been improved to show a Sound selection in the Alert List. Those studies, prices, or alarmed lines that make a sound will post to the Sound Log listing. The entry might also appear on one of the other lists, but the Sound list will make it easier to find which chart made the sound and the reason why, such as...

16:38 Ensign Howard: In the example, the chart was the @ES.5 minute chart because prices crosses above an alarmed draw line.

16:39 Ensign Howard: If you discover a sound alert that is not getting posted to the list, let me know so I can investigate why that sound was omitted. The intent is for all sounds from News Alerts, price alerts, alarmed lines, DYO and Study Alerts to get posted to the Sound log.

16:40 Ensign Howard: This log is shown by clicking the Yellow Bell button on the main toolbar, select the Log tab, and select the Sound list.

 

Beep on Each Tick

16:41 fl: In the old dos version the pitch would change. Can this still be done now?

16:42 Ensign Howard: In Ensign Windows you can go to the Chart Properties form and check the option for Beep On Each Tick. This box will cause the pitch to rise and fall with prices going higher or lower.

16:43 fl: ok ty

 

ASCII Files

16:44 Ensign Howard: OK, next topic is a bit more remote in that Ensign has had the ability to auto convert ASCII files that are located in the C:\Enisgn\ASCII folder.

16:44 Ensign Howard: The 02-14 version improves on this capability by letting a workspace reference files in that folder and open them. The intent is that a user might have a resource for the ASCII file that they download the file from some source and place it in that folder.

16:45 Ensign Howard: The workspace will auto open and convert the file, once you have it set up correctly. (This includes tick, range and volume charts.)

http://www.ensignsupport.com/email/1509.mhtml

16:45 Ensign Howard: This Q&A article documents some of the setup that was used by one user.

16:46 Ensign Howard: The article shows him the steps to take to establish the Format for the ASCII file, open the chart from the charts panel by Browsing to the C:\Ensign\ASCII folder, and once opened, saving the chart in a workspace for easy reopening.

16:47 Ensign Howard: The article show how the workspace script includes the path to the ASCII folder so it knows this is a special chart location that overrides the typical default path such as C:\Ensign\Day for an Ensign daily chart file.

16:49 Ensign Howard: I realize most users utilize the data vendor feed, or the Internet refresh resources built into Ensign. However, I occasionally run into some one with a special source for ASCII data outside of the scope of the vendor or Internet refresh resource.

16:48 al_gorithm: why don't I have a "Script" button?

16:49 Ensign Howard: al_ you do not have a Script button because your workspace is larger than 64K in size. The object for showing the script is limited to 64K capacity.

16:50 Ensign Howard: You can still open the workspace file which is ASCII and saved in the C:\Ensign\Workspace folder using WordPad or NotePad programs.

16:51 Ensign Howard: The example of the Show Script was just convenient to show how the ASCII folder path is what makes this feature unique

 

Tags of Data/Chart fields for DYO

16:52 Ensign Howard: The next topic will be three quick examples of using DYOs to accomplish visual effects. The examples are pretty simple, yet educational to someone wanting to do the same thing.

http://www.ensignsupport.com/email/1507.mhtml

16:53 Ensign Howard: This example shows using one of the tags to one of the bar's data fields in the Section message.

16:53 Ensign Howard: The [$T] tag is a look-up reference to the bar's tick count.

16:53 Ensign Howard: There are dozens of tags like this available and they are documented on the DYO Property Form web page.

http://www.ensignsoftware.com/help/dyo-prop.htm

16:54 Ensign Howard: Scroll half way down to the Message Text section of this web page.

 

DYO Using Globex Values

16:57 Ensign Howard: Our next DYO example is a little more complex.

http://www.ensignsupport.com/email/1506.mhtml

16:58 Ensign Howard: Here the user wanted to reference some values from the Globex Session, and we have these values in the Chart Value category. Three values are fetched and saved in temporary Global Variables [1], [2], and [3]

16:58 Ensign Howard: Line F is a function to average a set of GVs, and the set size is the number field value of 3

16:59 Ensign Howard: The set beginning point is identified by the Read GV value of 1 which references GV [1].16:59 Ensign Howard: So the simple average is ([1]+[2]+[3])/3

17:00 Ensign Howard: Line G computes the range of the Globex High minus the Globex Low, which is [1]-[2] because of where the High and Low were saved in GVs.

17:00 Ensign Howard: Value refers to the Read GV reference of [1]

17:00 Ensign Howard: Next refers to the next GV in sequence which is therefore [2]

17:01 Ensign Howard: This range is multiplied by 1.2 because the user wanted 20% bands. And the bands are calculated by adding this 1.2* Range to the Low and subtracting it from the High. This is done by Line H and I and plotted in the Blue line color.

17:02 Ensign Howard: Any questions about this example DYO

 

Coloring Months of year

17:03 Ensign Howard: OK, for our 3rd example, this DYO zone colors particular months of the year.

http://www.www.ensignsupport.com/email/1504.mhtml

17:03 Ensign Howard: The Bar Flag tests the Month value from the Bar's date and compares it to the month number in the Number field.

17:04 Ensign Howard: Line A is True when the bar's date is in the month of October, and then colors the zone a pale yellow background color.

17:04 Ensign Howard: Other lines show tests for other months and different colors for those months.

17:05 Ensign Howard: This should be a pretty simple example of a flag test the controls its market showing when it is True and not showing when the flag is False.

17:05 Ensign Howard: Any questions about this example?

 

Controlling Messages based on Flags

17:06 Ensign Howard: OK, lets do another DYO example in controlling messages based on flags.

http://www.ensignsupport.com/email/1499.mhtml

17:06 Ensign Howard: The Message text can have dual part separated by a vertical line as in this example of Rising | Falling.

17:07 Ensign Howard: The message on the left side of the vertical line is what will be shown when the message test is True. The message on the right side of the vertical line is when the message test is False.

17:08 Ensign Howard: The message test is one of the selection in the Line Logic list box, which in the example is Line A. So message expects Line A to be a Boolean result, which it is.

17:08 Ensign Howard: Line A is testing whether the contents of Read GV[21] is greater than the contents of the number reference which is the value in GV[250]

17:09 Ensign Howard: When the test is True, the word Rising is shown in Section 1 and with a Green background color.

17:09 Ensign Howard: When the test is False, the word Falling is shown in Section 1 and with a Red background color.

17:09 Ensign Howard: The font color will be Black. See the 3 color boxes for Font, True, False below the Message Location selection box.

17:10 Ensign Howard: Any questions about two part message lines utilizing the Vertical line character as the part separator?

 

GVs and Refresh

17:13 MakesOwnWeather: When the GV is read by the other chart and the chart is refreshed, a constant GV is read for all the bars; but, when the chart is refreshed live in the market the GV value varies as it does on the chart that is writing the GV.

17:14 Ensign Howard: I have explained this multiple times, and I apologize my answer is such that the principle is not being grasped. Let me explain the challenge one more time.

17:15 Ensign Howard: Say chart A is writing a value to GV [20] and its last calculation put a value of 100 in that GV.

17:15 Ensign Howard: And Chart B reads GV [20] and either plots or tests against the value 100.

17:16 Ensign Howard: When chart A refreshed or recalculated it spun through writing the GV with a different value for each bar position and on the last bar put in the 100.

17:16 Ensign Howard: Now chart B refreshes or recalculates, and for each bar position in its evaluation it reads the GV and sees a static value of 100. This is because each chart calculates independently.

17:17 Ensign Howard: Chart A does not know B is going to read its written value.

17:17 Ensign Howard: Chart B does not know that the value in [20] is coming from chart A

17:17 Ensign Howard: They operate independently In real time live updates, one chart updates, and then maybe the other chart ticks and does it calculate thing. So both charts are doing the calculation live and the value seems to be being passed in real-time just fine.

17:19 Ensign Howard: BUT in a refresh to recalculate across all bars, the one chart is going to read a static value and that value is what ever was LAST written by the chart that writes it.

17:20 Ensign Howard: The example of all this characteristic of passing data in GV between charts is illustrated in the web page on Study Transfer.

http://www.ensignsoftware.com/help/transfer.htm

17:21 Ensign Howard: Do you understand better now why you see the behavior you do?

17:21 MakesOwnWeather: Ensign Howard, at last it is clear to me. Thank you. :>

17:21 Ensign Howard: ok

 

FXCM Feed

17:22 Ensign Howard: Our FXCM feed has been very popular and we have had 2 weeks now of continual up time. The simultaneous customer connection to the FXCM server has been 135. This max count will continue to climb as more and more become aware of and use this Free real-time data feed that can operate simultaneously with their current data feed.

17:24 Ensign Howard: Ensign's FXCM forex feed is for 42 currency pairings, and has refresh of 4 months for intra-day charts, 14 years for daily charts, and several days for tick based charts.

17:24 Ensign Howard: Mike and I are thrilled with the stability and quality of the implementation and the feed.

http://www.ensignsoftware.com/help/fxcm.htm

17:25 Ensign Howard: This web page shows the steps to take to download the Ensign Data Server application (EDS) so you can get the feed.

17:26 Ensign Howard: The feed is then enabled by checking the FXCM box on the Setup | Connection form, and all this is shown in the documentation.

17:26 Ensign Howard: Any questions about the free feed or your pleasure with it?

 

Delayed Charts Refresh

17:27 virt5: Howard, do charts that are minimized refresh/redraw automatically?

17:28 Ensign Howard: yes virt

17:28 virt5: thanks...guess it's just with charts using delayed data. I have to do maintenance 1-5, then refresh with esignal.

17:29 Ensign Howard: virt, maintenance 1-5 is rarely ever needed to be done. Perhaps you should describe the situation and let me comment

17:30 virt5: I have a chart of delayed data (sp500 large). At the eod, I get an unrefreshed chart. I refresh before and after doing 1-5 I get different results.

17:31 Ensign Howard: The chart should be updating tick by tick from eSignal, an though the data is delayed, it should be as complete as a real-time chart by the end of the day. A 5-min chart for this delayed symbol should have 12 bars being added to the chart per hour. Is that not the case?

17:32 virt5: symbol sp h7....1-31-07 version. The number is ok... The bars/candles change after refresh -- ohlc. I keep a 5 min minimized, but the data on all time frames changes if I refresh...ie, ohlc

17:34 Ensign Howard: ok, document for me with a picture before and after in an e-mail to illustrate. The built bars should remain the same in the refresh. The ticks build the bars based on the time stamp included with the tick on the esignal feed, and for a delayed symbol the time stamp is just 10 or 20 minutes older but should flow into the same bar that a user with a live data feed builds.

17:36 virt5: I will document tomorrow....

 

Daylight Savings

17:37 mano: Daylight savings 3 weeks earlier this year . . . impact on EW and markets ?

17:37 Ensign Howard: Upgrade to a current version which knows about the new DLS dates. Should be normal operation across the DLS change on 03-11 and 11-04 this year.

17:38 Ensign Howard: You can check menu Setup | Computer on the right hand side we show the Local DayLight Savings dates

17:39 Ensign Howard: Old Ensign versions might be showing an April and Oct date instead of the new 03-11 and 11-04 dates. We found that if we ask the computer for the dates, we get the wrong answer. So we have hard coded the correct dates in the current version of Ensign and do not rely on the Microsoft routines because they still return the Apr and Oct dates. But I cannot wait for MS to fix their routines, or for all users to get upgrades or patches to their operating system

 

Slope and Price Transferred to Another Chart, Labels

17:41 MakesOwnWeather: Ensign Howard, learned a great deal from you in using DYOs. Thank you. But, I have two questions: The first concerns printing a price value and the angle of a MA slope written to a GV in Chart A and reading and displaying that value in Chart B. (Not talking about the recalculation "thing" which we just went through five minutes ago). Sometimes it displays for a moment is real time and then sometimes it never displays. Possibly I am going about it incorrectly. Could you give an example? The second question concerns being able to print or write to a file time and price when price rises above or below these certain GV values. I used the writeln example which you showed last week but have not gotten it to work. Do you have any suggestions?

17:43 Ensign Howard: The 2nd question involves ESPL, and it not in the scope of what I am willing to cover in this training class, so send the details of what you want or have tried with ESPL in an email to Kimballh@ensignsoftware.com. Do not send the ESPL question to me as I will just forward it to Kimball to answer.

http://www.ensignsupport.com/email/1501.mhtml

17:44 Ensign Howard: This DYO shows an example of reading the slope. You can have a DYO on the source chart that writes 2 GVs for examination on the other chart. The 2 values would be the current study value and the prior bar's study value. These 2 values are what the study line segment will be drawn between

17:46 Ensign Howard: In this example the 2 study values are being put in GV[1] and [2]. Assuming these 2 GVs are NOT then used elsewhere, they should be holding the study values for reading on the other chart, and the DYO on the other chart would have a Line C type where the 2 values are compared using the Global Flag category.

17:47 Ensign Howard: Now that you have Line C type of test, you can use it to control a 2 part Message like in our earlier DYO example today. If you want the price change of the study, you would subtract prior study GV value from the current study GV value.

7:49 MakesOwnWeather: Yes, I have gotten to reading it fine and today's DYO example about the Hull is fine. But, I did not make it clear that I want to print the price in the read GV and the angle in the other read GV.

17:49 Ensign Howard: If current is in GV[1] and prior in GV[2] as in the example then you would use Express | Value - Next and Read GV is set to 1

17:50 Ensign Howard: For the issue of an angle, you need to have this in reference to a standard since the chart scaling can change or the bar spacing can change the visual angle you see can be all over the place, yet you want the same answer for your angle

17:50 Ensign Howard: therefore, use the following DYO reference.

17:52 MakesOwnWeather: But, what format should be used if a price of 1450.25 in GV1 and an angle of 10.5 degrees. I mean, I understand the subtraction which you showed, but not the printing on the chart. Just those values in the right margin or anywhere, really.

17:55 Ensign Howard: Here are the two DYO functions you might use to convert your Value passed in a GV to an angle.

17:56 Ensign Howard: Line A is using our Pyrapoint technology where if you had a Pyrapoint framework on the chart the diagonal line will be defined as the 45 degree angle, regardless of whether the visual looks like it is 45 degrees on a protractor.

17:56 Ensign Howard: Line B will be the protractor angle and subject to changing if you change the scale or bar spacing. This angle is what you would read if you held a protractor on the line on the screen. In my opinion, a protractor angle is worthless to design to because it is so fickle and coincidental to the scale range and bar spacing. Protractor angle might be more meaningful if your chart scale mode was changed to Squared and the 45 degree is then defined by the Pts/Bar setting on the chart property form.

17:58 Ensign Howard: You can show values in the Section message as illustrated at the start of class.

17:58 Ensign Howard: Now let me show you how to show values as labels on the side of the chart, as in this example

http://www.ensignsoftware.com/help/woodies.htm

7:59 Ensign Howard: This Woodie template is loaded with information displayed as labels on the side of the chart or side of the sub-window. Let me show as an example displaying the Trend value in a slight larger font and using the green color.

18:00 MakesOwnWeather: Yes, that is what I want to see.

18:01 Ensign Howard: In this example the value to be printed in the expression from Line A which is also stored in [24]

18:02 Ensign Howard: Line D sets the font size to 12 and a default message in Red of the value form Line A, plus the degree character and the word Flat.

18:03 Ensign Howard: Line F and G may optionally replace this message with another message that is in Yellow or Green and showing the same degree value and the word Normal or Trend.

18:03 Ensign Howard: The LOCATION of the label will be the Market Location selection of 20% Grid and Column 1

18:04 Ensign Howard: The marker on Line D, F and G happens to also plot this value, but if you do not want to plot you can have the marker be the blank selection at the top of the marker list.

18:05 Ensign Howard: So the key to the label is the Marker Location, Label Location, and the content of the Label field on the DYO lines. This is an excellent example and exactly on topic as the answer to your question.

8:06 MakesOwnWeather: Yes! Excellent! Is this chart from the Woodie Template from Ensign Software Internet Services?

18:06 Ensign Howard: This process does point out a resource,. and that is if you see a visual effect in another template, go download the template and open the property forms to see how the visual was created. A good example is worth a thousand words.

18:07 Ensign Howard: Yes, you can download the template using Internet Services, the Templates drop down list. This particular example from the Woodie template also illustrated using the conditional tests of Line C and E to skip over unwanted lines in the DYO.

18:08 MakesOwnWeather: Thank you Ensign Howard. I will email Ensign Kimball with my other question about ESPL. :>

18:08 Ensign Howard: ok

 

Internet Services must upgrade

18:09 Ensign Howard: Those who use 1st Internet source to refresh daily stock and index charts MUST upgrade to a current version of Ensign Windows. We posted a global message to be seen by the Ensign Internet users about this need to upgrade.

18:10 Ensign Howard: The 1st Internet source change their date format in their reply, and that necessitates the need for a change in Ensign to match their change.

18:11 Ensign Howard: Otherwise, most of the data return is ignored because it fails our date tests, and you end up with a spotty daily chart instead of the complete data set that is available.

18:11 Ensign Howard: So, upgrade to avoid having the problem with using 1st Internet source for daily refreshing.

18:12 Ensign Howard: Any more questions?

 

And / Or Expressions

18:12 pete: Question - Where to place the parameters needed for the global flag selection such as AND# OR AND#

18:13 Ensign Howard: Ok, that Boolean expression will take one parameter for the size of the # field.

8:14 Ensign Howard: Let's assume # in the number field is set to a 2, and the start of the GV sequence is specified by the Read GV as being 10

18:14 Ensign Howard: Then the expression is going to resolve to be ([10] AND [11]) OR ([12] AND [13])

18:14 Ensign Howard: There are two equal sized AND expressions with an OR between them.

18:15 Ensign Howard: This would use 4 GVs if # = 2, and 6 GVs if #=3

18:16 Ensign Howard: Let me do example of OR[#] AND OR[#] with the number field having 3 and the Read GV being 20

18:17 Ensign Howard: result flag = ([20] OR [21] OR [22]) AND ([23] OR [24] OR [25])

18:16 Flag: In DYO's, is there a "short circuit" exit other than Abort if False -- I'm thinking like Goto line K if not...

18:18 Ensign Howard: Yes, flag, there is a GOTO Line and the are the bottom 10 selections of the Category drop down list. And the logic for the transfer is conditional and makes the jump on a True flag

http://www.ensignsoftware.com/help/dyo-cross.htm

18:19 Ensign Howard: At the bottom of the Library of Example is a section for the GO TO IF statements and we have 4 examples listed in that section.

18:20 Ensign Howard: Any time you have a question about a specific type of DYO statement, come here and see if the statement has an example listed. The top part of the page is a listing of ideas or subjects. The bottom part of the page breaks these subjects or examples out by key statements that were used to implement. So this is a wonderful and very helpful directory to utilize in finding DYO examples and answers.

 

ESPL for Output

18:22 Flag: Do any DYO's write to the editor's output window?

18:23 Ensign Howard: DYOs do NOT do string processing or file processing. If you need to write to files, read from files, or deal with strings then you will have to change over to the ESPL programming language to implement your ideas, system, or study. ESPL has more flexibility, but for those who have little programming background it becomes a more challenging task.

18:26 Ensign Howard: Here are some examples from the ESPL Help documentation for working with the Output window.

18:26 Ensign Howard: Example

var price: real;

begin

price:=167.95;

Output(eClear);

writeln(DateStr,' ',price);

Output(ePrint);

Output(eSave,'Sample.doc');

end;

Example

var j: integer;

begin

Output(eClear);

for j:=1 to 20 do writeln(Align(Random(1000),4));

Output(eSort);

end;

18:26 Flag: Thanks Howard.

18:26 Ensign Howard: You find this documentation using menu Help | ESPL Documentation, and then search for the Keyword Output.

18:26 MakesOwnWeather: Ensign Howard, you and your firm and your products are GREAT!

18:27 Ensign Howard: Thanks MOW, and you all have a good evening.

18:22 Ensign Howard: Thanks for attending class today.... It amazes me how quickly 2 hours fly by. Bye

18:27 MakesOwnWeather: You also, Ensign Howard!