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

    • CVNA Carvana stock, nice top of range breakout at https://stockconsultant.com/?CVNA
    • GDRX GoodRx stock, good day, watch for a bottom range breakout at https://stockconsultant.com/?GDRX
    • Date: 14th February 2025.   Can The NASDAQ Maintain Momentum at Key Resistance Level?     The price of the NASDAQ throughout the week rose more than 3.00% to bring the price back up to the instrument’s resistance level. However, while taking into consideration higher inflation, tariffs and the resistance level, could the index maintain momentum?   US Inflation Rises For a 4th Consecutive Month The US Consumer Price Index, or inflation, rose for a 4th consecutive month taking the rate even further away from the Federal Reserve’s target. Analysts were expecting the US inflation rate to remain unchanged at 2.9%. However, consumer inflation rose to 3.00%, the highest since July 2024, while Producer inflation rose to 3.5%. Higher inflation traditionally triggers lower sentiment towards the stock market as investors' risk appetite falls and they prefer the US Dollar. However, on this occasion bullish volatility rose. For this reason, some traders may be considering if the price is overbought in the short term.   Addressing these statistics, US Federal Reserve Chair Jerome Powell acknowledged that the Fed has yet to achieve its goal of curbing inflation, adding further hawkish signals regarding the monetary policy. Other members of the FOMC also share this view. Today, Raphael Bostic, President of the Federal Reserve Bank of Atlanta, stated that the Fed is unlikely to implement interest rate cuts in the near future. This is due to ongoing economic uncertainty following the introduction of trade tariffs on imported goods and other policies from the Republican-led White House.   Most of the Federal Open Market Committee emphasizes additional time is needed to fully assess the situation. According to the Chicago Exchange FedWatch Tool, interest rate cuts may not start until September 2025.   What’s Driving The NASDAQ Higher? Earnings data this week has continued to support the NASDAQ. Early this morning Airbnb made public their quarterly earnings report whereby they beat both earnings per share and revenue expectations. The Earnings Per Share read 25% higher than expectations and Revenue was more than 2% higher. As a result, the stock rose more than 14%. Another company this week that made public positive earnings data is Cisco which rose by more than 2% on Thursday. Another positive factor continues to be the positive employment data. Even though the positive employment data can push back interest rate cuts, the stability in the short term continues to serve the interests of higher consumer demand. The US Unemployment Rate fell to 4.00% the lowest in 8 months. Lastly, investors are also increasing their exposure to the index due to sellers not being able to maintain control or momentum. Some economists also increase their confidence in economic growth if Trump can obtain a positive outcome from the Ukraine-Russia negotiations.   However, during Friday’s pre-US session trading, 80% of the most influential stocks are witnessing a decline. The NASDAQ itself is trading more or less unchanged. Therefore, the question again arises as to whether the NASDAQ can maintain momentum above this area.   NASDAQ - News and Technical analysis In terms of technical analysis, the NASDAQ is largely witnessing mainly bullish indications on the 2-hour chart. However, the main concern for traders is the resistance level at $21,960. On the 5-minute timeframe, the price is mainly experiencing bearish signals as the price moves below the 200-period simple moving average.   The VIX, which is largely used as a risk indicator, is currently trading 0.75% higher which indicates a lower risk appetite. In addition to this, bond yields trade 6 points higher. If both the VIX and Bond yields rise further, further pressure may be witnessed for index traders.   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.   Michalis Efthymiou 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.
    • LUNR Intuitive Machines stock watch, attempting to move higher off 18.64 support, target 26 area at https://stockconsultant.com/?LUNR
    • CNXC Concentrix stock watch, pullback to 47.16 triple support area with bullish indicators at https://stockconsultant.com/?CNXC
×
×
  • Create New...

Important Information

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