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.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

feng2088

Can't Follow the Code, Please Help....

Recommended Posts

Hello , I am trying to understand these codes line by line. I spent 2 hrs try to figure out what each line does, obviously I couldn't figure out. Can someone please put comment next to each line and help me understand? I know it's a lot, but I really appreciate your help. Thanks much!

 

 

{Scalper Buys and Sells		7/18/2007
Written by Luis Gomez 
inspired by John Carters "Mastering the Trade"
This plots swing highs/lows with a strength of 2 bars on each side, on the condition that there is a
	close above/below the high/low the bar after the said swing bar......whew that's a mouthful!
}

inputs:
buyColor(white),
sellColor(yellow);


variables:
highBarsAgo(1),
possibleHighBarsAgo(1),
possibleHigh(-2), 
hightoBeat(-1),
barsSincePaint(1),
lowBarsAgo(1),
possibleLowBarsAgo(1),
possibleLow(10000001),
lowtoBeat(10000000),
triggerPriceSell(-1),
triggerPriceBuy(1000000),
trend(1),
_UP(1),
_DOWN(-1),
_ON(1), 
_OFF(-1);



if trend = _UP then begin
if swingHighBar(1,H,2,barsSincePaint+2) > -1 then begin
	possibleHighBarsAgo = swingHighBar(1,H,2,barsSincePaint+2);
	possibleHigh = H[possibleHighBarsAgo];
end;

if possibleHigh >= hightoBeat then begin
	highBarsAgo = possibleHighBarsAgo;
	hightoBeat = possibleHigh;
	triggerPriceSell = L[HighBarsAgo - 1];
end;

if C < triggerPriceSell and highest(high,highBarsAgo) < hightoBeat then begin
	//plot1[highBarsAgo](H[highBarsAgo],"",sellColor);
	Sell next bar at market;

       alert("Scalper Sell");
	trend = _DOWN;
	barsSincePaint = highBarsAgo-1;
	hightoBeat = -1;
	lowtoBeat = 10000000;
	triggerPriceBuy = 10000000;
	triggerPriceSell = -1;
	highBarsAgo = 1;
	possibleHigh = -2;
end;

end;




//***************************************************
//****** Find and plot the lowest swing low *********
//***************************************************

if trend = _DOWN then begin
if swingLowBar(1,L,2,barsSincePaint+2) > -1 then begin
	possibleLowBarsAgo = swingLowBar(1,L,2,barsSincePaint+2);
	possibleLow = L[possibleLowBarsAgo];
end;

if possibleLow <= lowtoBeat then begin
	lowBarsAgo = possibleLowBarsAgo; 
	lowtoBeat = possibleLow;
	triggerPriceBuy = H[LowBarsAgo - 1];
end;

if C > triggerPriceBuy and 
lowest(L,lowBarsAgo) > lowtoBeat then begin
	plot1[lowBarsAgo](L[lowBarsAgo],"",buyColor);
	alert("Scalper Buy");
	trend = _UP;
	barsSincePaint = lowBarsAgo-1;
	possibleLow = 10000001;
	lowtoBeat = 10000000;
	hightoBeat = -1;
	triggerPriceBuy = 10000000;
	triggerPriceSell = -1;
	lowBarsAgo = 1;
end;

end;



barsSincePaint = barsSincePaint+1;
if trend = _UP then highBarsAgo = highBarsAgo + 1;
if trend = _DOWN then lowBarsAgo = lowBarsAgo + 1;

Share this post


Link to post
Share on other sites

Yes, I do, but not too much. I don't understand how these variable are defined. I need someone to help me get started. If you can help me understand the first half of the codes, I would really appreciate it.

Share this post


Link to post
Share on other sites
Yes, I do, but not too much. I don't understand how these variable are defined. I need someone to help me get started. If you can help me understand the first half of the codes, I would really appreciate it.

 

you have to be more specific...

 

if you have problem with a section, let us know what you understood, and what you didn't.

a blanket question will get a blank stare in return. Nobody is going to spoon feed you.

Share this post


Link to post
Share on other sites

Hi Feng,

 

If you have specific questions about the code it'd be easier to answer, as the previous posts state. This appears to be Tradestation code and if you have that charting platform you could just run it and see what it does. I think it looks for lower highs to indicate that an uptrend is over and a downtrend beginning and then gives a setup to go short the market. And conversely looks for higher lows to indicate the end of a downtrend and beginning of a reversal. The variables are used to store values calculated by and used in the code. The numbers next to the variables are default values to initialize the code but will be changed as the code is executed on each price bar.

 

Not sure if this helps, if you can narrow down your question it may be easier to answer.

 

Tradestation by the way has extensive documentation about coding in their help file and in the help file reference section there's a link to downloaded their coding tutorial pdf document. You should download it and go through it as it does a great job of teaching how to program in their platform. It explains the use of inputs, variables, logic structures, etc. Some of the commands in the code are actually programmed functions and if you look their name up in the Tradestation help you'll find an explanation of what they do and how to use them.

 

Good luck in your studies.

Share this post


Link to post
Share on other sites

Hey Feng,

A few things to get you started. First either read Carter's book or google for "swing high" this is the chart pattern the code is checking for. Next, this is Easy Language from TradeStation and they do provide a lot of online documentation. This code is rather trival to understand after about 1-2 hours of studying just basic EL. If you have a desire to trade then it is best to spend the time learning what tools you have availble.

Share this post


Link to post
Share on other sites

After reviewing the code, I seriously doubt it is worth the trouble to decipher it in detail. Besides being poorly documented, it doesn't appear to have much potential for consistant profit. The difference between 'can work' and 'does work' is reliability. The reason this code if free is because that is what it is worth. Move on to something better. As a stand alone indicator this code will never increase your account balance by the end of the month.

Share this post


Link to post
Share on other sites

Thank you all for your advice. I downloaded the EasyLanguage Essentials and read some pages of it. I put some comment on a few lines but not sure if I understand the codes correctly. Can your guys please take a look? For the ones that have ?? at the end :doh:, can you please shred some lights? Thank you for your time and help. Enjoy your weekend. :)

 

 

if trend = _UP then begin
if swingHighBar(1,H,2,barsSincePaint+2) > -1 then begin  //  if this is true then 
	possibleHighBarsAgo = swingHighBar(1,H,2,barsSincePaint+2); // possibleHighBarsAgo changed from 1 to 2
	possibleHigh = H[possibleHighBarsAgo]; // possibleHigh changed from -2 to H[2] ???? (No sure)
end;

if possibleHigh >= hightoBeat then begin  //if possibleHigh is true then begin??? (No Sure)
	highBarsAgo = possibleHighBarsAgo;    // highBarsAgo = 2
	hightoBeat = possibleHigh;            //hightoBeat = H[2]
	triggerPriceSell = L[HighBarsAgo - 1]; //triggerPirceSell = L[2-1]= L[1]
end;

if C < triggerPriceSell and highest(high,highBarsAgo) < hightoBeat then begin //highest(high,2) < h[2]
	plot1[highBarsAgo](H[highBarsAgo],"",sellColor);
       alert("Scalper Sell");
	trend = _DOWN;
	barsSincePaint = highBarsAgo-1; // barsSincePaint= 1
	hightoBeat = -1;
	lowtoBeat = 10000000;
	triggerPriceBuy = 10000000;
	triggerPriceSell = -1;
	highBarsAgo = 1;
	possibleHigh = -2;
end;

chart.JPG.bc1ad3ab7cc81325cb4680a25ff182d3.JPG

Share this post


Link to post
Share on other sites

you start by cutting down to a few line of codes, run them , see the result then add back a few lines do it again and again and again.

Edited by Corey

Share this post


Link to post
Share on other sites

Hi Feng,

Do you know what the function "swingHighBar(...)" does? also you need to understand this notation "H[possibleHighBarsAgo];" spend some more time studying the code.

 

If you know what the purpose of the overall strategy is supposed to do then viewing the code is alot easier. I believe you dont understand this comment from the original code "This plots swing highs/lows with a strength of 2 bars on each side, on the condition that there is a close above/below the high/low the bar after the said swing bar......whew that's a mouthful!"

Share this post


Link to post
Share on other sites
Hello , I am trying to understand these codes line by line. I spent 2 hrs try to figure out what each line does, obviously I couldn't figure out. ...

 

spent 2 hours ???? and you expect to know it all ???

 

you can do that if you are a programmer.

try 20 hours if you are not.

Edited by Tams

Share this post


Link to post
Share on other sites
Thank you all for your advice. I downloaded the EasyLanguage Essentials and read some pages of it. I put some comment on a few lines but not sure if I understand the codes correctly. Can your guys please take a look? For the ones that have ?? at the end :doh:, can you please shred some lights? Thank you for your time and help. Enjoy your weekend. :)

...

 

get a piece of paper...

draw a flow chart as you go.

don't forget, you are dealing with a "system" here.

this is not as simple as a few sentences' worth of explanation.

but if you have patience and trace through the process,

you will find the logic is not that difficult.

Share this post


Link to post
Share on other sites

Hello Feng,

 

You do have to spend a lot more than two hours to learn EasyLanguage programming. Let me try to help you understand this code a little better.

 

First, open the Tradestation Help and in the search tab put in swingHighBar. That'll give you a page that explains what this function does exactly, and what the different input parameters mean. Essentially it'll give you the bar number for the swing high.

 

H[2] means the high of two bars ago, it does not mean that the high is 2. Numbers or variables inside square brackets tell you how many bars ago to reference.

 

Your question about the if - the code is checking if the most recent swing high is lower than the prior highest swing level, which I believe is then used by the program to determine that the uptrend is over.

 

You really need to commit to spending more time learning EasyLanguage, there are simply no shortcuts to that. And I fear you may be setting yourself up for a hard time in the markets if you think all you need is some free trading strategy and a couple of hours time to get started. Buckle down and invest the time to learn, start with the simple code examples in the Tradestation tutorials, write your own simple strategy and test it out, do some demo trading, and if after all of that you think that you have a winning strategy, then go ahead and trade real money. And be prepared to deal with losing trades because they will come and are an unavoidable element of trading.

 

Good luck in your studies.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Topics

  • Posts

    • $CTMX bottom breakout watch, third times a charm? https://stockconsultant.com/?CTMX
    • Date : 4th July 2022. Market Update – July 4 – USD & Stocks hold gains, Yields slip. USD holds around Fridays close (USDIndex 104.85), Stocks closed higher on Friday (S&P500 +1.06%) but FUTS have slipped and Yields are down again (-4.51%). Asian shares are mixed after Chinese developer Shimao defaults and Covid concerns rise again. (Hang Seng -0.30%, Nikkei +0.84%) Oil ticks higher, Gold tests $1815 & BTC tests $19k. European FUTS also mixed. Russia claims victory in “liberated” Luhansk region and accuses Ukraine of shelling Belgorod. AUD outperforms in Asian session. Week Ahead – Topped by NFP on Friday, FOMC Minutes on Wednesday and RBA rate decision tomorrow   USDIndex tested 105.36 Friday before slipping back to 104.85 now. Equities – USA500 closed +39 (3825), US500FUTS lower at 3810 now. Yields 10-year yield lower, closed down at 2.889% , trades at 2.880% now. Oil & Gold had mixed sessions – USOil has rallied to $108.70 now from $104.55 Friday. Gold spiked to $1815 earlier from a $1785 low on Friday. Bitcoin continues to trade under $20K, testing $19K today. FX Markets – EURUSD tested under 1.0400 Friday following record CPI (8.6%) now back to 1.0425, USDJPY cooled again to 134.75 on Friday back to 135. 40 now. Cable trades at 1.2110 now, from lows at 1.1975 Friday after weak PMIs. Overnight – Australian Building Approvals jumped surprisingly to 9.9% vs -2.0%. German Trade Balance, missed significantly, turning negative at -1.0b vs. 4.2b, & Swiss CPI, hotter at 0.7%. Today – EZ PPI, Speeches from ECB’s Elderson, Nagel & de Guindos, US Independence Day holiday. Biggest FX Mover @ (06:30 GMT) AUDJPY (+0.60%). AUD out performed today. Rallied from 91.40 test on Friday to 92.64 now and a key resistance. MAs aligning higher, MACD histogram negative but rising, RSI 58.3 & rising, H1 ATR 0.251, Daily ATR 1.432. Always trade with strict risk management. Your capital is the single most important aspect of your trading business. Please note that times displayed based on local time zone and are from time of writing this report. Click HERE to access the full HFM Economic calendar. Want to learn to trade and analyse the markets? Join our webinars and get analysis and trading ideas combined with better understanding on how markets work. Click HERE to register for FREE! Click HERE to READ more Market news. Stuart Cowell Head Market Analyst HFMarkets Disclaimer: This material is provided as a general marketing communication for information purposes only and does not constitute an independent investment research. Nothing in this communication contains, or should be considered as containing, an investment advice or an investment recommendation or a solicitation for the purpose of buying or selling of any financial instrument. All information provided is gathered from reputable sources and any information containing an indication of past performance is not a guarantee or reliable indicator of future performance. Users acknowledge that any investment in FX and CFDs products is characterized by a certain degree of uncertainty and that any investment of this nature involves a high level of risk for which the users are solely responsible and liable. We assume no liability for any loss arising from any investment made based on the information provided in this communication. This communication must not be reproduced or further distributed without our prior written permission.
    • Can you please suggest any safe broker to start with?
    • It can be risky or it can be safe depending on the money management rules you set. Tight stop loss like 10-20 pips will make your trading quite safe. 
    • $SEER stock bottom breakout watch above 9.48 https://stockconsultant.com/?SEER
×
×
  • Create New...

Important Information

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