Jump to content

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

Everything posted by thrunner

  1. Does this horizontal line problem persist after you move it up and down the vertical axis and/or right click format it? I do not see this problem in TS 8.2.3896. Which TS version are your using? There are some reports of inaccurate HL and alerts in prior versions of TS, but not recently. You may have to save a minimal chart and workspace with the problem and report it to TS support.
  2. Sometimes that is TS's way of asking your for more money (you'll need to subscribe to the proper exchange data in order to mix data; TS will generally not allow delayed data to be mixed with live). It is possible to use ADE and lot more work to get around this limitation. see for example: https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=33398
  3. Bull or Bear Ww for Indecision '08?
  4. Welcome to the fourm. Your question kind of got cut off in mid sentence. It would be helpful to know the specifics. However, this is easily doable given some limitations and is well documented in the TS code forum. Here is a sample code with MSFT as data1 and $NDX.X as data2 (just insert into the same chart), using a well known indicator by LBR (3/10 oscillator) to generate the signals. It is true that you can only trade on data1, you can't have tick or vol in a multi-symbol chart and that you can't do intrabar order generation on an event in data2 (unless you try global variables): {The LBR 3/10 oscillator is the difference between a 3 and 10 period simple moving average. Add another 16-period simple moving average of the 3/10 on top of it. } {Sample two data strategy, **************do not trade as is************ } inputs: Price(Close), Price2(Close data2), Avg1(3), Avg2(10), Avg3(16), Avg21(3), Avg22(10), Avg23(16); vars: HH(0),LL(0); if Currentbar > 30 then begin Value1 = Average(Price,Avg1)-Average(Price,Avg2); Value21 = Average(Price2,Avg21)-Average(Price2,Avg22); Value2 = Average(Value1,Avg3); Value22 = Average(Value21,Avg23); If Value21 crosses over Value22 then Buy ( "B1" ) next bar at market ; If Value1 crosses under Value2 then Sellshort ( "SS1" ) next bar at market; end; Please do not trade this as is, it is not profitable. Blue Ray has kindly attached a copy of the LBR 3/10 osc here on TL: http://www.traderslaboratory.com/forums/34/the-chimp-s-new-futures-scalps-2788-4.html#post25515
  5. Thanks for sharing your solution. This indicator as written should perhaps be named WS Better Trin Oscillator, more in keeping with it's oscillation and the the original version it is trying to copy (The original has both a summed Trin indicator and an oscillator based on the summed Trin). Depending on your data feed, you may also get a Trin or TrinQ of zero during an outage or holiday trading. Due to the fact that log(0) is undefined, you will get an error if not checked. The revised code: inputs:len(7); //value4=(log(c data2)*-1)*100; log of zero is undefined, so check for data <=0 //value8=(log(c data3)*-1)*100; value4=(iff(c data2 >0, log(c data2), 0) *-1)*100; value8=(iff(c data3 >0, log(c data3), 0) *-1)*100; value9=xaverage((value4+value8)/2,3); value10=value9+value10[1]; value11=Detrend(value10, Len); plot1(linearregslope(value11,len),"btrin"); plot2(0,""); IMO, this oscillator as written is also one or two periods lagging behind the original oscillator.
  6. No problem. We are all here to learn Please follow the image and if you can't work it out try downloading the eld attached and double click on that. DBVWAP_SD3.ELD
  7. Please find below in the code box the complete code listing for Jay who asked for it in August and for Bryan, just add the last three lines of this listing to the bottom of your indicator code: The third SD is now an input, allowing you to use different numbers. There is nothing magical about '3'; it all depends on how many are following it and how strong the trend. Sometimes 2.5 works better. {*********************************************************************************************** Coded by dbntina/boxmeister 8/2/2007 Used the VWAP_H code provided by Tradestation on 02/07/2003 Topic ID = 6735 Thanks Guys! Added the computation for variance and the Standard Deviation to combine into one indicator plot and this indicator plots the VWAP, SD1 bands and SD2 bands ***********************************************************************************************} [LegacyColorValue = true]; vars: PriceW(0), ShareW(0), Count(0), VolWAPValue(0), VolWAPVariance(0), VolWAPSD(0); if date > date[1] then begin PriceW = 0; ShareW = 0; Count = -1; Value1 = 0; Value2 = 0; VolWAPValue = 0; end; PriceW = PriceW + (AvgPrice * (UpTicks+DownTicks)); ShareW = ShareW + (UpTicks+DownTicks); Count = Count + 1; Value3 = 0; if ShareW > 0 then VolWAPValue = PriceW / ShareW; {Calculate the individual variance terms for each intraday bar starting with the current bar and looping back through each bar to the start bar. The terms are each normalized according to the Variance formula for each level of volume at each price bar } For Value1 = 0 To Count Begin Value2 = ((UpTicks[Value1]+DownTicks[Value1])/ShareW) * (Square(AvgPrice[Value1]-VolWAPValue)); Value3 = Value3 + Value2; End; VolWAPVariance = Value3; VolWAPSD = SquareRoot(VolWAPVariance); Plot1(VolWAPValue, "VWAP"); Plot2(VolWAPValue + VolWAPSD, "VWAP1SDUp"); Plot3(VolWAPValue - VolWAPSD, "VWAP1SDDown"); Plot4(VolWAPValue + (2*VolWAPSD), "VWAP2SDUp"); Plot5(VolWAPValue - (2*VolWAPSD), "VWAP2SDDown"); // added by request http://www.traderslaboratory.com/forums/f46/vwap-indicator-with-1sd-and-2sd-2175.html#post27273 input : trdSD (3); Plot6(VolWAPValue + (trdSD*VolWAPSD), "VWAP3SDUp"); Plot7(VolWAPValue - (trdSD*VolWAPSD), "VWAP3SDDown");
  8. Yes, that is just the Lee Ww from this thread: http://www.traderslaboratory.com/forums/f46/wolfe-wave-indicator-needed-2686.html#post26261 with some color coding added. Just a kludge, but it does the basics. Thanks for the info; it that the IB specific version or the DDE version of MetaserverRT ? Thanks for the info, TZ. I believe IB only gives a snapshot of ticks at 10 times per second for futures data (previously about 3 times slower at 3 times per second). So they never claimed to give true tick data.
  9. IB generally has fewer bars vs a real tick feed when imported into a tick chart. May I ask you how you are importing IB data into TS2000? Is this real time?
  10. Those who frequent the TS forum would be familiar with Suri's work as demicron/surinotes and perhaps even use his HA candle stick and Zigzag indicators. This is a very good effort by the author and true to his title, the word 'pattern' appeared more than 1100 times in this book and most of them have precise objective entry and stops. Some of the less objective patterns such as Elliot waves are not as definitively covered, as expected. However, fans of the Wolfe wave should be aware that this particular pattern was somehow missing in action, although many ABC patterns are covered - even something called the 'sea-horse' reversal pattern discovered by the author in 2005. Another minor objection is that this book doesn't have an index and some subjects may be hard to find when you are trying to look up a pattern or keyword. Most students of patterns won't have this problem however, because we are likely to be mesmerized by the myriad of patterns and setups available in this book and endeavor to have them memorized by heart. Those who are not familiar with the author's work on the TS forum can go to the author's website and view some useful daily charts and patterns as studied in the book.
  11. Welcome to the forum. Thinkorswim has capable tools for options trading that can run under Linux. Investor/RT and Interactivebroker (IB) also supports Mac. There are also some open source Java trading systems, mainly for IBJsystemtrader : http://code.google.com/p/jsystemtrader/ Truetrader : http://code.google.com/p/truetrade/
  12. I hope no one got wiped out by this Ww failure this PM
  13. Here is a chart to join you companies of Ww followers and lurkers . I wonder if this is a valid setup and would a Ww taken such a trade:
  14. Good luck with your efforts in IRT. Here is an example of TS code that will do this: //A look at sector rotation, plot the nine Sector SPDRs vs base line, start at 1st of the year, changeable. INPUTS: MyDate(1070103), DataNum(9); // match this with number of Datastreams; also chart limit array set at 24 Var: Num (0); Array: CloseData[24] (0); For Num = 1 to DataNum begin If date = MyDate then CloseData[num] = Close of data(num); // assign the start date close value end; If date >= MyDate then begin plot1 (Close of Data(1)/ CloseData[1] - 1, "Clo1" , Blue ); plot2 (Close of Data(2)/ CloseData[2] - 1, "Clo2" , Cyan ); plot3 (Close of Data(3)/ CloseData[3] - 1, "Clo3" , Red ); plot4 (Close of Data(4)/ CloseData[4] - 1, "Clo4" , Green ); plot5 (Close of Data(5)/ CloseData[5] - 1, "Clo6" , DarkBlue); plot6 (Close of Data(6)/ CloseData[6] - 1, "Clo6" , Magenta ); plot7 (Close of Data(7)/ CloseData[7] - 1, "Clo7" , DarkGray); plot8 (Close of Data(8)/ CloseData[8] - 1, "Clo8" , DarkRed ); plot9 (Close of Data(9)/ CloseData[9] - 1, "Clo9" , DarkBrown); end; Sample output, top 6 symbols cut off and not shown.
  15. Don't know anything about IRT but Rebase is not a built in function or indicator in TS. If your read T Lo, : TS allows you to insert multiple symbols as datastreams into subgraphs in a chart (as data1, data2 ....) and you can calculate a new stream output for each data in the bottom subgraph using a baseline number from eg 1/1/07 in this case. It looks like that is what Rebase is: a simple indicator calculating a ratio starting in the new year of each data to the first trading day of the year, for each sector listed. If you are using IRT, you just have to find out if IRT supports inserting multiple symbols into a chart and calculate the data and output that into a subgraph or a new chart. There is no reason to do this all in one chart, it just makes it easier to see the whole picture in comparing the nine sectors listed.
  16. Yes, currently Ww2 and Ww2a do not work with TS 8.1 and above in plotting Ww, only Zz. The chart you see with Ww is Wolfe Wave 1 code from Clyde Lee as explained in the chart caption above.Import the Swing_Lee function and then create the Lee Ww indicator. The Lee Ww was once freely available as an ELA around 2001. If someone has a copy, please post it. I don't include the ELD because it is missing a function; it is just to show that the code does work.
  17. They both verified and plotted for TS8xx. These Ww code has been around for many years and some features may be absent because of the one missing function and legacy coding. The complete code should be available somewhere, but this is what I could gather with limited searching. Version 2 posted (the first code box posted above) has runtime error for referencing future data.. it has been corrected in this version below by TradeStation Securities support : //Tradestation: Wolfe Wave 2a modified by Mitch Shack of TradeStation Securities //https://www.tradestation.com/Discussions/Topic_Archive.aspx?Topic_ID=41125 [LegacyColorValue = True] INPUTS: TICKCHG(10), {Change (number of ticks) required to set up a new swing high/low.} PCTCHG(.2), {Percent change in price to set up a new swing high/low} OCCUR(1), PLOTBARS(40), ETALINE(true), ZIGZAG(TRUE); ARRAY: PBAR[50](0), P[50](0); VARS: X(0), PP(1), JA_SLOPE1(0), JLA_CTR(0), JLA_LINE(0), JAIRHBAR(0), { LAST SWING HIGH BAR} JAIRLBAR(0), {LAST SWING LOW BAR} LOWSEEK(FALSE), {LOOKING FOR A LOW OR A HIGH?} W(0), {COUNTER} JLA_IRH(0), {LAST SWING HIGH VALUE} JLA_IRL(99999), {LAST SWING LOW VALUE} JA_SLOPE2(0), JA_SLOPE3(0), JLA_PT1(0), WOLFE(0); {==================MAIN PROGRAM=========================} IF CURRENTBAR = 1 THEN P[50] = C; IF LOWSEEK = FALSE AND P[50] <= H THEN BEGIN P[50] = H; PBAR[50] = 0; END; IF LOWSEEK = TRUE AND P[50] >= L THEN BEGIN P[50] = L; PBAR[50] = 0; END; IF (LOWSEEK = FALSE AND PBAR[50] <> 0) THEN BEGIN IF (TICKCHG = 0 AND L < P[50] * ( 1 - PCTCHG / 100) ) OR (TICKCHG <> 0 AND L < ( P[50] - tickchg * minmove points)) THEN BEGIN IF ZIGZAG = TRUE THEN PLOT4[PBAR[50]](P[50],"SWINGS"); LOWSEEK = TRUE; FOR W = 1 TO 49 BEGIN PBAR[W] = PBAR[W+1]; P[W] = P[W+1]; END; P[50] = L; PBAR[50] = 0; END; END; IF (LOWSEEK = TRUE AND PBAR[50] <> 0) THEN BEGIN IF (TICKCHG = 0 AND H> P[50] * ( 1 + PCTCHG / 100)) OR (TICKCHG <> 0 AND H > (P[50] + tickchg * minmove points )) THEN BEGIN IF ZIGZAG = TRUE THEN PLOT4[PBAR[50]](P[50],"SWINGS"); LOWSEEK = FALSE; FOR W = 1 TO 49 BEGIN PBAR[W] = PBAR[W+1]; P[W] = P[W+1]; END; P[50] = H; PBAR[50] = 0; END; END; IF TIME = LASTCALCTIME AND DATE = LASTCALCDATE AND P[48 - PP] <> 0 THEN BEGIN PP = -1; WOLFE = 0; WHILE WOLFE < OCCUR AND PP < 46 BEGIN PP = PP + 1; VALUE1 = P[47-PP]; VALUE2 = P[48-PP]; VALUE3 = P[49-PP]; VALUE4 = P[50-PP]; CONDITION1 = VALUE2 > VALUE1 AND VALUE4 > VALUE3 AND VALUE4 < VALUE2 AND VALUE3 < VALUE1 AND VALUE4 > VALUE1; CONDITION2 = VALUE2 < VALUE1 AND VALUE4 < VALUE3 AND VALUE4 > VALUE2 AND VALUE3 > VALUE1 AND VALUE4 < VALUE1; IF CONDITION1 OR CONDITION2 THEN WOLFE = WOLFE + 1; END; JA_SLOPE1 = (P[49-PP] - P[47-PP]) / (PBAR[47-PP] - PBAR[49-PP]); JA_SLOPE2 = (P[50-PP] - P[47-PP]) / (PBAR[47-PP] - PBAR[50-PP]); {LINE 1-3} if PBAR[47-PP] >=0 and PBAR[49-PP] >= 0 and PBAR[49-PP]-PLOTBARS >=0 then begin VALUE90 = TL_New(DATE[PBAR[47-PP]],TIME[PBAR[47-PP]],P[47-PP ], DATE[PBAR[49-PP]], TIME[PBAR[49-PP]],P[49-PP]); Value14=TL_SetColor(VALUE90, red); {VALUE93 = TL_SetExtRight(VALUE90,TRUE);} VALUE94 = TL_SETEND(VALUE90,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-PP]-PLOTBARS], TL_GetVALUE(VALUE90,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-PP]-PLOTBARS])); // end ; {LINE 1-4} if PBAR[47-PP] >= 0 and PBAR[50-PP] >= 0 and PBAR[49-PP]-PLOTBARS >= 0 then begin VALUE91 = TL_NEW(DATE[PBAR[47-PP]],TIME[PBAR[47-PP]],P[47-PP ], DATE[PBAR[50-PP]], TIME[PBAR[50-PP]],P[50-PP]); Value14=TL_SetColor(VALUE91, green); TL_SETEND(VALUE91,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-PP]-PLOTBARS], TL_GETVALUE(VALUE91,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-PP]-PLOTBARS])); end ; if PBAR[48-PP] >=0 and PBAR[50-PP]-PLOTBARS >= 0 then begin {ETA LINE} IF ETALINE THEN BEGIN VALUE92 = TL_NEW(DATE[PBAR[48-PP]],TIME[PBAR[48-PP]],P[48-PP ], DATE[PBAR[50-PP]], TIME[PBAR[50-PP]],P[50-PP]); Value14=TL_SetColor(VALUE92, blue); TL_SETEND(VALUE92,DATE[PBAR[50-PP]-PLOTBARS],TIME[PBAR[50-PP]-PLOTBARS], TL_GETVALUE(VALUE92,DATE[PBAR[50-PP]-PLOTBARS],TIME[PBAR[50-PP] -PLOTBARS])); END; end; END; IF DATE = LASTCALCDATE AND TIME = LASTCALCTIME AND ZIGZAG = TRUE THEN BEGIN JA_SLOPE3 = (P[50] - P[49]) / (PBAR[49] - PBAR[50]); FOR JLA_CTR = PBAR[49] DOWNTO PBAR[50] BEGIN PLOT4[JLA_CTR](P[49] + (PBAR[49] - JLA_CTR) * JA_SLOPE3,"Swings"); END; END; FOR W = 1 TO 50 BEGIN PBAR[W] = PBAR[W]+1; END; Credit goes to Clyde Lee of theswingmachine for releasing the code for his Ww version show below:
  18. There are two Wolfe Wave TS code from this thread: http://www.amibrokerfan.com/forum/index.php?topic=405.msg2890 The code listing is more manageable if one uses the '#' icon in the full reply message composer. This code verifies //Tradestation: Wolfe Wave 2 //http://www.purebytes.com/archives/amibroker/2001/msg04494.html Inputs: TICKCHG(10),PCTCHG(.2),OCCUR(1),PLOTBARS(40),ETALINE(TRUE),ZIGZAG (TRUE); Array: PBAR[50](0), P[50](0); VARS: X(0),PP(1), JA_SLOPE1(0), JLA_CTR(0), JLA_LINE(0), JAIRHBAR(0),JAIRLBAR(0), LOWSEEK(FALSE), W(0), JA_SLOPE2(0), JA_SLOPE3(0), JLA_PT1(0), JLA_IRH(0), JLA_IRL(99999), WOLFE(0); IF CURRENTBAR =1 THEN P[50] = C; IF LOWSEEK = FALSE AND P[50] <= H THEN BEGIN P[50] = H; PBAR[50] = 0; END; IF LOWSEEK = TRUE AND P[50] >= L THEN BEGIN P[50] = L; PBAR[50] = 0; END; IF (LOWSEEK = FALSE AND PBAR[50] <> 0) THEN BEGIN IF (TICKCHG = 0 and L < P[50]*(1-PCTCHG/100)) OR (TICKCHG <> 0 AND L < (P[50] - TICKCHG* MINMOVE POINTS)) THEN BEGIN IF ZIGZAG = TRUE THEN PLOT4[PBAR[50]](P[50],"SWINGS"); LOWSEEK = TRUE; FOR W = 1 TO 49 BEGIN PBAR[W] = PBAR[W+1]; P[W] = P[W+1]; END; P[50] = L; PBAR[50] = 0; END; END; IF (LOWSEEK = TRUE AND PBAR[50] <> 0) THEN BEGIN IF (TICKCHG = 0 and H > P[50]*(1+PCTCHG/100)) OR (TICKCHG <> 0 AND H > (P[50] + TICKCHG* MINMOVE POINTS)) THEN BEGIN IF ZIGZAG = TRUE THEN PLOT4[PBAR[50]](P[50],"SWINGS"); LOWSEEK = FALSE; FOR W = 1 TO 49 BEGIN PBAR[W] = PBAR[W+1]; P[W] = P[W+1]; END; P[50] = H; PBAR[50] = 0; END; END; IF TIME = LASTCALCTIME AND DATE = LASTCALCDATE AND P[48 - PP] <> 0 THEN BEGIN PP =-1; WOLFE = 0; WHILE WOLFE < OCCUR AND PP < 46 BEGIN PP = PP+1; VALUE1 = P[47-PP]; VALUE2 = P[48-PP]; VALUE3 = P[49-PP]; VALUE4 = P[50-PP]; CONDITION1 = VALUE2 > VALUE1 AND VALUE4 > VALUE3 AND VALUE4 < VALUE2 AND VALUE3 < VALUE1 AND VALUE4 > VALUE1; CONDITION2 = VALUE2 < VALUE1 AND VALUE4 < VALUE3 AND VALUE4 > VALUE2 AND VALUE3 > VALUE1 AND VALUE4 < VALUE1; IF CONDITION1 OR CONDITION2 THEN WOLFE = WOLFE +1; END; JA_SLOPE1 = (P[49-PP] - P[47-PP]) / (PBAR[47-PP] - PBAR[49-PP]); JA_SLOPE2 = (P[50-PP] - P[47-PP]) / (PBAR[47-PP] - PBAR[50-PP]); {LINE 1 - 3} VALUE90= TL_New(DATE[PBAR[47-PP]],TIME[PBAR[47-PP]],P[47-PP],DATE[PBAR[49- PP]],TIME[PBAR[49-PP]],P[49-PP]); Value14 = TL_SetColor(VALUE90,5); {VALUE93 = TL_SetExtRight(VALUE90,TRUE);} Value94 = TL_SETEND(VALUE90,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-PP]- PLOTBARS],TL_GETVALUE(VALUE90,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49- PP]-PLOTBARS])); {LINE 1 - 4} VALUE91= TL_NEW(DATE[PBAR[47-PP]],TIME[PBAR[47-PP]],P[47-PP], DATE[PBAR[50-PP]],TIME[PBAR[50-PP]],P[50-PP]); Value14 = TL_SetColor(VALUE91,16); {VALUE93 = TL_SetExtRight(VALUE90,TRUE);} TL_SETEND(VALUE91,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49-PP]- PLOTBARS],TL_GETVALUE(VALUE91,DATE[PBAR[49-PP]-PLOTBARS],TIME[PBAR[49- PP]-PLOTBARS])); {ETA LINE} IF ETALINE THEN BEGIN VALUE92= TL_New(DATE[PBAR[48-PP]],TIME[PBAR[48-PP]],P[48-PP], DATE[PBAR[50-PP]],TIME[PBAR[50-PP]],P[50-PP]); Value14 = TL_SetColor(VALUE92,4); TL_SETEND(VALUE92,DATE[PBAR[50-PP]-PLOTBARS],TIME[PBAR[50-PP]- PLOTBARS],TL_GETVALUE(VALUE92,DATE[PBAR[50-PP]-PLOTBARS],TIME[PBAR[50- PP]-PLOTBARS])); END; END; IF DATE = LASTCALCDATE AND TIME = LASTCALCTIME AND ZIGZAG = TRUE THEN BEGIN JA_SLOPE3 = (P[50-PP] - P[49-PP]) / (PBAR[49-PP] - PBAR[50-PP]); FOR JLA_CTR = PBAR[49] DOWNTO PBAR[50] BEGIN PLOT4[JLA_CTR](P[49]+(PBAR[49]-JLA_CTR) * JA_SLOPE3,"SWINGS"); END; END; FOR W = 1 TO 50 BEGIN PBAR[W] = PBAR[W]+1; END; This one requires two functions: BarsToDate_Time & Swing_Lee_Simple Swing_Lee_Simple can probably be substituted with Swing_Lee //Tradestation: Wolfe Wave 1 //http://finance.groups.yahoo.com/group/amibroker/message/112236 Inputs: NBars(13), {Number of bars for Swing_Lee pivot picking } MaxBars(250); {Maximum number of bars forward to search for } {Match/Crossing of ETA lines to set end EPA } {If this is set to a very high number, the time} {to compute and plot will become excessive. } Vars: TPCount(0),Direct(0), HoldPrice(0),BarsBk(0), Slope1(0),Slope2(0), ETA1(0),ETA2(0),EPA(0), NewDate(0),NewTime(0); Arrays: TPDate[4](0),TPTime[4](0),TPBar[4](0),TPPrice[4](0),TPDirect[4](0); Direct=Swing_Lee(NBars); //Swing_Lee_Simple(NBars,False); // something about Zaf's modification ? If Sign(Direct)<>Sign(Direct[1]) then begin BarsBk=AbsValue(Direct); {Found a TurningPoing so increase count} TPCount=TPCount+1; {Save the proper price} If Direct<0 then HoldPrice=High[barsBk] else HoldPrice=Low [barsBk]; {Push the Stack} For Value1=1 to 3 begin TPDate[Value1] =TPDate[Value1+1]; TPTime[Value1] =TPTime[Value1+1]; TPBar[Value1] =TPBar[Value1+1]; TPPrice[Value1] =TPPrice[Value1+1]; TPDirect[Value1]=TPDirect[Value1+1]; End; {Save Current Data} TPDate[4] =Date[barsBk]; TPTime[4] =Time[barsBk]; TPBar[4] =CurrentBar-BarsBk; TPPrice[4] =HoldPrice; TPDirect[4]=Sign(Direct); Plot1[barsBk](HoldPrice,"TP"); If TPCount>3 then begin {If we have 4 TP's then we can look for WW} Condition1=False;Condition2=False; Slope1=(TPPrice[3]-TPPrice[1])/(TPBar[1]-TPBar[3]); Slope2=(TPPrice[4]-TPPrice[2])/(TPBar[2]-TPBar[4]); If TPDirect[1]>0 then begin {Look for Bullish WW} Condition1= TPPrice[4]>TPPrice[3] and TPPrice[4]<TPPrice[2] and TPPrice[3]<TPPrice[1] and TPPrice[4]>TPPrice[1] and Slope1 <Slope2 ; End Else Begin {Look for Bearish WW} Condition2= TPPrice[4]<TPPrice[3] and TPPrice[4]>TPPrice[2] and TPPrice[3]>TPPrice[1] and TPPrice[4]<TPPrice[1] and Slope1 >Slope2 ; End; {Plot the wave and lines if it exists} If Condition1 or Condition2 then begin ETA1=TL_NEW(TPDate[1],TPTime[1],TPPrice[1],TPDate[3],TPTime[3],TPPrice[3]); ETA2=TL_NEW(TPDate[2],TPTime[2],TPPrice[2],TPDate[4],TPTime[4],TPPrice[4]); EPA =TL_NEW(TPDate[1],TPTime[1],TPPrice[1],TPDate[4],TPTime[4],TPPrice[4]); Value5=TL_New(Date,Time,TL_GetValue(ETA1,Date,Time), Date,Time,TL_GetValue(ETA2,Date,Time)); Value1=mod(tpcount,6)+2; Value1=red; TL_SetColor(ETA1,VALUE1); TL_SetColor(ETA2,VALUE1); TL_SetColor(EPA ,VALUE1); TL_SetColor(Value5,Red); TL_SetSize(Value5,3); Value2=0; Value1=0; While Value2=0 and Value1< MaxBars begin // need function BarsToDate_Time // Value2=BarsToDate_Time(TPBar[4]-TPBar[3], Value1, NewDate, NewTime); Value3=TL_GetValue(ETA2, NewDate, NewTime)-TL_GetValue(ETA1, NewDate, NewTime); If Condition1 and Value3>0 then Value2=0; If Condition2 and Value3<0 then Value2=0; Value1=Value1+1; End; If Value2<>0 or Value1=MaxBars then begin TL_SetEnd(ETA1, NewDate, NewTime, TL_GetValue(ETA1, NewDate, NewTime)); Value7=TL_GetValue(ETA2, NewDate, NewTime); TL_SetEnd(ETA2, NewDate, NewTime, Value7); Value8=Text_New(NewDate,NewTime,Value7,"ETA"); Text_SetStyle(Value8, 0, 2); Value7=TL_GetValue(EPA , NewDate, NewTime); TL_SetEnd(EPA , NewDate, NewTime, Value7); Value8=Text_New(NewDate,NewTime,Value7,"EPA"); Text_SetStyle(Value8, 0, 2); End; End; End; End; Swing_Lee function: [LegacyColorValue = true]; {******************************************************************* Function : Swing_Lee Last Edit : 6/4/99 Provided By : Clyde Lee (c) 1997,1998,1999 Notes: Uses HighestHigh and LowestLow to determine Turning Points for Swing Analysis. Returns number of bars back to last swing point. Negative if low. Positive if high. ********************************************************************} Input: NDays(NumericSimple); Vars: HBar(0), LBar(0), MinInt(IntPortion(NDays/5+1)), Direct(0), Return(0); If NDays<>0 and CurrentBar>NDays then begin Value2=H;HBar=0; For Value1=1 to AbsValue(NDays)-1 begin If H[Value1]>Value2 then begin HBar=Value1;Value2=H[HBar]; End; End; Value2=L;LBar=0; For Value1=1 to AbsValue(NDays)-1 begin If L[Value1]<Value2 then begin LBar=Value1;Value2=L[LBar]; End; End; If Direct=0 then begin Direct=HBar-LBar; End; If Direct>0 then Return=Return+1 else Return=Return-1; If LBar<HBar and Direct>0 {and HBar-LBar>MinInt} then begin Direct=-1; Return=-HBar; End Else If HBar<LBar and Direct<0 {and LBar-HBar>MinInt} then begin Direct=+1; Return=LBar; End; End; Swing_Lee = Return;
  19. Thank you Sebastian for your analysis and Bertg for your suggestion. Sebastian's mp3 audio is fine, although it is perhaps too high a quality at 128kpbs. Camtasia, an older version 3 is available for free below. It is not pirated, just their way of getting you to try it. It allows for video and audio recording and good compression. To register for a key: http://www.techsmith.com/camtasia/pcpls.asp To download: http://download.techsmith.com/camtasiastudio/enu/312/camtasiaf.exe BTW, Sebastian, one could resize the recording window in Camtasia so that one could not see some portions of one's screen (such as one's Reuteur's Navigator account number).
  20. There are some links here to TS ELD code, some free and open, some for fee : http://www.traderslaboratory.com/forums/6/market-profile-trading-concepts-175-2.html#post12607You don't need to join a room.
  21. You don't have to look very far or be very cocky to lose when you write options, btw, all these talk of market manipulation below should be prefaced as "alleged". A lot of market makers will claim market manipulation when they lose, which they almost never do when they make money :
  22. I have no experience with Guerilla Trades, but I would avoid number 11 on that list of newsletters on TOS. Redoption is number 1 and TG is good with that. BF's avoid is number 5 on that list. BTW, Redoption is at least partially owned by TOS, so may be they are more reputable than the others, and may be that is why they are number 1 on the list
  23. How do you measure accuracy if you don't have a price? Are you predicting what the analysts are predicting? :\ More specificity would be great because readers will be less skeptical.
  24. Thanks for the info TG, I was wondering if you could provide a list or even one newsletter or service, including the fees, that you have positive experience. The difficulty for the OP would certainly be choosing the right one and factor in the fees. For example, a newsletter could charge $1000 per year, so even with 10% return in a year, with newsletter fees and commissions, you may end up with zero gain or even losses for a 10K account. The problem with TOS in my opinion is that they don't screen the list of services as far as I can see: There are other autotrading services that attempt to do some performance evaluation: eg., attaincapital or collective2 I am not going to link them because I am not really advocating either or any of these services. I am just trying to point out the pitfalls of autotrading. If the OP would like to know which TOS autotrade newsletter to avoid, please PM me.
  25. I have tried Zenfire-NT6+ with a Westell DSL modem. There are no issues. Unless you have an esoteric setup, I don't see why ZF support will tell you that it doesn't work. Try NT support, they should be better at getting you connected.NT6.5 Beta Version 3 is also released; you can download it through their support forum link. I won't post the URL here because it is a beta version and the URL is not persistent. NT is not the most stable of software and you can get program hangs (even in a middle of a trade ) and memory leaks, but it is good for what it does when it works, especially if you are mostly using it for charting.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.