SAFIR-X
Comparaison Xs Xp
Le Neuroflou
Questions Safir-X
TradeStation Tech.
Tarifs
Bon de commande

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Easy Language

 

( écrites en Easy Language,éditables, modifiables).
Vous pouvez écrire aussi  vos propres fonctions qui deviennent alors partie intégrante de l'Easy language.
Elles sont utilisées dans les systèmes de trading, les  indicateurs... en tant que bloc de programme  prêt à l'emploi.

Exemple avec la fonction RSI:

Value1=RSI(close,14);
Calcule le RSI sur 14 barres avec le cours de clôture.

Plot1(value1,"Rsi");
Affiche graphiquement le RSI calculé précédemment.
Pas trop difficile...

début de la page

En fait , vous venez d'utiliser la fonction suivante, fournie en standard avec TradeStation.
Comme vous le consatez, le code est visible.


Rien de caché dans ce logiciel. Vous pouvez vous inspirer des  nombreux exemples
pour faire vos propres versions ou y apporter des modifications.

rsicode.gif (13820 bytes)

Début de la page

Toutes les fonctions, études , systèmes ( constitués de signaux) sont documentées individuellement.
Ellles sont appellées dans le langage de programmation (aide en ligne disponible, explication pour chacune).
Ci dessous l'ADX -DMI de Welles Wilder:

help-signal.gif (24785 bytes)
Aide en ligne sur les signaux déjà préprogrammés dans TradeStation (vue partielle)

Début de la page

Il est possible d'écrire des systèmes de trading (signaux) complexes, simplement en cliquant sur
des signaux déjà présents dans la librairie (liste partielle ci dessus).
La plupart des signaux classiques sont déjà écrits et documentés...
Tous les codes sont éditables.

systembuilder.gif (7355 bytes)
System Builder

Début de la page

Par exemple, supposez que vous voulez écrire un système d'achat vente sur le RSI:

Vous écrivez le signal d'entrée (SIGNAL RSI Oscillator)
( fenêtre en haut à gauche)
LA sysntaxe est facile à comprendre
" Si on est après la première barre et si le RSI calculé sur la clôture
 ( avec un recul optimisable de RSILen)  traverse par le haut le niveau BuyZone (optimisable),
alors acheter à la clôture..
Vous remarquez que cela s'écrit comme de l'anglais parlé ( d'où le nom Easy Language):
If Currentbar>1 and RSI(close,RSILen) crosses over BuyZone then Buy on Close.

Même raisonnement pour le signal de vente.

La deuxième fenêtre à droite est celle du signal de prise de profit basé
 sur une moyenne de l'average true range
( signal déjà écrit comme beaucoup d'autres dans TradeStation2000i).
Il est un peu plus complexe que le signal sur le RSI, et donné ici pour l'exemple

Maintenant, vous pouvez coupler les deux signaux en un seul
 ( fenêtre en bas à gauche de SystemBuilder) et même en ajouter d'autres.
Vous pouvez désactiver les composants que vous souhaitez (cases à décocher).
Cette conception modulaire simplifie l'écriture de systèmes de trading complexes.
Naturellement, on peut tout écrire dans le même code,
  sans faire appel au tableau du System Builder.

Début de la page

:powered.gif (42003 bytes)
Power Editor de TradeStation2000i avec SystemBuilder

Ensuite il ne vous reste plus qu'à tester le système dans un graphique ou sur un portefeuille de valeurs
(Voir la page Automatisation et test).

Début de la page

Bien que la plupart des indicateusrs classiques soient écrits dans Tradestation
, vous pouvez le faire pour les vôtres.
Le principe est le même que pour l'écriture des signaux ci dessus dans le Power Editor, 
et vous avez à votre disposition tous les composants de l'Easy Language.
Ces syntaxes sont exportables et importables et protégeables par exportation 
du code compilé seul ( sans le code source).
Vous pourrez donc les échanger avec  d'autres utilisateurs de TradeStation.

La liste de fonctions utilisateurs est impressionnante, mais vous n'êtes pas obligé de tout utiliser!
Vous pouvez crééer les vôtres, en télécharger sur de nombreux sites Internet, voire en acheter
auprès de programmeurs spécialisés (Solution Providers)
Certaines de ces fonctions ne sont accessibles que dans OptionStation2000

Début de la page

FONCTIONS

DMI LowW ShowShortStop
UTILISATEUR DMICustom LowY Skew
AB_AddCellRange DMIMinus LRO      SkewOpt
AB_AverageCells DMIMinusCustom LowM LWAccDis
AB_AveragePrice DMIPlus LowestBar SlowD
AB_CellCount DMIPlusCustom MACD SlowDClassic
AB_ColorIntervals Doji MassIndex SlowDCustom
AB_LetterIntervals E MaxContractProfit SlowK
AB_Median EaseOfMovement McClellanOsc SlowKClassic
AB_ModeCount ELDateToString Median SlowKCustom
AB_ModePrice EntriesToday MedianPrice SmoothedAverage
AB_RowCalc EveningStar MFI SnapFundValid
AB_StdDev ExitsToday MidPoint StandardError
AbsoluteBreadth ExtremePrice MinutesToTime Standardize
AccumDist F Mode StdDev
AccumSwingIndex Factorial Momentum StdDevPAnnualized
AdvanceDeclineDiff FastD MoneyFlow StdDevS
AdvanceDeclineRatio FastDClassic MorningStar StdDevSAnnualized
ADX FastDCustom MRO Stochastics
ADXClassic FastHighestBar MyPrice StrColorToNum
ADXCustom FastK LowestFC Summation
ADXCustomClassic FastKCustom Next3rdFriday SummationFC
ADXR FastLowestBar NormalCumDensity SummationIF
ADXRClassic FindBar NormalDensity SwingHigh
ADXRCustom FirstOfMonthJul NormalSCDensity SwingHighBar
ADXRCustomClassic FirstOfNextMonthJul NthDayOfMonth SwingIndex
ArmsIndex FirstofPrevMonthJul NthHighest SwingLow
Average Fisher NthHighestBar SwingLowBar
AverageFC FisherINV NthLowest T
AvgDeviation G NthLowestBar TDC.Channel2.Hi
AvgPrice Gamma NumUnits TDC.Channel2.Lo
AvgTrueRange GenerateStrike O TDC.REI
B H OBV TDC.SEQ.SetUp
BarAnnualization Hammer OpenD Theta
BarNumber HangingMan OpenM TimeSeriesForecast
BearishDivergence HarmonicMean OpenW TimeToMinutes
BearishEngulfing HighD OpenY TL_Exist
BlackModel Highest P TLAngle
BlackScholes HighestBar Parabolic TLAngleEasy
BollingerBand HighestFC ParabolicCustom TLSlope
BullishDivergence HighM PercentChange TLSlopeEasy
BullishEngulfing HighW Percentile TLValue
BusinessDays HighY PercentR TLValueEasy
C HPI PercentRank TRIAverage
CalcTime I Permutation Trimmean
CCI IFF PivotHighVS TRIX
CCIClassic ImpliedVolatility PivotHighVSBar TrueHigh
ChaikinOsc Intrinsic PivotLowVS TrueLow
CloseD IsWorkDay PivotLowVSBar TrueRange
CloseM J PositionProfitCustom TrueRangeCustom
CloseW K PriceVolTrend TypicalPrice
CloseY KeltnerChannel ProbAbove U
CoeffR Kurtosis ProbBelow UlcerIndex
Combination KurtosisOpt ProbBetween UltimateOsc
Correlation L Q V
CountIF LastBarOnChart Quartile Variance
Covariance LastCalcDate R VarianceP
CSI LastCalcTime Range Vega
CSIClassic LastHour RangeLeader Volatility
Cum Leader Rank VolatilityClassic
D LinearRegAngle RateOfChange VolatilityExVal
DailyLosers LinearRegAngleFC Ring VolatilityStdDev
DailyWinners LinearRegLine Round2Fraction VolumeOsc
DarkCloud LinearRegSlope RSI VolumeROC
DayofWeekFix LinearRegSlopeFC RSIClassic W
DaysToExpiration LinearRegValue Rsquared WAverage
Delta LinearRegValueFC S WeightedClose
Detrend LowD ShootingStar ZTes
DevSqrd Lowest ShowLongStop  

 

Début de la page

Elles sont utilisables dans les fonctions utilisateur, les systèmes de trading, les indicateurs,
les alertes, Paint Bars, Show Me, Activity Bars, Stratégies d'options (OptionStation), RadarScreen...
Elles constituent l'Easy Language pour la partie vocabulaire.

Certaines de ces fonctions ne sont accessibles que dans OptionStation2000

Toutes sont documentées dans l'aide en ligne, exemple à l'appui:

Début de la page

el_dictionary.gif (15535 bytes)
Aide en ligne documentée pour chaque composant de l' Easy Language

Début de la page

Composant de l'Easy Language (II)

FONCTIONS DU LANGUAGE

Beta DarkGray
#BEGINALERT Beta_Down DarkGreen
#BEGINCMTRY Beta_Up DarkMagenta
#BEGINCMTRYORALERT Bid DarkRed
#END BigPointValue Data
A Black DataCompression
AB_AddCell BlockNumber DataInUnion
AB_GetCellChar Blue Date
AB_GetCellDate Book_Val_Per_Share DateToJulian
AB_GetCellTime BOOL Day
AB_GetCellValue BoxSize DayOfMonth
AB_GetNumCells BreakEvenStopFloor DayOfWeek
AB_GetZoneHigh Buy Days
AB_GetZoneLow By Default
AB_High BYTE DefineCustField
AB_Low C DEFINEDLLFUNC
AB_RemoveCell C DeliveryMonth
AB_RowHeight Call DeliveryYear
AB_SetActiveCell CallCount Delta
AB_SetRowHeight CallITMCount Dividend
AB_SetZone CallOTMCount Dividend_Yield
Above CallSeriesCount DividendCount
AbsValue CallStrikeCount DividendDate
ActivityData Cancel DividendTime
AddCell Ceiling Does
AddToMovieChain CHAR DOUBLE
Ago CheckAlert DownTicks
Alert CheckCommentary DownTo
AlertEnabled Close DWORD
All Commentary E
An CommentaryCl EasyLanguageVersion
And CommentaryEnabled Else
Arctangent Commission End
Array CommodityNumber Entry
Arrays Contract EntryDate
ARRAYSIZE ContractMonth EntryPrice
ARRAYSTARTADDR Contracts EntryTime
Ask ContractYear EPS
Asset Cosine EPS_PChng_Y_Ago
AssetType Cost EPS_PChng_YTD
AssetVolatility Cotangent EPSCount
At CreateLeg EPSDate
At$ Cross EPSTime
AtCommentaryBar Crosses ExitDate
AvgBarsLosTrade Current ExitLong
AvgBarsWinTrade Current_Ratio ExitPrice
AvgEntryPrice CurrentBar ExitShort
AvgList CurrentContracts ExitTime
B CurrentDate ExpirationDate
Bar CurrentEntries ExpirationStyle
BarInterval CurrentTime ExpValue
Bars Cyan F
BarsSinceEntry D False
BarsSinceExit D File
BarStatus DailyLimit FileAppend
Based DarkBlue FileDelete
Begin DarkBrown FirstNoticeDate
Below DarkCyan FirstOption

 

Début de la page

Composant de l'Easy Language (II)

FLOAT LargestLosTrade ModelPosition
Floor LargestWinTrade ModelPrice
For Last_Split_Date ModelVolatility
FracPortion Last_Split_Fact Monday
FreeCshFlwPerShare LastCalcJDate MoneyMgtStopAmt
Friday LastCalcMMTime Month
From LastTradingDate MULTIPLE
Future LeftSide N
FutureType LeftStr Neg
G Leg Net_Profit_Margin
G_Rate_EPS_NY LegType NetProfit
G_Rate_Nt_In_NY LightGray NewLine
G_Rate_P_Net_Inc Limit Next
Gamma Log NoPlot
GetBackgroundColor LONG Not
GetBotBound Low NthMaxList
GetCDRomDrive Lower NthMinList
GetCellColor LowerStr Numeric
GetExchangeName LPBOOL NumericArray
GetPlotBGColor LPBYTE NumericArrayRef
GetPlotColor LPDOUBLE NumericRef
GetPlotWidth LPDWORD NumericSeries
GetPredictionValue LPFLOAT NumericSimple
GetRowIncrement LPINT NumFutures
GetSymbolName LPLONG NumLegs
GetSystemName LPSTR NumLosTrades
GetTopBound LPWORD NumOptions
Gr_Rate_P_EPS M NumToStr
Green Magenta NumWinTrades
GrossLoss MakeNewMovieRef O
GrossProfit Margin O
H Market Of
H MarketPosition On
High MaxBarsBack Open
Higher MaxBarsForward OpenInt
HistFundExists MaxConsecLosers OpenPositionProfit
I MaxConsecWinners Option
I MaxContracts OptionType
I_AvgEntryPrice MaxContractsHeld Or
I_ClosedEquity MaxEntries Over
I_CurrentContracts MaxGain P
I_MarketPosition MaxIDDrawDown Pager_DefaultName
I_OpenEquity MaxList Pager_Send
If MaxList2 PercentProfit
IncludeSystem MaxLoss Place
InitialMargin MaxPositionLoss PlayMovieChain
Input MaxPositionProfit PlaySound
Inputs MidStr Plot
Inst_Percent_Held MinList Plot1
InStr MinList2 Plot2
INT MinMove Plot3
IntPortion MIVonAsk Plot4
Is MIVonBid PM_GetNumColumns
J MIVonClose PM_SetNumColumns
JulianToDate MIVonRawAsk Pob
K MIVonRawBid Point
L Moc POINTER
L Mod Points

 

Début de la page

Composant de l'Easy Language (III)

PointValue Skip TickType
Pos Slippage Time
Position SnapFundExists TL_Delete
PositionID Spaces TL_GetAlert
PositionProfit Square TL_GetBeginDate
PositionStatus SquareRoot TL_GetBeginTime
Power StartDate TL_GetBeginVal
Price_To_Book StockSplit TL_GetColor
PriceScale StockSplitCount TL_GetEndDate
Print StockSplitDate TL_GetEndTime
Printer StockSplitTime TL_GetEndVal
Product Stop TL_GetExtLeft
Profit Strike TL_GetExtRight
ProfitTargetStop StrikeCount TL_GetFirst
Protective StrikeITMCount TL_GetNext
Put StrikeOTMCount TL_GetSize
PutCount String TL_GetStyle
PutITMCount StringArray TL_GetValue
PutOTMCount StringArrayRef TL_New
PutSeriesCount StringRef TL_SetAlert
PutStrikeCount StringSeries TL_SetBegin
Q StringSimple TL_SetColor
Quick_Ratio StrLen TL_SetEnd
R StrToNum TL_SetExtLeft
Random SumList TL_SetExtRight
RawAsk Sunday TL_SetSize
RawBid T TL_SetStyle
Red T To
Repeat Tangent Today
Ret_On_Avg_Equity Target Tomorrow
RevSize TargetType Tool_Black
Rho Text Tool_Blue
RightSide Text_Delete Tool_Cyan
RightStr Text_GetColor Tool_DarkBlue
Round Text_GetDate Tool_DarkBrown
S Text_GetFirst Tool_DarkCyan
Saturday Text_GetHStyle Tool_DarkGray
Screen Text_GetNext Tool_DarkGreen
Sell Text_GetString Tool_DarkMagenta
SeriesCount Text_GetTime Tool_DarkRed
Sess1EndTime Text_GetValue Tool_DarkYellow
Sess1FirstBarTime Text_GetVStyle Tool_Dashed
Sess1StartTime Text_New Tool_Dashed2
Sess2EndTime Text_SetColor Tool_Dashed3
Sess2FirstBarTime Text_SetLocation Tool_Dotted
Sess2StartTime Text_SetString Tool_Green
SetBotBound Text_SetStyle Tool_LightGray
SetPlotBGColor Than Tool_Magenta
SetPlotColor The Tool_Red
SetPlotWidth Then Tool_Solid
SetPredictionValue TheoreticalGrossIn Tool_White
SetRowIncrement TheoreticalGrossOut Tool_Yellow
SetTopBound TheoreticalValue Total
SGA_Exp_By_NetSales Theta TotalBarsLosTrades
Share This TotalBarsWinTrades
Shares Thursday TotalTrades
Sign Ticks TrailingStopAmt
Sine

 

Début de la page

Composant de l'Easy Language (IV)

TrailingStopPct
True
TrueFalse
TrueFalseArray
TrueFalseArrayRef
TrueFalseRef
TrueFalseSeries
TrueFalseSimple
TtlDbt_By_NetAssts
Tuesday
U
Under
UnionSess1EndTime
UnionSess1FirstBar
UnionSess1StartTime
UnionSess2EndTime
UnionSess2FirstBar
UnionSess2StartTime
Units
UNSIGNED
Until
UpperStr
UpTicks
V
V
Var
Variable
Variables
Vars
VARSIZE
VARSTARTADDR
Vega
VOID
Volume
W
Was
Wednesday
While
White
WORD
X
Y
Year
Yellow
Yesterday

 

Début de la page

 


 
Up
TradeStation 2000i
RadarScreen2000i
OptionStation 2000i
Easy Language
Automatisation et test
Données compatibles
 

Easy Language.. .

Il s'agit d'un langage de programmation à base de Pascal, qui a été enrichi de fonctions spécifiques à l'analyse technique.
De plus, les systèmes simples peuvent être écrits en anglais parlé, ce qui fait qu'il convient aux non programmeurs.

Les programmeurs chevronnés retrouveront toutes les foctionnalités d'un vrai langage de programmation ( manipulation de variables, tableaux multidimentionnels, chaînes de caractères, boucles et itérations conditionnelles, écriture de leurs propres fonctions, ouverture au langage C par appel de DLL's externes.

 

 

Pour la part syntaxe, L'Easy Langage dérive du Pascal, le langage le plus simple qui soit en programmation.


Il s'agit donc d'un langage de programmation facile à comprendre.
Les fonctions et mots réservés ( liste plus bas) sont issus de ce langage :

( if condition ...then begin
...
end;)


ou bien rajoutées par TradeStation Technologies.


Ces fonctions et expressions ne sont pas modifiables, contrairement aux fonctions utilisateurs.


Par contre, elles couvrent  ou permettent de couvrir tous les domaines mathématiques
et autres utilisés en analyse technique.

 

 

 -ll n'existe aucune limite à la complexité d'un programme en Easy Language! 

 

Previous Up Next