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

TTM trend esignal code

Recommended Posts

I would like to know if someone can convert in TS8 code. Your reward will be good for you and the group. I check and it's maching perfectly the indicator of ttm trend. By the way it's the real code from tradethemarkets.

 

thx philloo

 

 

 

 

/********************************************************************

Title: Trend Indicator for eSignal 7.x

By: Chris D. Kryza (Divergence Software, Inc.)

Email: c.kryza@gte.net, ckryza@sr-analyst.com

Web: http://www.sr-analyst.com

Incept: 11/04/2004

Version: 1.0.0

 

 

=====================================================================

Fix History:

 

11/04/2004 - Initial Release

1.0.0

 

=====================================================================

Project Description:

 

Tradestation conversion.

 

Dislaimer: For educational purposes only! Obviously, no guarantees

whatsoever and use at your own risk.

 

**********************************************************************/

 

 

//External Variables

var grID = 0;

var nBarCounter = 0;

var aOpen = null;

var aClose = null;

var aColor = null;

var nColor = null;

var nColor_1 = null;

var nPeriod = null;

var aFPArray = new Array();

var bInitialized = false;

 

 

//== PreMain function required by eSignal to set things up

function preMain() {

var x;

 

setPriceStudy(true);

setStudyTitle("TTM-Trend");

setShowTitleParameters( false );

setColorPriceBars( true );

setDefaultPriceBarColor( Color.black );

 

//unrem this if you don't want the labels in cursor window

setShowCursorLabel(false);

 

 

 

grID = 0;

 

//initialize formula parameters

x=0;

aFPArray[x] = new FunctionParameter( "fPeriod", FunctionParameter.NUMBER);

with( aFPArray[x] ) {

setName( "Comp Bars" );

setLowerLimit( 1 );

setUpperLimit( 125 );

setDefault( 6 );

}

x++;

aFPArray[x] = new FunctionParameter( "fUpColor", FunctionParameter.COLOR);

with( aFPArray[x] ) {

setName( "Up Color" );

setDefault( Color.blue );

}

x++;

aFPArray[x] = new FunctionParameter( "fDnColor", FunctionParameter.COLOR);

with( aFPArray[x] ) {

setName( "Dn Color" );

setDefault( Color.red );

}

 

}

 

//== Main processing function

function main( fPeriod, fUpColor, fDnColor ) {

var x;

var nOpen, nClose, nHigh, nLow;

 

//script is initializing

if ( getBarState() == BARSTATE_ALLBARS ) {

return null;

}

 

if ( bInitialized == false ) {

 

nPeriod = Math.round( fPeriod );

 

aColor = new Array( nPeriod+1 );

aClose = new Array( nPeriod+1 );

aOpen = new Array( nPeriod+1 );

aClose[0] = ( open(0)+high(0)+close(0)+low(0) ) / 4;

aOpen[0] = open(0);

 

nBarCounter = 0;

 

bInitialized = true;

}

 

//called on each new bar

if ( getBarState() == BARSTATE_NEWBAR ) {

 

aOpen.pop();

aOpen.unshift(0);

aClose.pop();

aClose.unshift(0);

aColor.pop();

aColor.unshift(0);

 

nColor_1 = nColor;

 

nBarCounter++;

 

}

 

nOpen = (aOpen[1]+aClose[1])/2;

aOpen[0] = nOpen;

nClose = ( open(0)+high(0)+low(0)+close(0) ) / 4;

aClose[0] = nClose;

nHigh = Math.max( high(0), nOpen, nClose );

nLow = Math.min( low(0), nOpen, nClose );

 

if ( nClose > nOpen ) {

nColor = fUpColor;

}

else {

nColor = fDnColor;

}

 

 

 

if ( nBarCounter<=nPeriod+2 ) return;

 

x=1;

 

while ( x<=nPeriod ) {

if ( nOpen <= Math.max( aOpen[x], aClose[x] ) && nOpen >= Math.min( aOpen[x], aClose[x] ) &&

nClose <= Math.max( aOpen[x], aClose[x] ) && nClose >= Math.min( aOpen[x], aClose[x] ) ) {

nColor = aColor[x];

}

x++;

}

 

aColor[0] = nColor;

 

setPriceBarColor( nColor );

 

return( null );

 

 

}

Share this post


Link to post
Share on other sites

I'm not exactly sure what you're looking for but I have the TTM Scalper code.

 

{Scalper Buys and Sells 7/18/2007

Written by Luis Gomez

inspired by John Carters "Mastering the Trade"

}

 

 

inputs:

buyColor(cyan),

sellColor(magenta),

width(3);

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);

 

 

//***************************************************

//****** Find and plot the highest swing high *******

//***************************************************

 

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

plotpb[highBarsAgo](H[highBarsAgo],L[highBarsAgo],"",sellColor);

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

plotpb[lowBarsAgo](H[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;

setPlotWidth(1,width);

 

 

 

Haul it!

Share this post


Link to post
Share on other sites

Foe me it's working

 

/********************************************************************

Title: Trend Indicator for eSignal 7.x

By: Chris D. Kryza (Divergence Software, Inc.)

Email: c.kryza@gte.net, ckryza@sr-analyst.com

Web: http://www.sr-analyst.com

Incept: 11/04/2004

Version: 1.0.0

 

 

=====================================================================

Fix History:

 

11/04/2004 - Initial Release

1.0.0

 

=====================================================================

Project Description:

 

Tradestation conversion.

 

Dislaimer: For educational purposes only! Obviously, no guarantees

whatsoever and use at your own risk.

 

**********************************************************************/

 

 

//External Variables

var grID = 0;

var nBarCounter = 0;

var aOpen = null;

var aClose = null;

var aColor = null;

var nColor = null;

var nColor_1 = null;

var nPeriod = null;

var aFPArray = new Array();

var bInitialized = false;

 

 

//== PreMain function required by eSignal to set things up

function preMain() {

var x;

 

setPriceStudy(true);

setStudyTitle("TTM-Trend");

setShowTitleParameters( false );

setColorPriceBars( true );

setDefaultPriceBarColor( Color.black );

 

//unrem this if you don't want the labels in cursor window

setShowCursorLabel(false);

 

setProperty( "HideEncryptedLock", "yes" );

 

 

grID = 0;

 

//initialize formula parameters

x=0;

aFPArray[x] = new FunctionParameter( "fPeriod", FunctionParameter.NUMBER);

with( aFPArray[x] ) {

setName( "Comp Bars" );

setLowerLimit( 1 );

setUpperLimit( 125 );

setDefault( 5 );

}

x++;

aFPArray[x] = new FunctionParameter( "fUpColor", FunctionParameter.COLOR);

with( aFPArray[x] ) {

setName( "Up Color" );

setDefault( Color.blue );

}

x++;

aFPArray[x] = new FunctionParameter( "fDnColor", FunctionParameter.COLOR);

with( aFPArray[x] ) {

setName( "Dn Color" );

setDefault( Color.red );

}

 

}

 

//== Main processing function

function main( fPeriod, fUpColor, fDnColor ) {

var x;

var nOpen, nClose, nHigh, nLow;

 

//script is initializing

if ( getBarState() == BARSTATE_ALLBARS ) {

return null;

}

 

if ( bInitialized == false ) {

 

nPeriod = Math.round( fPeriod );

 

aColor = new Array( nPeriod+1 );

aClose = new Array( nPeriod+1 );

aOpen = new Array( nPeriod+1 );

aClose[0] = ( open(0)+high(0)+close(0)+low(0) ) / 4;

aOpen[0] = open(0);

 

nBarCounter = 0;

 

bInitialized = true;

}

 

//called on each new bar

if ( getBarState() == BARSTATE_NEWBAR ) {

 

aOpen.pop();

aOpen.unshift(0);

aClose.pop();

aClose.unshift(0);

aColor.pop();

aColor.unshift(0);

 

nColor_1 = nColor;

 

nBarCounter++;

 

}

 

nOpen = (aOpen[1]+aClose[1])/2;

aOpen[0] = nOpen;

nClose = ( open(0)+high(0)+low(0)+close(0) ) / 4;

aClose[0] = nClose;

nHigh = Math.max( high(0), nOpen, nClose );

nLow = Math.min( low(0), nOpen, nClose );

 

if ( nClose > nOpen ) {

nColor = fUpColor;

}

else {

nColor = fDnColor;

}

 

 

 

if ( nBarCounter<=nPeriod+2 ) return;

 

x=1;

 

while ( x<=nPeriod ) {

if ( nOpen <= Math.max( aOpen[x], aClose[x] ) && nOpen >= Math.min( aOpen[x], aClose[x] ) &&

nClose <= Math.max( aOpen[x], aClose[x] ) && nClose >= Math.min( aOpen[x], aClose[x] ) ) {

nColor = aColor[x];

}

x++;

}

 

aColor[0] = nColor;

 

setPriceBarColor( nColor );

 

return( null );

 

 

}

Share this post


Link to post
Share on other sites

Thanks for the post philloo,

 

You are correct I must have been making an error copy & pasting it. Yours worked fine and it was nice that I could just plug it into my formula library.

 

BennyHey

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

    • NFLX Netflix stock, with a solid top of range breakout, from Stocks to Watch at https://stockconsultant.com/?NFLX  
    • NFLX Netflix stock, with a solid top of range breakout, from Stocks to Watch at https://stockconsultant.com/?NFLX  
    • It depends. If you have lots of money that you can buy a house without a loan and if you don't have any parents to sponsor then it is a good idea. Otherwise it might be a bad idea depending where in Canada you are heading to. I earned a good middle income in my home country and I migrated to Vancouver 5 years ago at the age of 35. I had to start right from the bottom, lowest of the low.. Now i am finally earning a middle income in Canada but I still cannot afford to buy a one bedroom apartment. Having left behind friends, family and home, most of the times I think it is not worth it.   In short, do not migrate if you already have a good life in your home country and you are happy. Only migrate to Canada if you really have to leave your home country say there is a war or something really bad. Discrimination still exists here and its really tough for newcomers unless you are super rich. Good luck. David Chong, Quora  
    • This is bigger than the internet. Bigger than mobile. Bigger than social media.   While everyone was distracted by stock market fluctuations and political theater…   Most people have NO IDEA what just happened last week with ChatGPT.   Their new memory feature allows ChatGPT to remember EVERYTHING about you across all your conversations.   Think about that for a minute...   While most tech companies have been collecting mere breadcrumbs about you - your likes, your clicks, your browsing history - OpenAI is now collecting the most valuable dataset in human history: your complete psychological profile.   This is Zuckerberg x 5,000.   The more you use ChatGPT, the more it understands you, becoming a supercharged reflection of yourself that improves at an exponential rate.   Are you a regular ChatGPT user?   Consider whether it’s time to turn off the “you can train on my information” feature. To prevent your data from being used for training while still using the memory feature:   Disable Model Training: Navigate to Settings > Data Controls. Toggle off "Improve the model for everyone". Manage Memory Settings: Go to Settings > Personalization > Memory. Here, you can: Turn off memory entirely. Delete specific memories. Use Temporary Chat for sessions that won't be saved or used for training. Now the investment implications…   Why This is Bigger Than You Think Consider this: the relationship between humans and ChatGPT is evolving beyond a mere tool.   People are now treating these AI assistants as friends, confidants, and even romantic partners.   I'm not making this up - there are already documented cases of people ending real human relationships to pursue “connections” with their AI companions.   A viral Instagram meme shows a person going through life with a glowing, featureless humanoid figure - representing ChatGPT - as their companion.   The post has over 1.1 million likes and comments like "Bro ChatGPT is like my best friend. Ain't even ashamed to say it" with 25,000 likes.   But here's where things get really interesting for investors and entrepreneurs...   Three Things to Watch For starters, hardware is the next big thing for the big players.   The iPhone form factor is dead.   It hasn't meaningfully changed in nearly a decade. The next evolution in hardware will be designed specifically to interface with these AI companions.   OpenAI is already working on hardware with Johnny Ive, the legendary designer behind the iPhone and iPod. But you can’t ignore Elon Musk’s edge here.   So what does all of this mean for you?   The companies that control the personal AI relationships will be worth trillions. OpenAI and Elon Musk will have the coziest moats. We're witnessing the birth of a new internet - one built on agents that can communicate with each other across platforms. Google's new agent-to-agent protocol allows AI agents to work together without sharing internal memories or tools. The hardware companies that create the perfect interface for these AI companions will dominate the next decade of technology. And almost nobody is talking about what this means.   My prediction? Within five years, most people will have a personal AI that knows them better than anyone else. And they will interact with it in ways that seem foreign today.   (And, yes, it will almost certainly have dystopian elements.)   In the meantime, the biggest gains won’t come from household names. And, right now, James is seeing a prime opportunity to invest in the most under-the-radar plays in AI…   For dirt cheap. By Chris C. Source: https://altucherconfidential.com/posts/use-chatgpt-protect-yourself-now
    • KBH KB Home stock, nice day and rally off the 50.82 support area, from Stocks to Watch at https://stockconsultant.com/?KBH      
×
×
  • Create New...

Important Information

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