Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.
thrunner
Members-
Content Count
316 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Articles
Everything posted by thrunner
-
Thanks for the thread. However, I think the latest details of this method is proprietary and Don Bright is not willing to share it according to this post:
-
TS as a broker is pretty useless, but their charting and datafeed is still useful to me, so I am keeping a minimal TS account and doing 10 trades/month. The most painless transition away from TS as a broker is probably to go Multicharts and IB. MC is >95% compatible with TS ESL and will support more brokers in the future : http://forum.tssupport.com/viewtopic.php?t=5419
-
John Bollinger's book 'Bollinger on Bollinger Bands' Swisstrader has these indicator coded. You can find him on the TS as well as the MC (Tssupport) forums.
-
All is not lost, BF. Do you have $50K handy? You will also need some skin cells from your beloved pet. http://news.bbc.co.uk/2/hi/asia-pacific/7542338.stm
-
ESL function EaseofMovement does not take any inputs. You may have copied this from some other platform. Try rewriting your own EaseOfMovement function (name it as _TEaseOfMovement for example) as follows: inputs: Price (numericseries), SmoothingLength (numericsimple); { EOM = 100 * MFI * MidPointMove; note that this formula is a simpler mathematical equivalent of Richard Arms' original formula } if BarType >= 2 then { ie, not tick/minute data } _TEaseOfMovement = Average( 100 * MFI( Volume ) * ( ( Price ) - ( Price )[1] ) * .5 , SmoothingLength) else { if tick/minute data; in the case of minute data, also set the "For volume, use:" field in the Format Symbol dialog to Trade Vol or Tick Count, as desired } _TEaseOfMovement = Average( 100 * MFI( Ticks ) * ( ( Price ) - ( Price )[1] ) * .5 , SmoothingLength); Be sure to change your original strategy signal file line number 9: MyEOM = _TEaseOfMovement( Price, Length );
-
Obama Wants Energy Speculator Crackdown
thrunner replied to Soultrader's topic in Market News & Analysis
Oil is not a free and fairly traded market because 90% of world's crude oil is controlled by cartels or governments. In contrast, the supply and demand of the tech bubble wasn't controlled by such entities. Some of the producers and hedgers have become speculators in the futures market as well and they have the ability to store crude in the ground, in storage tanks, in tankers, in pipelines, in salt caverns ... and that can be called hording. Something important and not covered here about crude speculation is that one of the oil hedgers, Semgroup, (not a speculator by traditional definition, but an entity that does store and transport oil and supply liquidity to the crude oil market) was stopped out of their hedging shorts and finally had to cover at the highs in crude two weeks back: -
Sure, Forsearch. It is a very simple modification of the original. Just be sure to modify the style and weight of VOpen, VClose, VHigh, VLow, if one is starting from scratch from EL code : [LegacyColorValue = true]; // modified for Candlestick {******************************************************************* Description : This Indicator plots Value Chart prices. Provided By : Mark W. Helweg (c) Copyright 2001 ********************************************************************} Inputs:NumBars(5), TwentyNumBars(20); Variables:Vopen(0),VHigh(0),VLow(0),VClose(0),Var1(0),Var2(0); Var: VcloseLam(0),ValueSOB(" "),ValueMOB(" "),ValueMOS(" "), ValueSOS(" "), ValueFair(" "), lastdate(0); {Calcualte Value Chart} VOpen = VChart(NumBars,Open); VHigh = VChart(NumBars,High); VLow = VChart(NumBars,Low); VClose = VChart(NumBars,Close); {Plot Value Chart - Disregards the first 20 bars because Omega doesn't process them correctly} If BarNumber > Numbars then Begin if VClose >= VOpen then begin Plot1( VClose,"VClose", Green) ; Plot2( VOpen, "VOpen", Green) ; Plot3( VHigh, "VHigh", Green) ; Plot4( VLow, "VLow", Green) ; end else begin Plot1( VClose, "VClose", Red) ; Plot2( VOpen, "VOpen", Red) ; Plot3( VHigh, "VHigh", Red) ; Plot4( VLow, "VLow", Red) ; end ; End; If VHigh > Highest(VHigh,TwentyNumBars)[1] Then Begin Plot5(VHigh, "21BarVHigh"); End; IF VLow < Lowest(VLow,TwentyNumBars)[1] Then Begin Plot6(VLow, "21BarVLow"); End; VChart function: [LegacyColorValue = true]; {******************************************************************* Description : This Function returns Value Chart prices. Provided By : Mark W. Helweg (c) Copyright 2001 ********************************************************************} Inputs:NumBars(Numeric),Price(NumericSeries); Variables:VarNumBars(0),Var0(0),LRange(0),YDiv(0),RanVar4(0),VOpen(0),VHigh(0),VLow(0),VClose(0), VarA(0),VarB(0),VarC(0),VarD(0),VarE(0),VarP(0),VarR1(0),VarR2(0),VarR3(0),VarR4(0),VarR5(0); {Insure NumBars is between 2 and 1000} If NumBars < 2 then VarNumBars = 2; If Numbars > 1000 then VarNumBars = 1000; If Numbars >= 2 and NumBars <=1000 then VarNumBars = NumBars; VarP=Round(VarNumBars/5,0); If VarNumBars >7 then begin VarA=Highest(H,VarP)-Lowest(L,VarP); If VarA = 0 and VarP=1 then VarR1=absvalue(C-C[VarP]) Else VarR1 = VarA; VarB=Highest(H,VarP)[VarP+1]-Lowest(L,VarP)[VarP]; If VarB = 0 and VarP=1 then VarR2=absvalue(C[VarP]-C[VarP*2]) Else VarR2 = VarB; VarC=Highest(H,VarP)[VarP*2]-Lowest(L,VarP)[VarP*2]; If VarC = 0 and VarP=1 then VarR3=absvalue(C[VarP*2]-C[VarP*3]) Else VarR3 = VarC; VarD=Highest(H,VarP)[VarP*3]-Lowest(L,VarP)[VarP*3]; If VarD = 0 and VarP=1 then VarR4=absvalue(C[VarP*3]-C[VarP*4]) Else VarR4 = VarD; VarE=Highest(H,VarP)[VarP*4]-Lowest(L,VarP)[VarP*4]; If VarE = 0 and VarP=1 then VarR5=absvalue(C[VarP*4]-C[VarP*5]) Else VarR5 = VarE; LRange=((VarR1+VarR2+VarR3+VarR4+VarR5)/5)*.2; End; If VarNumBars <=7 then Begin If AbsValue(C-C[1]) > (H-L) then Var0=AbsValue(C-C[1]) else var0=(H-L); If H=L then Var0=absvalue(C-C[1]); LRange=Average(Var0,5)*.2; End; If LRange > 0 then begin If Price = Open then VChart=((Open-Average((H+L)/2,VarNumBars)))/(LRange); If Price = High then VChart=((High-Average((H+L)/2,VarNumBars)))/(LRange); If Price = Low then VChart=((Low-Average((H+L)/2,VarNumBars)))/(LRange); If Price = Close then VChart=((Close-Average((H+L)/2,VarNumBars)))/(LRange); End;
-
The original VC was implemented as OHLC (Open, high, low, close) by Helweg and Stendahl and there is nothing wrong with it, but... you could easily program EL to display synthetic candlesticks Attached please find VC candles. If you don't get what is shown, try re-formatting the 'style' and 'Weight' of VClose, VOpen, High and Low. You can further program the wick color and candle body properties to suit, beyond what is shown.
-
Please just select all, copy the text in the code box and paste into any text editor and save the text file as something like 'scalper.efs'. You can also do this (copy and paste) into the Esignal tools, EFS, editor. Please study the video here if you are not familiar with Esignal : http://www.esignalcentral.com/university/esignal/tutorial/javascript/master-2.html Perhaps someone here or on the Esignal support forum more familiar with EFS can answer more detailed question on this subject.
-
It is unlikely that Esignal can run Tradestation EL code. The following Esignal code by rebkwez may help: debugClear(); var iColorBuy = new FunctionParameter("iColorBuy", FunctionParameter.COLOR); iColorBuy.setDefault( Color.green ); var iColorSell = new FunctionParameter("iColorSell", FunctionParameter.COLOR); iColorSell.setDefault( Color.red ); var iFontSize = new FunctionParameter("iFontSize", FunctionParameter.NUMBER); iFontSize.setDefault( 10 ); function preMain() { setStudyTitle("ScalperBuySell"); setPriceStudy(true); setShowTitleParameters(false); setCursorLabelName(false); } function main(iColorBuy, iColorSell, iFontSize) { if(getBarState() == BARSTATE_NEWBAR) { //***************** // SCALPER SELL if(Three_Higher_Highs() ) { if( LowerHigh() ) { if( CloseBelowTrigger() ) { drawTextRelative(-2, high(-2)+.5, "S", iColorSell ,null, Text.FRAME|Text.CENTER|Text.BOLD|Text.TOP, "Arial", iFontSize,"ScalpS"+ getCurrentBarCount()); } } } //***************** // SCALPER BUY if(Three_Lower_Lows() ) { if( HigherLow() ) { if( CloseAboveTrigger() ) { drawTextRelative(-2, low(-2)-.5, "B", iColorBuy ,null, Text.FRAME|Text.CENTER|Text.BOLD|Text.BOTTOM, "Arial", iFontSize ,"ScalpB"+ getCurrentBarIndex()); } } } } return; } function CloseBelowTrigger() { //return ( close(0) < low(-1) && high(0) < highest(4, high()) ); //return ( close(0) <= low(-1) ); // This one gives more signals. return ( close(0) <= low(-1) || close(0) <= close(-1) ); } function LowerHigh() { return (high(-1) <= high(-2)); } function Three_Higher_Highs() { return( (close(-2) >= close(-3) && close(-3) >= close(-4) && close(-4) >= close(-5)) || (low(-2) >= low(-3) && low(-3) >= low(-4) && low(-4) >= low(-5)) ); } function CloseAboveTrigger() { //return ( close(0) > high(-1) && low(0) > lowest(4, low()) ); //return ( close(0) >= high(-1) ); // This one gives more signals. return ( close(0) >= high(-1) || close(0) >= close(-1) ); } function HigherLow() { return low(-1) >= low(-2) } function Three_Lower_Lows() { return( (close(-2) <= close(-3) && close(-3) <= close(-4) && close(-4) <= close(-5)) || (high(-2) <= high(-3) && high(-3) <= high(-4) && high(-4) <= high(-5)) ); }
-
https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=53982&PAGE=58 It is officially called "volume splitter" splitting traded size into: 1. Small 1-10 2. Medium 11-50 3. Large >50
-
I don't know anything about waveslider's system, but it sounds like it is a simple but profitable system based on US market internals ($ADV, $TRIN, $VIX etc). There are some well known and established (read 'old') systems that work similarly. Recently on the TS forum, Mark Brown started writing about his 'Oddball' system again. So, here it is, one line of code: {Variation of Mark Brown's Oddball System in Active Trader Magazine, Dec 2000. by nworbkram} Input:test_level(optomize number here); If c data2>test_level then buy this bar else sell short this bar; This is a wildly known system so it is no secret and hopefully Mr. Brown won't mind this post. More info on the TS forum and markbrown dot com. Here is more information: I am not sure the statement of irrelevancy of DATA 1 is absolutely true. It would have to at least be something that is not inverse to the general market direction.
-
Algorithmic Trading with MATLAB Webinar
thrunner replied to darthtrader2.0's topic in Automated Trading
http://kreslik.com/forums/viewtopic.php?start=0&t=357 -
In order to convert an indicator to a showme in TS you would usually copy and paste the original (eg. the VC above) code into a new showme code. Then replace the plot statements as followed 1. comment out the OHLC plots 1-4; you don't need them. 2. Replace plot5 and plot6 with the appropriate values. Basically what you are doing is adjusting the plotting to the same scale as the underlying instrument. { If BarNumber > Numbars then Begin Plot1(VOpen,"VOpen"); Plot2(VHigh,"VHigh"); Plot3(VLow,"VLow"); Plot4(VClose,"VClose"); End; } If VHigh > Highest(VHigh,TwentyNumBars)[1] Then Begin Plot5( H + MinMove / PriceScale , {VHigh} "21BarVHigh"); Alert; end else NoPlot (5); IF VLow < Lowest(VLow,TwentyNumBars)[1] Then Begin Plot6( L - MinMove / PriceScale, {VLow} "21BarVLow"); Alert; end else NoPlot (6);
-
Most of the price discovery process occurs in the Emini market and futures do lead the cash price during most time periods. This does not mean the futures can pin the cash market. There will be arbitragers to keep the auction process in balance. Google for 'index futures arbitrage' if you are interested in this subject.
-
Try using the Average True Range indicator. The following is a weekly chart of GBPUSD and 14 period ATR compared with SPX.X (S&P index) from '99 to '08 using TS.
-
Hey Ropulos, we hardly knew you But really, what does it matter? I am sure for every Ropulos, there are dozens of traders that got some real use out of this thread and other threads like this on TL.
-
Gann probably got his squareroot idea from playing with the newly introduced sliderule in the 1880s, although sliderule had been invented in Europe in 1622. In fact the Gann wheel is a square root calculator.
-
Every other fund seems to be doing the same thing, pile into commodities with the news and technicals, especially in oil, and short the equities. The attached chart showed that every oil trader and their brother were probably looking to go long at the last major swing low in crude oil. This coincided with a Wolfe wave long and together with some 'news' resulted in the largest ever price jump of more than $10 gain in crude as shown here in the mini crude QM. Using Wolfewave_NEN indicator from MT4 in this chart. Note that this indicator is slow in drawing the next Ww formation - usually only after the next line in the zigzag is drawn.
-
Thanks for all the charts guys, keep up the good work. EWZ, the ETF for Brazilian stocks may decline from here due to inflation concerns and frothy commodities prices The Brazilian interest rate may go up to 12.25%. If you believe commodities will be "much, much weaker" as Dennis Gartman does, this Ww may be worth taking a look. This coincides with a bearish Wolfe wave setup, target around 60s with initial supports near 85 and 70. Hope this doesn't turn out as badly as this other short oil and EWZ idea in late January 08, but they didn't have the benefit of a Ww setup http://www.themoneyblogs.com/morpheustrading/my.blog/international-and-oil-etfs-ready-for-short-selling.html
-
In case any one is following, Ozfx has been banned in the forexfactory forum: Just be aware that many of the signals he has been calling is quite discretionary and not related to the original theme of Ozfx as outlined in the first post and studied with TS in this post.
-
Thanks for the update. It is probably illegal for OzFx or Evelyn to manage accounts for US clients unless he or she is licensed to do so. It is also a little unethical to post all the high positive pip counts and profitable trades without some independent tracking service such as Collective2, which is free and easy to use. Perhaps OzFx has tried and failed on Collective2 : http://www.collective2.com/cgi-perl/systems.mpl?want=publicdetails&systemid=19539489 Some views from another forum http://www.forexfactory.com/showpost.php?p=2033382&postcount=9687 http://www.trade2win.com/boards/trading-journals/27369-ozfx-journal-check-out.html
-
With all due respect, I don't think we can really trust you or even Walter on this without more statistical analyses. Tick volume in Forex is like exit poll samplings in an election. Sometimes they can be very accurate if done properly, but sometimes they can be very wrong. Some of the anecdotes you described can be true in specific cases, but over the long run, tick volume analyses of Forex could proved to be useful and statistically significant.
-
"Force Index Indicator" for Tradestation
thrunner replied to Soultrader's topic in Trading Indicators
If you wish to use 'tick volume' with this indicator (or any other involving volume where the exchange traded volume is not available) with Forex under TS, just set the Format Symbol, Volume setting to 'Tick count' instead of 'Trade Vol', which is probably what MT4 is doing by default.