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.

GRANDEUR

Intraday Orders (EL)

Recommended Posts

Please, help me to code the following simple algorithm.

A new day begins. Then I want that a highest high (HH) of the day to be calculated. If a HH is created then I want to place my sell short stop next bar at X points below HH. The stop must be active till the end of the day until it's executed. An exit is at the end of the day. If the stop is not executed that day then the same condition but with new parameters takes place next day.

Here is a picture of what I'm telling about:

http://file.qip.ru/file/129903846/98832aca/Picture3.html

 

I was able to write a code that sells short only on the next bar after a HH is formed and the condition is fulfilled, but I want that my stop be active until the end of the day.

Edited by GRANDEUR

Share this post


Link to post
Share on other sites
Come on guys, there must be someone who knows the answer on my question!

 

write out your thoughts step by step,

line by line.

 

write them out one action at a time,

one action per line...

one action per line...

one action per line...

one action per line...

 

eventually you will get there.

Share this post


Link to post
Share on other sites

1. 30-min timeframe.

2. A new day begins (today).

3. If high of a bar > all previous highs of today so far then that high is 'highesthigh' (HH).

4. HH is calculated each bar during the day.

5. We place a sell short stop order at (HH - 50 points).

6. That stop must be active till the end of the day.

7. If the order is not executed next bar and a new HH is formed then we cancel the order and place a new sell short order with the parameters as in (5).

8. If the order is not executed till the end of the day then we cancel the order.

9. If the order is executed then we buy to cover at the end of the day.

10. Loop.

Share this post


Link to post
Share on other sites
....

 

I was able to write a code that sells short only on the next bar after a HH is formed and the condition is fulfilled, but I want that my stop be active until the end of the day.

 

if you don't post your work-in-progress,

are you expecting someone to do all the work for you?

Share this post


Link to post
Share on other sites

Sorry, I got it. I just edited #3 of the list above:

3.If high of a bar > all previous highs of today so far AND IT IS > (TODAY'S OPEN+100) then that high is 'highesthigh' (HH).

 

Here is what I wrote so far:

if time=0930 then value1=open;

if entriestoday(date)<1 and time>0930 and time<1630 and h>(value1+100) then value2=h;

if entriestoday(date)<1 and time>0930 and time<1630 and h>(value1+100)

then sell short next bar at (value2-50) stop;

if time>1630 then buy to cover next bar at market;

 

When I apply this code, trades are executed not at (HH-50) during the day but at (high [of the bar prior to entry]-50).

Share this post


Link to post
Share on other sites

some house keeping first:

 

1. avoid using generic variables... ie value1, value2, etc.,

always create a meaningful variable names,

because you will come back to the code 3 months from now

and you have to scratch your head wondering what value101 is about.

 

you have mention HH, why are you not using it in your code?

 

2. tag your codes, so that it is easy for everybody to read

 

tagged codes look like this:

 

// This is tagged code

if time=0930 then value1=open;
if entriestoday(date)<1 and time>0930 and time<1630 and h>(value1+100) then value2=h;
if entriestoday(date)<1 and time>0930 and time<1630 and h>(value1+100)
then sell short next bar at (value2-50) stop;
if time>1630 then buy to cover next bar at market;

Edited by Tams

Share this post


Link to post
Share on other sites
1. 30-min timeframe.

2. A new day begins (today).

3. If high of a bar > all previous highs of today so far then that high is 'highesthigh' (HH).

4. HH is calculated each bar during the day.

5. We place a sell short stop order at (HH - 50 points).

6. That stop must be active till the end of the day.

7. If the order is not executed next bar and a new HH is formed then we cancel the order and place a new sell short order with the parameters as in (5).

8. If the order is not executed till the end of the day then we cancel the order.

9. If the order is executed then we buy to cover at the end of the day.

10. Loop.

 

Sorry, I got it. I just edited #3 of the list above:

3.If high of a bar > all previous highs of today so far AND IT IS > (TODAY'S OPEN+100) then that high is 'highesthigh' (HH).

 

Here is what I wrote so far:

if time=0930 then value1=open;

if entriestoday(date)<1 and time>0930 and time<1630 and h>(value1+100) then value2=h;

if entriestoday(date)<1 and time>0930 and time<1630 and h>(value1+100)

then sell short next bar at (value2-50) stop;

if time>1630 then buy to cover next bar at market;

 

When I apply this code, trades are executed not at (HH-50) during the day but at (high [of the bar prior to entry]-50).

 

approach to coding...

 

your logic description (1st quote) should mirror the code (2nd quote),

so that you can go through the required tasks line-by-line.

Share this post


Link to post
Share on other sites
Sorry, I got it. I just edited #3 of the list above:

3.If high of a bar > all previous highs of today so far AND IT IS > (TODAY'S OPEN+100) then that high is 'highesthigh' (HH).

 

Here is what I wrote so far:

if time=0930 then value1=open;

if entriestoday(date)<1 and time>0930 and time<1630 and h>(value1+100) then value2=h;

if entriestoday(date)<1 and time>0930 and time<1630 and h>(value1+100)

then sell short next bar at (value2-50) stop;

if time>1630 then buy to cover next bar at market;

 

When I apply this code, trades are executed not at (HH-50) during the day but at (high [of the bar prior to entry]-50).

 

more housekeeping before we get into the nitty-gritty..

 

organize your thoughts/logics,

separate the "global" requirement from the detail logics

so that the code does not look crowded.

i.e. make it easy to read and debug.

 

e.g.

you can separate this requirement from the detail logics

time>0930 and time<1630

 

var:
trading.hour(false);

trading.hour = time>0930 and time<1630;

if trading.hour = true then
begin
    {--- write your codes here---}
end;

Share this post


Link to post
Share on other sites

write out your thoughts step by step,

 

Xcellent TAMS (as always) and so patient...

 

It's good 2 follow your logic process 2 built an algorytm

 

After it's a question of reading the EL manual, ain't it ?! ;)

 

rgds

Share this post


Link to post
Share on other sites
write out your thoughts step by step,

 

Xcellent TAMS (as always) and so patient...

 

It's good 2 follow your logic process 2 built an algorytm

 

After it's a question of reading the EL manual, ain't it ?! ;)

 

rgds

 

Yes... reading the manual is a must.

 

EasyLanguage has been around for ~20 years;

their manuals and tutorials are the result of years of refinement,

no other trading programming language can rival its

breadth and depth in coverage and code samples.

 

I would dare to say, practically anything that you can imagine, has been done.

It is only a matter of time to search out the fragment of code that is floating around in the ether space.

Share this post


Link to post
Share on other sites

I am also learning easy language since few days, so lets learn together

1) I think you need to write the function for new high for the day, as there is only default indicator( Not sure about TS, my platform is MC), not default function..function will be like this

variables: var0( 0 ) ; 

if BarType < 2 then begin                         
if Date <> Date[1] then
	var0 = High 
else if High > var0 then 

	var0 = High ;

	NEWHD=var0;
	end  ;

 

2)write most of the inputs when u want to use numbers within code.

So your 50 point below new high of the day will look like this

 

Inputs: filter(50),opentime(0930),closetime(1630);
vars:trigger(0),newhdShort(false) ;
trigger = newhd[1] - filter ; 
If marketposition = 0 then
begin
newhdShort =  (time > opentime and time < closetime) and high <= newhd[1] - filter ;
If newhdshort then sell short next bar at trigger stop ; 
setexitonclose ; 
end;

 

Thats the rough code i have posted, you can improvise on that as per your specific need.

Share this post


Link to post
Share on other sites

Alex, thank you for you reply!

Your approach appeals to me. I am also using MultiCharts but it fails to compile the function you wrote. The error is 'assignment is allowed only for variables or array elements' and 'NEWHD' is highlighted. Why is that? I've never created any functions, only signals. Maybe there is a mistake there.

And as for variables assignment under 'inputs', I know about that. I just wanted to write the code as small as possible not loading people with lots of words.

Share this post


Link to post
Share on other sites
Alex, thank you for you reply!

Your approach appeals to me. I am also using MultiCharts but it fails to compile the function you wrote. The error is 'assignment is allowed only for variables or array elements' and 'NEWHD' is highlighted. Why is that? I've never created any functions, only signals. Maybe there is a mistake there.

And as for variables assignment under 'inputs', I know about that. I just wanted to write the code as small as possible not loading people with lots of words.

 

in MC make a new function > give a name NEWHD > now copy pest my above posted function. It should work/ compile. Trick is giving name to the function. Later make new signal, give any name, and copy pest second code. Let me know if have any further issues.

Share this post


Link to post
Share on other sites

I am new to making functions and named the function you posted not 'NEWHD'.

Although, the code doen't work OK so far (there comes only one trade for many mounths), I hope my tuning will help. Alex, thank you so much!

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

    • Date: 22nd November 2024.   BTC flirts with $100K, Stocks higher, Eurozone PMI signals recession risk.   Asia & European Sessions:   Geopolitical risks are back in the spotlight on fears of escalation in the Ukraine-Russia after Russia reportedly used a new ICBM to retaliate against Ukraine’s use of US and UK made missiles to attack inside Russia. The markets continue to assess the election results as President-elect Trump fills in his cabinet choices, with the key Treasury Secretary spot still open. The Fed’s rate path continues to be debated with a -25 bp December cut seen as 50-50. Earnings season is coming to an end after mixed reports, though AI remains a major driver. Profit taking and rebalancing into year-end are adding to gyrations too. Wall Street rallied, led by the Dow’s 1.06% broadbased pop. The S&P500 advanced 0.53% and the NASDAQ inched up 0.03%. Asian stocks rose after  Nvidia’s rally. Nikkei added 1% to 38,415.32 after the Tokyo inflation data slowed to 2.3% in October from 2.5% in the prior month, reaching its lowest level since January. The rally was also supported by chip-related stocks tracked Nvidia. Overnight-indexed swaps indicate that it’s certain the Reserve Bank of New Zealand will cut its policy rate by 50 basis points on Nov. 27, with a 22% chance of a 75 basis points reduction. European stocks futures climbed even though German Q3 GDP growth revised down to 0.1% q/q from the 0.2% q/q reported initially. Cryptocurrency market has gained approximately $1 trillion since Trump’s victory in the Nov. 5 election. Recent announcement for the SEC boosted cryptos. Chair Gary Gensler will step down on January 20, the day Trump is set to be inaugurated. Gensler has pushed for more protections for crypto investors. MicroStrategy Inc.’s plans to accelerate purchases of the token, and the debut of options on US Bitcoin ETFs also support this rally. Trump’s transition team has begun discussions on the possibility of creating a new White House position focused on digital asset policy.     Financial Markets Performance: The US Dollar recovered overnight and closed at 107.00. Bitcoin currently at 99,300,  flirting with a run toward the 100,000 level. The EURUSD drifts below 1.05, the GBPUSD dips to June’s bottom at 1.2570, while USDJPY rebounded to 154.94. The AUDNZD spiked to 2-year highs amid speculation the RBNZ will cut the official cash rate by more than 50 bps next week. Oil surged 2.12% to $70.46. Gold spiked to 2,697 after escalation alerts between Russia and Ukraine. Heightened geopolitical tensions drove investors toward safe-haven assets. Gold has surged by 30% this year. Haven demand balanced out the pressure from a strong USD following mixed US labor data. Silver rose 0.9% to 31.38, while palladium increased by 0.9% to 1,040.85 per ounce. Platinum remained unchanged. 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 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.
    • A few trending stocks at support BAM MNKD RBBN at https://stockconsultant.com/?MNKD
    • BMBL Bumble stock watch, pull back to 7.94 support area with high trade quality at https://stockconsultant.com/?BMBL
    • LUMN Lumen Technologies stock watch, pull back to 7.43 support area with bullish indicators at https://stockconsultant.com/?LUMN
×
×
  • Create New...

Important Information

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