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

    • ...hallucinates.... Student: “What if we gave the monkey LSD?” Guru: “The monkey already did LSD”
    • Question: To those that had/have cancer, what were the signs that made you think “something is not right here” to make you go see a doctor? Answer: So, 5/25/2018, I woke up, got ready for work, and as I walked to my car, I started gagging. Like something was stuck in my throat and I needed to clear it. And then it went away.   But 10 minutes after that, I was T-boned at 40mph on the driver side door. But what made me see a doctor was while my muscles felt better and bruises were going away, the gagging still continued, I started having fevers, my neck felt swollen, I was having such a hard time breathing, and I'd have random sharp pains in my chest, but not from where the seat belt saved me.   2 weeks after the accident, I finally see an urgent care doctor, who looks me over, tells me I'm fine, but luckily requests a neck X-ray. And I ask for a chest X-ray, which he rolls his eyes but let me have (most of my pain was in the neck, so I understand).   The very next day, he calls and says “So, that chest X-ray shows there's a 4 inch mass on your heart and lungs, and your lungs have been filling up with fluid, as well as in your pericardial (heart) wall. We need you to come in tomorrow.”   Turns out the big mass, due to the accident, caused my heart and lungs to tear and fill with fluid, the swollen neck and gagging was caused by 2 metastasized tumors, and the fevers and weight loss were symptoms. Stage 4b Hodgkin's Lymphoma.   But thankfully, we went very aggressive with chemo (and had a lot of bad side effects that don't normally happen to patients), and now I'm about 16 months cancer-free. Yay lucky X-rays! Rachel Jurina, Quora Source: https://www.quora.com/To-those-that-had-have-cancer-what-were-the-signs-that-made-you-think-something-is-not-right-here-to-make-you-go-see-a-doctor   Profits from free accurate cryptos signals: https://www.predictmag.com/  
    • As a man, the reality of life is the harshest part. I don’t mind looking older or becoming weaker over time; it’s nature.   Have you ever heard that the only people who will be loved unconditionally are women and children? Men will only be loved as long as they can provide until they are no longer needed. It doesn’t matter if you already did your best to get your kids to the best school or get the best things for them, if you stop before they’re done with it, there will be no thank you. The only thing they will remember is that they have to quit school at 15, ignoring all the previous 15 years of life you provided for them. The only people who will accept you, no matter what, are your parents. But in this situation, you might be that ungrateful child.   EDIT: Wow, I didn’t think this would get so much attention.   For those who disagree, I can only say that everyone has their problem. If you don’t get the chance to face such a thing, be grateful. Remember, sometimes what you throw in the garbage is something that someone wishes ever to have.” – ElZee, Quora   Profits from free accurate cryptos signals: https://www.predictmag.com/    
    • The good thing i had noticed so far is that the traderpot value is also on the rise..
    • yup its a gradual rollout the right way in my opinion, its really good and its exciting for the sto in 2027
×
×
  • Create New...

Important Information

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