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

    • How's about other crypto exchanges? Are all they banned in your country or only Binance?
    • Be careful who you blame.   I can tell you one thing for sure.   Effective traders don’t blame others when things start to go wrong.   You can hang onto your tendency to play the victim, or the martyr… but if you want to achieve in trading, you have to be prepared to take responsibility.   People assign reasons to outcomes, whether based on internal or external factors.   When traders face losses, it's common for them to blame bad luck, poor advice, or other external factors, rather than reflecting on their own personal attributes like arrogance, fear, or greed.   This is a challenging lesson to grasp in your trading journey, but one that holds immense value.   This is called attribution theory. Taking responsibility for your actions is the key to improving your trading skills. Pause and ask yourself - What role did I play in my financial decisions?   After all, you were the one who listened to that source, and decided to act on that trade based on the rumour. Attributing results solely to external circumstances is what is known as having an ‘external locus of control’.   It's a concept coined by psychologist Julian Rotter in 1954. A trader with an external locus of control might say, "I made a profit because the markets are currently favourable."   Instead, strive to develop an "internal locus of control" and take ownership of your actions.   Assume that all trading results are within your realm of responsibility and actively seek ways to improve your own behaviour.   This is the fastest route to enhancing your trading abilities. A trader with an internal locus of control might proudly state, "My equity curve is rising because I am a disciplined trader who faithfully follows my trading plan." Author: Louise Bedford Source: https://www.tradinggame.com.au/
    • SELF IMPROVEMENT.   The whole self-help industry began when Dale Carnegie published How to Win Friends and Influence People in 1936. Then came other classics like Think And Grow Rich by Napoleon Hill, Awaken the Giant Within by Tony Robbins toward the end of the century.   Today, teaching people how to improve themselves is a business. A pure ruthless business where some people sell utter bullshit.   There are broke Instagrammers and YouTubers with literally no solid background teaching men how to be attractive to women, how to begin a start-up, how to become successful — most of these guys speaking nothing more than hollow motivational words and cliche stuff. They waste your time. Some of these people who present themselves as hugely successful also give talks and write books.   There are so many books on financial advice, self-improvement, love, etc and some people actually try to read them. They are a waste of time, mostly.   When you start reading a dozen books on finance you realize that they all say the same stuff.   You are not going to live forever in the learning phase. Don't procrastinate by reading bull-shit or the same good knowledge in 10 books. What we ought to do is choose wisely.   Yes. A good book can change your life, given you do what it asks you to do.   All the books I have named up to now are worthy of reading. Tim Ferriss, Simon Sinek, Robert Greene — these guys are worthy of reading. These guys teach what others don't. Their books are unique and actually, come from relevant and successful people.   When Richard Branson writes a book about entrepreneurship, go read it. Every line in that book is said by one of the greatest entrepreneurs of our time.   When a Chinese millionaire( he claims to be) Youtuber who releases a video titled “Why reading books keeps you broke” and a year later another one “My recommendation of books for grand success” you should be wise to tell him to jump from Victoria Falls.   These self-improvement gurus sell you delusions.   They say they have those little tricks that only they know that if you use, everything in your life will be perfect. Those little tricks. We are just “making of a to-do-list before sleeping” away from becoming the next Bill Gates.   There are no little tricks.   There is no success-mantra.   Self-improvement is a trap for 99% of the people. You can't do that unless you are very, very strong.   If you are looking for easy ways, you will only keep wasting your time forgetting that your time on this planet is limited, as alive humans that is.   Also, I feel that people who claim to read like a book a day or promote it are idiots. You retain nothing. When you do read a good book, you read slow, sometimes a whole paragraph, again and again, dwelling on it, trying to internalize its knowledge. You try to understand. You think. It takes time.   It's better to read a good book 10 times than 1000 stupid ones.   So be choosy. Read from the guys who actually know something, not some wannabe ‘influencers’.   Edit: Think And Grow Rich was written as a result of a project assigned to Napoleon Hill by Andrew Carnegie(the 2nd richest man in recent history). He was asked to study the most successful people on the planet and document which characteristics made them great. He did extensive work in studying hundreds of the most successful people of that time. The result was that little book.   Nowadays some people just study Instagram algorithms and think of themselves as a Dale Carnegie or Anthony Robbins. By Nupur Nishant, Quora Profits from free accurate cryptos signals: https://www.predictmag.com/    
    • there is no avoiding loses to be honest, its just how the market is. you win some and hopefully more, but u do lose some. 
    • $CSCO Cisco Systems stock, nice top of range breakout, from Stocks to Watch at https://stockconsultant.com/?CSCOSEPN Septerna stock watch for a bottom breakout, good upside price gap
×
×
  • Create New...

Important Information

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