TradeStation EasyLanguage Code
This is a collection of 192 EasyLanguage files for import into TradeStation. These systems, indicators (ShowMe and PaintBar), and functions comprise the following categories:
Pivot Patterns
Technical Analysis Patterns
Volatility and Range
Float Analysis
Pairs Trading
Trade Management
Holiday and Calendrical Functions
Utility Functions
Please refer to Additional Info for the complete list of source code files.
This is a collection of 192 EasyLanguage files for import into TradeStation. These systems, indicators (ShowMe and PaintBar), and functions comprise the following categories:
Pivot Patterns
Technical Analysis Patterns
Volatility and Range
Float Analysis
Pairs Trading
Trade Management
Holiday and Calendrical Functions
Utility Functions
Please refer to Additional Info for the complete list of source code files.
This is a collection of 192 EasyLanguage files for import into TradeStation. These systems, indicators (ShowMe and PaintBar), and functions comprise the following categories:
Pivot Patterns
Technical Analysis Patterns
Volatility and Range
Float Analysis
Pairs Trading
Trade Management
Holiday and Calendrical Functions
Utility Functions
Please refer to Additional Info for the complete list of source code files.
Code Example
{ Indicator : sfi_pivot_gartley Description : Draw the Gartley pattern } Inputs: Length(50), Strength(5), BullColor(Green), BearColor(Red), F1(0.618); Variables: PivotCount(0), Gartley(0), Width(1), Drawn(False); Arrays: PivotMap[50, 4](0), Pattern[5, 4](0), SavedPattern[5, 4](0); {Find Pivots} PivotCount = sff_pivot_pivotmap(Length, 50, PivotMap); {Gartley} Gartley = sff_pivot_gartley(PivotCount, PivotMap, Strength, Pattern, F1); If Gartley <> 0 Then Begin If sff_pattern_samepattern(Gartley, Pattern, SavedPattern) = False Then Begin If Gartley > 0 Then Drawn = sff_util_drawpattern(Gartley, Pattern, BullColor, Width, "G") Else Drawn = sff_util_drawpattern(Gartley, Pattern, BearColor, Width, "G"); Condition1 = sff_util_copypattern(Gartley, Pattern, SavedPattern); End; End; { Function : sff_pivot_gartley Description : Identify a Gartley Pattern } Inputs: Pivots(NumericSimple), PM[MaxSize1, MaxSize2](NumericArrayRef), Strength(NumericSimple), Pattern[MaxSize3, MaxSize4](NumericArrayRef), F1(NumericSimple); Variables: PatternPivots(4), p1(0), p2(0), p3(0), p4(0), v1(0.0), v2(0.0), v3(0.0), v4(0.0), s1(0.0), s2(0.0), s3(0.0), s4(0.0), s5(0.0); sff_pivot_gartley = 0; If Pivots >= PatternPivots and Strength >= 1 Then Begin {Bullish Gartley} p2 = sff_pivot_pivothigh(Pivots, PM, 0, Pivots-1, Strength); p1 = sff_pivot_pivotlow(Pivots, PM, 0, Pivots-1, Strength); If p2 >= 0 and p1 >= 0 and p2 < p1 Then Begin v2 = High[PM[p2, 0]]; v1 = Low[PM[p1, 0]]; p3 = sff_pivot_pivotlow(Pivots, PM, 0, p2-1, Strength); If p3 >= 0 and v2 > v1 Then Begin v3 = Low[PM[p3, 0]]; p4 = sff_pivot_pivothigh(Pivots, PM, 0, p3-1, Strength); If p4 >= 0 and v3 > v1 and v3 < v2 Then Begin v4 = High[PM[p4, 0]]; If v4 > v3 and v4 < v2 Then Begin s1 = v2 - v1; s2 = v2 - v3; s3 = v4 - v3; s4 = v4 - Close; s5 = v2 - Close; If s2 < s1 and s3 < s2 and s4 > s2 and s5 >= F1 * s1 and Low > v1 and Close < v3 Then Begin Pattern[1, 0] = PM[p1, 0]; Pattern[1, 1] = PM[p1, 1]; Pattern[1, 2] = PM[p1, 2]; Pattern[1, 3] = PM[p1, 3]; Pattern[2, 0] = PM[p2, 0]; Pattern[2, 1] = PM[p2, 1]; Pattern[2, 2] = PM[p2, 2]; Pattern[2, 3] = PM[p2, 3]; Pattern[3, 0] = PM[p3, 0]; Pattern[3, 1] = PM[p3, 1]; Pattern[3, 2] = PM[p3, 2]; Pattern[3, 3] = PM[p3, 3]; Pattern[4, 0] = PM[p4, 0]; Pattern[4, 1] = PM[p4, 1]; Pattern[4, 2] = PM[p4, 2]; Pattern[4, 3] = PM[p4, 3]; sff_pivot_gartley = PatternPivots; End; End; End; End; End; {Bearish Gartley} p1 = sff_pivot_pivothigh(Pivots, PM, 0, Pivots-1, Strength); p2 = sff_pivot_pivotlow(Pivots, PM, 0, Pivots-1, Strength); If p1 >= 0 and p2 >= 0 and p2 < p1 Then Begin v1 = High[PM[p1, 0]]; v2 = Low[PM[p2, 0]]; p3 = sff_pivot_pivothigh(Pivots, PM, 0, p2-1, Strength); If p3 >= 0 and v1 > v2 Then Begin v3 = High[PM[p3, 0]]; p4 = sff_pivot_pivotlow(Pivots, PM, 0, p3-1, Strength); If p4 >= 0 and v3 < v1 and v3 > v2 Then Begin v4 = Low[PM[p4, 0]]; If v4 < v3 and v4 > v2 Then Begin s1 = v1 - v2; s2 = v3 - v2; s3 = v3 - v4; s4 = Close - v4; s5 = Close - v2; If s2 < s1 and s3 < s2 and s4 > s2 and s5 >= F1 * s1 and High < v1 and Close > v3 Then Begin Pattern[1, 0] = PM[p1, 0]; Pattern[1, 1] = PM[p1, 1]; Pattern[1, 2] = PM[p1, 2]; Pattern[1, 3] = PM[p1, 3]; Pattern[2, 0] = PM[p2, 0]; Pattern[2, 1] = PM[p2, 1]; Pattern[2, 2] = PM[p2, 2]; Pattern[2, 3] = PM[p2, 3]; Pattern[3, 0] = PM[p3, 0]; Pattern[3, 1] = PM[p3, 1]; Pattern[3, 2] = PM[p3, 2]; Pattern[3, 3] = PM[p3, 3]; Pattern[4, 0] = PM[p4, 0]; Pattern[4, 1] = PM[p4, 1]; Pattern[4, 2] = PM[p4, 2]; Pattern[4, 3] = PM[p4, 3]; sff_pivot_gartley = -PatternPivots; End; End; End; End; End; End;
List of Source Files
sff_calendar_bizdaymonth.txt sff_calendar_bizdayweek.txt sff_calendar_christmas.txt sff_calendar_daynumber.txt sff_calendar_dayofweek.txt sff_calendar_daysremain.txt sff_calendar_easter.txt sff_calendar_firstkday.txt sff_calendar_gdate2rdate.txt sff_calendar_gleapyear.txt sff_calendar_goodfriday.txt sff_calendar_gsubtract.txt sff_calendar_independence.txt sff_calendar_kdayafter.txt sff_calendar_kdaybefore.txt sff_calendar_kdaynearest.txt sff_calendar_kdayonafter.txt sff_calendar_kdayonbefore.txt sff_calendar_labor.txt sff_calendar_lastkday.txt sff_calendar_martinlutherking.txt sff_calendar_memorial.txt sff_calendar_nearestevent.txt sff_calendar_nearestholiday.txt sff_calendar_newyear.txt sff_calendar_nthbday.txt sff_calendar_nthkday.txt sff_calendar_presidents.txt sff_calendar_rdate2gdate.txt sff_calendar_rdate2gyear.txt sff_calendar_setevents.txt sff_calendar_setholidays.txt sff_calendar_tdate2rdate.txt sff_calendar_thanksgiving.txt sff_candle_doji.txt sff_candle_hammer.txt sff_candle_harami.txt sff_candle_invertedhammer.txt sff_float_floatchannelhigh.txt sff_float_floatchannellow.txt sff_float_getfloat.txt sff_float_getfloatbar.txt sff_pattern_180.txt sff_pattern_cobra.txt sff_pattern_compareroc.txt sff_pattern_doublebottom.txt sff_pattern_doubletop.txt sff_pattern_gannpulldown.txt sff_pattern_gannpullup.txt sff_pattern_gapsignaldown.txt sff_pattern_gapsignalup.txt sff_pattern_hookdown.txt sff_pattern_hookup.txt sff_pattern_keyreversaldown.txt sff_pattern_keyreversalup.txt sff_pattern_nexus.txt sff_pattern_onaverage.txt sff_pattern_outsidekeyreversaldown.txt sff_pattern_outsidekeyreversalup.txt sff_pattern_outsidereversaldown.txt sff_pattern_outsidereversalup.txt sff_pattern_pullback.txt sff_pattern_rectangular.txt sff_pattern_retracedown.txt sff_pattern_retraceup.txt sff_pattern_reversaldown.txt sff_pattern_reversalup.txt sff_pattern_samepattern.txt sff_pattern_sequentialbuy.txt sff_pattern_sequentialsell.txt sff_pattern_signaldown.txt sff_pattern_signalup.txt sff_pattern_snapbackdown.txt sff_pattern_snapbackup.txt sff_pattern_spring.txt sff_pattern_tablebottom.txt sff_pattern_tabletop.txt sff_pattern_tail.txt sff_pattern_testhigh.txt sff_pattern_testlow.txt sff_pattern_trendbar.txt sff_pattern_triplebottom.txt sff_pattern_tripletop.txt sff_pattern_upthrust.txt sff_pattern_vhigh.txt sff_pattern_vlow.txt sff_pattern_wedge.txt sff_pattern_xmadown.txt sff_pattern_xmaup.txt sff_pivot_butterfly.txt sff_pivot_expansionwave.txt sff_pivot_fibcluster.txt sff_pivot_gartley.txt sff_pivot_highlowindex.txt sff_pivot_pivothigh.txt sff_pivot_pivotlow.txt sff_pivot_pivotmap.txt sff_pivot_projectedwave.txt sff_pivot_symmetricpivot.txt sff_range_congestion.txt sff_range_insidebar.txt sff_range_insideday2.txt sff_range_insidedaynarrowrange.txt sff_range_narrowestrange.txt sff_range_narrowrange.txt sff_range_outsidebar.txt sff_range_rangepct.txt sff_range_rangeratio.txt sff_range_rpzone.txt sff_range_volatility.txt sff_range_volatilitypercentage.txt sff_range_widestrange.txt sff_trade_getshares.txt sff_trade_plotentrytargets.txt sff_trade_plotexittargets.txt sff_util_copypattern.txt sff_util_dec2binary.txt sff_util_drawktl.txt sff_util_drawpaintbar.txt sff_util_drawpattern.txt sff_util_exportts2r.txt sff_util_logstats.txt sff_util_logtrades.txt sff_util_marketbits.txt sff_util_tag2string.txt sfi_calendar_show.txt sfi_chart_nlinebreak.txt sfi_float_floatbars.txt sfi_float_floatbox.txt sfi_float_floatchannel.txt sfi_float_floatpercentage.txt sfi_float_floatturnover.txt sfi_marketmodel.txt sfi_pairs_spread.txt sfi_pattern_compareroc.txt sfi_pattern_doublebottom.txt sfi_pattern_doublebottomtest.txt sfi_pattern_doubletop.txt sfi_pattern_doubletoptest.txt sfi_pattern_rectangle.txt sfi_pattern_show.txt sfi_pattern_tables_show.txt sfi_pattern_triangle.txt sfi_pattern_tripletop.txt sfi_pattern_wedge.txt sfi_pivot_allpivotpatterns.txt sfi_pivot_butterfly.txt sfi_pivot_expansionwave.txt sfi_pivot_fibcluster.txt sfi_pivot_gartley.txt sfi_pivot_pivotmap.txt sfi_pivot_projectedwave.txt sfi_pivot_symmetricpivot.txt sfi_range_atr.txt sfi_range_congestion.txt sfi_range_historicalvolatility.txt sfi_range_hvratio.txt sfi_range_ktl.txt sfi_range_levels.txt sfi_range_rangeratio.txt sfi_range_zones.txt sfi_util_recordprices.txt sfp_candle_doji.txt sfp_pattern_180.txt sfp_pattern_keyreversaldown.txt sfp_pattern_keyreversalup.txt sfp_pattern_tail.txt sfp_pattern_trend.txt sfp_pattern_vhighzone.txt sfp_pattern_vlowzone.txt sfp_pattern_xmadown.txt sfp_pattern_xmaup.txt sfp_pivots_show.txt sfp_range_id2.txt sfp_range_insidedaynarrowrange.txt sfp_range_narrowestrange.txt sfp_range_narrowrange2.txt sfp_range_narrowrangepercent.txt sfs_float.txt sfs_kitchensink.txt sfs_openrangebreakout.txt sfs_pairs.txt sfs_pattern_multiple.txt sfs_pattern_narrowrange.txt sfs_pattern_rectangle.txt sfs_pattern_v.txt sfs_range_levels.txt sfs_sentiment.txt sfs_trade_closetrademanager.txt sfs_trade_fixedtrademanager.txt sfs_trade_trademanager.txt