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.

philloo

Multi System for Universal System Dr. Clayburg

Recommended Posts

Hi

 

I would like to know if some person can program this add-on. It seem that in the past Doc have done the work. Go to this page

hxxp://www.clayburg.com/omw_abstract.html

 

It give a idea of what the paralell function work. I look at the webinar that was giving yesterday. And it's seem that doc program only the entry in the fuction and the start time end time and close time. The rest I think it's just a bluff.

 

If you look at the code it's seem not to complicate for what he is selling his stuff. Sometime, I think that they are ripping off person with the price.

thank

Share this post


Link to post
Share on other sites

It's seem we don't have a lot of people that was intested to code multi system indicator. I have a pretty nice multisystem that I develop.

 

I put for inputs:

Start_time

End_time

close_time

tickzise:put 0.5 for ES, 0.2 for TF,2 for Ym etc. I don't how I come to that conclusion but it's seem that my code miss some tick each trade. I really don't know why. I code this function with print log and I came to that conclusion. Try it, change the value and you will see that putting 2 tick in this inputs you would have pretty much what you will do in real world.

Plus, 40 inputs that you can put.

 

Warning it's doesn't replicate perflecly the universal equity curve. But very close to it. I didn't put (average,3) or limit order. Just close on this bar that it. No problem with intrabar generation in backtesting and real trade.

I have clone the universal system perfectly to compare the result of my indicator and the system. No stop loss at all, no target like the add-on of Doc, clayburg. But better equity curve indicator. Much more acurate in term of real trade and equity curve. And for nothing 0$, FREE, NADA. We will see if Doc, take my code and sell after for 4000$ each peace. :crap: HaHa I will check this in couple of week.

 

 

And If some of people on the forum want to put extra thing or fixe some bugs please please be free to do it.

 

ANd thank for you time.:crap: to read me.

 

philloo Power

 

Indicator:


inputs:Start_time(1000),End_time(1500),Close_time(1500),tick_size(0.5),B1_1(20),S1_1(14),B2_1(10),S2_1(10),B1_2(1),s1_2(1),b2_2(1),s2_2(1);
inputs:B1_3(1),s1_3(1),b2_3(1),s2_3(1),B1_4(1),s1_4(1),b2_4(1),s2_4(1),B1_5(1),s1_5(1),b2_5(1),s2_5(1),B1_6(1),s1_6(1),b2_6(1),s2_6(1),B1_7(1),s1_7(1),b2_7(1),s2_7(1);
inputs:B1_8(1),s1_8(1),b2_8(1),s2_8(1),B1_9(1),s1_9(1),b2_9(1),s2_9(1),B1_10(1),s1_10(1),b2_10(1),s2_10(1),B1_11(1),s1_11(1),b2_11(1),s2_11(1);
inputs:B1_12(1),s1_12(1),b2_12(1),s2_12(1),B1_13(1),s1_13(1),b2_13(1),s2_13(1),B1_14(1),s1_14(1),b2_14(1),s2_14(1),B1_15(1),s1_15(1),b2_15(1),s2_15(1);
inputs:B1_16(1),s1_16(1),b2_16(1),s2_16(1),B1_17(1),s1_17(1),b2_17(1),s2_17(1),B1_18(1),s1_18(1),b2_18(1),s2_18(1),B1_19(1),s1_19(1),b2_19(1),s2_19(1);
inputs:B1_20(1),s1_20(1),b2_20(1),s2_20(1),B1_21(1),s1_21(1),b2_21(1),s2_21(1),B1_22(1),s1_22(1),b2_22(1),s2_22(1),B1_23(1),s1_23(1),b2_23(1),s2_23(1);
inputs:B1_24(1),s1_24(1),b2_24(1),s2_24(1),B1_25(1),s1_25(1),b2_25(1),s2_25(1),B1_26(1),s1_26(1),b2_26(1),s2_26(1),B1_27(1),s1_27(1),b2_27(1),s2_27(1);
inputs:B1_28(1),s1_28(1),b2_28(1),s2_28(1),B1_29(1),s1_29(1),b2_29(1),s2_29(1),B1_30(1),s1_30(1),b2_30(1),s2_30(1),B1_31(1),s1_31(1),b2_31(1),s2_31(1);
inputs:B1_32(1),s1_32(1),b2_32(1),s2_32(1),B1_33(1),s1_33(1),b2_33(1),s2_33(1),B1_34(1),s1_34(1),b2_34(1),s2_34(1),B1_35(1),s1_35(1),b2_35(1),s2_35(1);
inputs:B1_36(1),s1_36(1),b2_36(1),s2_36(1),B1_37(1),s1_37(1),b2_37(1),s2_37(1),B1_38(1),s1_38(1),b2_38(1),s2_38(1),B1_39(1),s1_39(1),b2_39(1),s2_39(1);
inputs:B1_40(1),s1_40(1),b2_40(1),s2_40(1);

array: BSys[8](0),BSysT[8](0),BSys1[8](0),BSysT1[8](0),BSys2[8](0),BSysT2[8](0),BSys3[8](0),BSysT3[8](0),BSys4[8](0),BSysT4[8](0);

BSys[1]= multisystem(start_time,end_time,close_time,tick_size,B1_1,s1_1,b2_1,s2_1);
BSys[2]= multisystem(start_time,end_time,close_time,tick_size,B1_2,s1_2,b2_2,s2_2);
BSys[3]= multisystem(start_time,end_time,close_time,tick_size,B1_3,s1_3,b2_3,s2_3);
BSys[4]= multisystem(start_time,end_time,close_time,tick_size,B1_4,s1_4,b2_4,s2_4);
BSys[5]= multisystem(start_time,end_time,close_time,tick_size,B1_5,s1_5,b2_5,s2_5);
BSys[6]= multisystem(start_time,end_time,close_time,tick_size,B1_6,s1_6,b2_6,s2_6);
BSys[7]= multisystem(start_time,end_time,close_time,tick_size,B1_7,s1_7,b2_7,s2_7);
BSys[8]= multisystem(start_time,end_time,close_time,tick_size,B1_8,s1_8,b2_8,s2_8);
BSys1[1]= multisystem(start_time,end_time,close_time,tick_size,B1_9,s1_9,b2_9,s2_9);
BSys1[2]= multisystem(start_time,end_time,close_time,tick_size,B1_10,s1_10,b2_10,s2_10);
BSys1[3]= multisystem(start_time,end_time,close_time,tick_size,B1_11,s1_11,b2_11,s2_11);
BSys1[4]= multisystem(start_time,end_time,close_time,tick_size,B1_12,s1_12,b2_12,s2_12);
BSys1[5]= multisystem(start_time,end_time,close_time,tick_size,B1_13,s1_13,b2_13,s2_13);
BSys1[6]= multisystem(start_time,end_time,close_time,tick_size,B1_14,s1_14,b2_14,s2_14);
BSys1[7]= multisystem(start_time,end_time,close_time,tick_size,B1_15,s1_15,b2_15,s2_15);
BSys1[8]= multisystem(start_time,end_time,close_time,tick_size,B1_16,s1_16,b2_16,s2_16);
BSys2[1]= multisystem(start_time,end_time,close_time,tick_size,B1_17,s1_17,b2_17,s2_17);
BSys2[2]= multisystem(start_time,end_time,close_time,tick_size,B1_18,s1_18,b2_18,s2_18);
BSys2[3]= multisystem(start_time,end_time,close_time,tick_size,B1_19,s1_19,b2_19,s2_19);
BSys2[4]= multisystem(start_time,end_time,close_time,tick_size,B1_20,s1_20,b2_20,s2_20);
BSys2[5]= multisystem(start_time,end_time,close_time,tick_size,B1_21,s1_21,b2_21,s2_21);
BSys2[6]= multisystem(start_time,end_time,close_time,tick_size,B1_22,s1_22,b2_22,s2_22);
BSys2[7]= multisystem(start_time,end_time,close_time,tick_size,B1_23,s1_23,b2_23,s2_23);
BSys2[8]= multisystem(start_time,end_time,close_time,tick_size,B1_24,s1_24,b2_24,s2_24);
BSys3[1]= multisystem(start_time,end_time,close_time,tick_size,B1_25,s1_25,b2_25,s2_25);
BSys3[2]= multisystem(start_time,end_time,close_time,tick_size,B1_26,s1_26,b2_26,s2_26);
BSys3[3]= multisystem(start_time,end_time,close_time,tick_size,B1_27,s1_27,b2_27,s2_27);
BSys3[4]= multisystem(start_time,end_time,close_time,tick_size,B1_28,s1_28,b2_28,s2_28);
BSys3[5]= multisystem(start_time,end_time,close_time,tick_size,B1_29,s1_29,b2_29,s2_29);
BSys3[6]= multisystem(start_time,end_time,close_time,tick_size,B1_30,s1_30,b2_30,s2_30);
BSys3[7]= multisystem(start_time,end_time,close_time,tick_size,B1_31,s1_31,b2_31,s2_31);
BSys3[8]= multisystem(start_time,end_time,close_time,tick_size,B1_32,s1_32,b2_32,s2_32);
BSys4[1]= multisystem(start_time,end_time,close_time,tick_size,B1_33,s1_33,b2_33,s2_33);
BSys4[2]= multisystem(start_time,end_time,close_time,tick_size,B1_34,s1_34,b2_34,s2_34);
BSys4[3]= multisystem(start_time,end_time,close_time,tick_size,B1_35,s1_35,b2_35,s2_35);
BSys4[4]= multisystem(start_time,end_time,close_time,tick_size,B1_36,s1_36,b2_36,s2_36);
BSys4[5]= multisystem(start_time,end_time,close_time,tick_size,B1_37,s1_37,b2_37,s2_37);
BSys4[6]= multisystem(start_time,end_time,close_time,tick_size,B1_38,s1_38,b2_38,s2_38);
BSys4[7]= multisystem(start_time,end_time,close_time,tick_size,B1_39,s1_39,b2_39,s2_39);
BSys4[8]= multisystem(start_time,end_time,close_time,tick_size,B1_40,s1_40,b2_40,s2_40);

If BSys[1] <> BSys[1][1] then BSysT[1]  =  BSys[1];
If BSys[2] <> BSys[2][1] then BSysT[2]  =  BSys[2];
If BSys[3] <> BSys[3][1] then BSysT[3]  =  BSys[3];
If BSys[4] <> BSys[4][1] then BSysT[4]  =  BSys[4];
If BSys[5] <> BSys[5][1] then BSyst[5]  =  BSys[5];
If BSys[6] <> BSys[6][1] then BSysT[6]  =  BSys[6];
If BSys[7] <> BSys[7][1] then BSysT[7]  =  BSys[7];
If BSys[8] <> BSys[8][1] then BSysT[8]  =  BSys[8];
If BSys1[1] <> BSys1[1][1] then BSysT1[1]  =  BSys1[1];
If BSys1[2] <> BSys1[2][1] then BSysT1[2]  =  BSys1[2];
If BSys1[3] <> BSys1[3][1] then BSysT1[3]  =  BSys1[3];
If BSys1[4] <> BSys1[4][1] then BSysT1[4]  =  BSys1[4];
If BSys1[5] <> BSys1[5][1] then BSysT1[5]  =  BSys1[5];
If BSys1[6] <> BSys1[6][1] then BSysT1[6]  =  BSys1[6];
If BSys1[7] <> BSys1[7][1] then BSysT1[7]  =  BSys1[7];
If BSys1[8] <> BSys1[8][1] then BSysT1[8]  =  BSys1[8];
If BSys2[1] <> BSys2[1][1] then BSysT2[1]  =  BSys2[1];
If BSys2[2] <> BSys2[2][1] then BSysT2[2]  =  BSys2[2];
If BSys2[3] <> BSys2[3][1] then BSysT2[3]  =  BSys2[3];
If BSys2[4] <> BSys2[4][1] then BSysT2[4]  =  BSys2[4];
If BSys2[5] <> BSys2[5][1] then BSysT2[5]  =  BSys2[5];
If BSys2[6] <> BSys2[6][1] then BSysT2[6]  =  BSys2[6];
If BSys2[7] <> BSys2[7][1] then BSysT2[7]  =  BSys2[7];
If BSys2[8] <> BSys2[8][1] then BSysT2[8]  =  BSys2[8];
If BSys3[1] <> BSys3[1][1] then BSysT3[1]  =  BSys3[1];
If BSys3[2] <> BSys3[2][1] then BSysT3[2]  =  BSys3[2];
If BSys3[3] <> BSys3[3][1] then BSysT3[3]  =  BSys3[3];
If BSys3[4] <> BSys3[4][1] then BSysT3[4]  =  BSys3[4];
If BSys3[5] <> BSys3[5][1] then BSyst3[5]  =  BSys3[5];
If BSys3[6] <> BSys3[6][1] then BSysT3[6]  =  BSys3[6];
If BSys3[7] <> BSys3[7][1] then BSysT3[7]  =  BSys3[7];
If BSys3[8] <> BSys3[8][1] then BSysT3[8]  =  BSys3[8];
If BSys4[1] <> BSys4[1][1] then BSysT4[1]  =  BSys4[1];
If BSys4[2] <> BSys4[2][1] then BSysT4[2]  =  BSys4[2];
If BSys4[3] <> BSys4[3][1] then BSysT4[3]  =  BSys4[3];
If BSys4[4] <> BSys4[4][1] then BSysT4[4]  =  BSys4[4];
If BSys4[5] <> BSys4[5][1] then BSyst4[5]  =  BSys4[5];
If BSys4[6] <> BSys4[6][1] then BSysT4[6]  =  BSys4[6];
If BSys4[7] <> BSys4[7][1] then BSysT4[7]  =  BSys4[7];
If BSys4[8] <> BSys4[8][1] then BSysT4[8]  =  BSys4[8];

Plot1(BSysT[1],"BSys1");
Plot2(BSysT[2],"BSys2");
Plot3(BSysT[3],"BSys3");
Plot4(BSysT[4],"BSys4");
Plot5(BSysT[5],"BSys5");
Plot6(BSysT[6],"BSys6");
Plot7(BSysT[7],"BSys7");
Plot8(BSysT[8],"BSys8");
Plot9(BSysT1[1],"BSys9");
Plot10(BSysT1[2],"BSys10");
Plot11(BSysT1[3],"BSys11");
Plot12(BSysT1[4],"BSys12");
Plot13(BSysT1[5],"BSys13");
Plot14(BSysT1[6],"BSys14");
Plot15(BSysT1[7],"BSys15");
Plot16(BSysT1[8],"BSys16");
Plot17(BSysT2[1],"BSys17");
Plot18(BSysT2[2],"BSys18");
Plot19(BSysT2[3],"BSys19");
Plot20(BSysT2[4],"BSys20");
Plot21(BSysT2[5],"BSys21");
Plot22(BSysT2[6],"BSys22");
Plot23(BSysT2[7],"BSys23");
Plot24(BSysT2[8],"BSys24");
Plot25(BSysT3[1],"BSys25");
Plot26(BSysT3[2],"BSys26");
Plot27(BSysT3[3],"BSys27");
Plot28(BSysT3[4],"BSys28");
Plot29(BSysT3[5],"BSys29");
Plot30(BSysT3[6],"BSys30");
Plot31(BSysT3[7],"BSys31");
Plot32(BSysT3[8],"BSys32");
Plot33(BSysT4[1],"BSys33");
Plot34(BSysT4[2],"BSys34");
Plot35(BSysT4[3],"BSys35");
Plot36(BSysT4[4],"BSys36");
Plot37(BSysT4[5],"BSys37");
Plot38(BSysT4[6],"BSys38");
Plot39(BSysT4[7],"BSys39");
Plot40(BSysT4[8],"BSys40");

 

function:multisystem

 

Inputs: Start_time(numeric),End_time(Numeric),Close_time(numeric),Tick_size(numeric),B1(numericsimple),s1(numericsimple),b2(numericsimple),S2(numericsimple);

variables: var1(false),ttl(false),tts(false),bpt1(0),bpt2(0);
variables: profitl(0),profittotal(0),profits(0);

if TIME >= Start_time AND TIME <= end_time then var1 = TRUE ;
if TIME < Start_time OR TIME > end_time then var1 = FALSE ;
if TIME >= close_time then var1 = FALSE ;

if DATE <> DATE[1] then 
begin
value1=0;
ttl=false;
tts=false;
bpt1=0;
bpt2=0;
profitl=0;
profits=0;
profittotal=0;
end;

condition1= (Momentum (CLOSE, B1) > 0 AND RSI (CLOSE, b2) CROSS UNDER 60) ;
condition2= (Momentum (CLOSE, s1) < 0 AND RSI (CLOSE, S2) CROSS OVER 40) ;

If condition1=true then begin 
If var1=true then
begin

ttl=true;
tts=false;
end;
end;


If condition2=true then begin 
If var1=true then
begin
tts=true;
ttl=false;
end;
end;




If  ttl=true and ttl[1]=false then
begin
bpt1=close-profits[1]-tick_size;
end;

If  tts=true and tts[1]  =false then
begin
bpt2=close+profitl[1]+tick_size;
end;

If tts=true  then
begin
profits=bpt2-close;
profitl=0;
end;

If ttl=true  then
begin
profitl=close-bpt1;
profits=0;
end;

If var1=true then
begin
profittotal=profits+profitl;
end;

value1=profittotal;
multisystem=value1;

picture7.thumb.png.5ba807e9d7286d583d3334373113d275.png

multisystem.pla

Share this post


Link to post
Share on other sites

Thank in advanced who will comment on my code. Here the code that will let you put the price on the chart. Warning the line Text_Setsize function doesn't work in tradestation. Too bad for tradestation.

 

if Var2=1 AND Var2[1] <> 1 THEN begin

Signal_long = Text_New (Date, Time, Low * text_offset_buy, numtostr( entryprice, text_digits)); 
Text_SetColor(Signal_long,cyan);
Text_SetSize(Signal_long,14);
end;

if Var2=0 AND Var2[1] = 1 THEN begin
Signal_close = Text_New(Date, Time, high * text_offset_sell, numtostr( exitprice(1), text_digits));
Text_SetColor(Signal_close,yellow);
Text_SetSize(Signal_close,14);
end;


if Var2=-1 AND Var2[1] <>-1  THEN
begin 
Signal_short = Text_New(Date, Time, Low * text_offset_buy, numtostr( entryprice, text_digits)); 
Text_SetColor(Signal_short,red);
Text_SetSize(Signal_short,14);
end;

if Var2=0 AND Var2[1] =- 1 THEN begin
Signal_close = Text_New(Date, Time, high * text_offset_sell, numtostr( exitprice(1), text_digits));
Text_SetColor(Signal_close,yellow);
Text_SetSize(Signal_close,14);
end;

Share this post


Link to post
Share on other sites

I forgot to put the variables on the other post. The code must be put after the target reach. No aaa, I cannot post all what I have. I was generous to give something in retrun. Because some people inspired me and I was thinking to regive back a little bit.

 

After the line Buytocover or sell next bar, you have to put the code after

 

If mp=-1 then

begin

buytocover orSell next bar

end;

 

Now you put the code there.

 

VAriables: text_offset_buy (0.9985), text_offset_sell (1.0015), text_digits(4),Signal_long(0),Signal_close(0),Signal_short(0);




if Var2=1 AND Var2[1] <> 1 THEN begin

Signal_long = Text_New (Date, Time, Low * text_offset_buy, numtostr( entryprice, text_digits)); 
Text_SetColor(Signal_long,cyan);
Text_SetSize(Signal_long,14);
end;

if Var2=0 AND Var2[1] = 1 THEN begin
Signal_close = Text_New(Date, Time, high * text_offset_sell, numtostr( exitprice(1), text_digits));
Text_SetColor(Signal_close,yellow);
Text_SetSize(Signal_close,14);
end;


if Var2=-1 AND Var2[1] <>-1  THEN
begin 
Signal_short = Text_New(Date, Time, Low * text_offset_buy, numtostr( entryprice, text_digits)); 
Text_SetColor(Signal_short,red);
Text_SetSize(Signal_short,14);
end;

if Var2=0 AND Var2[1] =- 1 THEN begin
Signal_close = Text_New(Date, Time, high * text_offset_sell, numtostr( exitprice(1), text_digits));
Text_SetColor(Signal_close,yellow);
Text_SetSize(Signal_close,14);
end;

Edited by philloo
miss code

Share this post


Link to post
Share on other sites

I'm very intrigued by the Universal System concept. Does anyone have EasyLanguage code or an ELD for it so I can experiment with it on different instruments and intervals. MultiCharts code would be fantastic too. Let's restart the dialogue on this thread. Thanks for the input so far...

Share this post


Link to post
Share on other sites
I'm very intrigued by the Universal System concept. Does anyone have EasyLanguage code or an ELD for it so I can experiment with it on different instruments and intervals. MultiCharts code would be fantastic too. Let's restart the dialogue on this thread. Thanks for the input so far...

 

The Universal System is not much of a trading system. I've experimented with it. You have to optimize it for a market and timeframe, then re optimize every so often. I would say, don't waste your time.

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.


×
×
  • Create New...

Important Information

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