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

    • In Italy, I saw many of our brothers from different parts of Africa, sleeping and living in the park, the weather was very cold and its obvious that they were looked down upon. It made me want to cry and several questions overwhelmed my heart.   Is it not better to remain in Africa than to be homeless in this freezing cold weather?   I wish I have all the money in the world to rescue them...   Is this the reason why our skin color is looked down upon?   Do our government officials see this sight when they also travel outside of the country...does it hurt them or pain them like it pained me? By Frank Abah, Quora   Profits from free accurate cryptos signals: https://www.predictmag.com/   
    • ELV Elevance Health stock, watch for an upside gap breakout at https://stockconsultant.com/?ELV
    • ORLY OReilly Automotive stock, nice top of range breakout, from Stocks to Watch at https://stockconsultant.com/?ORLY
    • Date: 28th March 2025.   Market Selloff Deepens as Tariff Concerns Weigh on Investors     Global stock markets extended their losing streak for a third day as concerns over looming US tariffs and an escalating trade war dampened investor sentiment. The flight to safety saw gold prices surge to a record high, underscoring growing risk aversion. Stock Selloff Intensifies The MSCI World Index recorded its longest losing streak in a month, while Asian equities saw their sharpest decline since late February. US and European stock futures also signalled potential weakness, while cryptocurrency markets retreated and bond yields edged lower. Investors are scaling back their exposure ahead of President Donald Trump’s expected announcement of ‘reciprocal tariffs’ on April 2. His latest move to impose a 25% levy on all foreign-made automobiles has sparked fresh concerns over inflation and economic growth, prompting traders to reassess their strategies. Investor Strategies Shift Market experts are adjusting their portfolios in anticipation of heightened volatility. ‘It’s impossible to predict Trump’s next move,’ said Xin-Yao Ng of Aberdeen Investments. ‘Our focus is on companies that are less vulnerable to tariff policies while taking advantage of market dips to find value opportunities.’ Yield Curve Signals Economic Concerns In the bond market, the spread between 30-year and 5-year US Treasury yields widened to its highest level since early 2022. Investors are bracing for potential Federal Reserve rate cuts if economic growth slows further. Long-term Treasury yields hit a one-month peak as inflation risks tied to tariffs spurred demand for higher-yielding assets. Boston Fed President Susan Collins noted that while tariffs may contribute to short-term price increases, their long-term effects remain uncertain. Gold Hits Record High as Safe-Haven Demand Rises Amid market turbulence, gold prices soared 0.7% on Friday, reaching an all-time high of $3,077.60 per ounce. Major banks have raised their price targets for the precious metal, with Goldman Sachs now forecasting gold to hit $3,300 per ounce by year-end. Looking Ahead As investors digest economic data showing US growth acceleration in Q4, attention will turn to Friday’s release of the personal consumption expenditures (PCE) price index—the Federal Reserve’s preferred inflation measure. This data will be critical in shaping expectations for future Fed policy moves. With markets on edge and trade tensions escalating, investors will closely monitor upcoming developments, particularly Trump’s tariff announcement next week, which could further dictate market direction.   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 of how markets work. Click HERE to register for FREE!   Click HERE to READ more Market news.   Andria Pichidi 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 Leveraged 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.
    • Crypto hype is everywhere since it also making new riches as well, i however trade crypto little as compared to other forex trading pairs.
×
×
  • Create New...

Important Information

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