Thinkscript to EasyLanguage - futures io
futures io futures trading



Thinkscript to EasyLanguage


Discussion in TradeStation

Updated by StockT8er
      Top Posters
    1. looks_one StockT8er with 12 posts (0 thanks)
    2. looks_two mntman with 7 posts (4 thanks)
    3. looks_3 markmanu with 4 posts (1 thanks)
    4. looks_4 kjhosken with 3 posts (0 thanks)
    1. trending_up 3,120 views
    2. thumb_up 6 thanks given
    3. group 11 followers
    1. forum 32 replies
    2. attach_file 3 attachments




Welcome to futures io: the largest futures trading community on the planet, with well over 100,000 members
  • Genuine reviews from real traders, not fake reviews from stealth vendors
  • Quality education from leading professional traders
  • We are a friendly, helpful, and positive community
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts
  • We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community.  It's free and simple.

-- Big Mike, Site Administrator

(If you already have an account, login at the top of the page)

 
Search this Thread
 

Thinkscript to EasyLanguage

(login for full post details)
  #1 (permalink)
Kansas
 
 
Posts: 6 since Dec 2018
Thanks: 0 given, 1 received

I'm a trainer and it's a bit complicated for me to convert this thinkscript code to easy language.
Can anyone please help me? Many thanks



declare upper;

input avglength = 14;
input MTaverageType = AverageType.WILDERS;
input ATRLength = 5;
input MTprice = hlc3;
input MTreversalMode = {default ATRpercent, price};
input MTreversalAmount = .5;

##DayATR Value Calculation
def highPrice = FundamentalType.high;
def closePrice = FundamentalType.close;
def lowPrice = FundamentalType.low;
def aggregationPeriod = AggregationPeriod.DAY;
rec AvgTrueRange = MovingAverage(AverageType.SIMPLE, TrueRange(Fundamental (highPrice, period = AggregationPeriod.Day), Fundamental (closePrice, period = AggregationPeriod.DAY), Fundamental (lowPrice, period = AggregationPeriod.DAY) ),ATRlength);

##############
##ATR percent conversion calculation
rec DayATRReversalValue = MTreversalAmount*(AvgTrueRange/close)*100;

def mode = if MTreversalMode == MTreversalMode.price then ZigZagTrendSign(price = MTprice, reversalAmount=MTreversalAmount) else ZigZagTrendPercent(price = MTprice, reversalAmount=DayATRReversalValue);
def MTinflection = if MTreversalMode == MTreversalMode.price then if !isNan(ZigZagSign(price = MTprice, reversalAmount=MTreversalAmount)) then 1 else 0 else if !isNan(ZigZagPercent(price = MTprice, reversalAmount=DayATRReversalValue)) then 1 else 0;
rec MTtrend = if MTinflection==1 and mode ==-1 then 1 else if MTinflection==1 and mode==1 then -1 else MTtrend[1];

rec MTupWaveVolume = if MTinflection==1 and MTtrend==1 and close>open then volume else if MTinflection==1 and MTtrend==1 and close <= open then 0 else if MTtrend==1 or (MTinflection==1 and MTtrend ==-1 and close>=open) then MTupWaveVolume[1]+volume else 0;
rec MTdownWaveVolume = if MTinflection==1 and MTtrend ==-1 and close<open then volume else if MTinflection==1 and MTtrend ==-1 and close>=open then 0 else if MTtrend==-1 or (MTinflection==1 and MTtrend==1 and close <= open) then MTdownWaveVolume[1]+volume else 0;



plot BuySignal = MTinflection[1] and MTdownwavevolume[2] > 0;
BuySignal.SetDefaultColor(Color.Cyan);
BuySignal.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
BuySignal.SetLineWeight(4);

plot SellSignal = MTinflection[1] and MTupwavevolume[2] > 0;
SellSignal.SetDefaultColor(Color.Magenta);
SellSignal.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
SellSignal.SetLineWeight(4);

####################
##volume label add-on

##input MTVolumeAudible_Alert = yes;
def MTVolumeDeviation_Length = 60;
def MTVolumeDeviate = 2;
def MTvolumestdevlength = RelativeVolumeStDev(length = MTvolumeDeviation_Length);
def abovedev = MTvolumestdevlength >= MTvolumeDeviate;
def belowdev = MTvolumestdevlength <= MTvolumeDeviate;


def MTvolumeincrease = volume > volume[1];
def MTvolumedevincrease = MTvolumeincrease and abovedev;
def MTvolumedecrease = volume < volume[1];
def MTvolumedevdecrease = MTvolumedecrease and abovedev;

def O = open;
def H = high;
def C = close;
def L = low;
def V = volume;
def MTvolumeBuying = V * (C - L) / (H - L);
def MTvolumeSelling = V * (H - C) / (H - L);


input Show_Labels = yes;
AddLabel(Show_Labels, "Buy Vol = " + Round(MTvolumeBuying, 0), if MTvolumeBuying > MTvolumeSelling then color.green else color.red);
AddLabel(Show_Labels, "Sell Vol = " + Round(MTvolumeSelling, 0), if MTvolumeSelling > MTvolumeBuying then color.green else color.red);

Reply With Quote
The following user says Thank You to markmanu for this post:

Can you help answer these questions
from other members on futures io?
Atm strategy help
NinjaTrader
GBP/ARS Pair
Traders Hideout
Where is the link to download GomiRecorder?
NinjaTrader
Need a near crosses scan help for TOS
ThinkOrSwim
Looking freelancer for MT4 Indicator
Platforms and Indicators
 
Best Threads (Most Thanked)
in the last 7 days on futures io
Legal question and need desperate help
91 thanks
Building a high-performance data system
15 thanks
FIO Journal Challenge - June 2020 w/SharkIndicators
13 thanks
VWAP for stock index futures trading?
11 thanks
Risk reward question
11 thanks
 
(login for full post details)
  #2 (permalink)
Legendary Market Wizard
Portland, OR
 
Experience: None
 
Massive l's Avatar
 
Posts: 1,905 since Mar 2011
Thanks: 1,514 given, 3,676 received

I don't use easy language but this looks like a really neat script. Do you currently use it in your trading plan?

Reply With Quote
 
(login for full post details)
  #3 (permalink)
Kansas
 
 
Posts: 6 since Dec 2018
Thanks: 0 given, 1 received



Massive l View Post
I don't use easy language but this looks like a really neat script. Do you currently use it in your trading plan?

Thanks for your reply.
This is studies from thinkorswim. And I want to convert these indicators for using on tradestation.
Do you have any ideas to convert it?

Reply With Quote
 
(login for full post details)
  #4 (permalink)
Kansas
 
 
Posts: 6 since Dec 2018
Thanks: 0 given, 1 received

Is there anyone who can help me to convert this code?
Please do not hesitate to give me any opinion you have, thanks

Reply With Quote
 
(login for full post details)
  #5 (permalink)
Phuket
 
 
Posts: 1 since Dec 2018
Thanks: 0 given, 0 received


markmanu View Post
I'm a trainer and it's a bit complicated for me to convert this thinkscript code to easy language.
Can anyone please help me? Many thanks



declare upper;

input avglength = 14;
input MTaverageType = AverageType.WILDERS;
input ATRLength = 5;
input MTprice = hlc3;
input MTreversalMode = {default ATRpercent, price};
input MTreversalAmount = .5;

##DayATR Value Calculation
def highPrice = FundamentalType.high;
def closePrice = FundamentalType.close;
def lowPrice = FundamentalType.low;
def aggregationPeriod = AggregationPeriod.DAY;
rec AvgTrueRange = MovingAverage(AverageType.SIMPLE, TrueRange(Fundamental (highPrice, period = AggregationPeriod.Day), Fundamental (closePrice, period = AggregationPeriod.DAY), Fundamental (lowPrice, period = AggregationPeriod.DAY) ),ATRlength);

##############
##ATR percent conversion calculation
rec DayATRReversalValue = MTreversalAmount*(AvgTrueRange/close)*100;

def mode = if MTreversalMode == MTreversalMode.price then ZigZagTrendSign(price = MTprice, reversalAmount=MTreversalAmount) else ZigZagTrendPercent(price = MTprice, reversalAmount=DayATRReversalValue);
def MTinflection = if MTreversalMode == MTreversalMode.price then if !isNan(ZigZagSign(price = MTprice, reversalAmount=MTreversalAmount)) then 1 else 0 else if !isNan(ZigZagPercent(price = MTprice, reversalAmount=DayATRReversalValue)) then 1 else 0;
rec MTtrend = if MTinflection==1 and mode ==-1 then 1 else if MTinflection==1 and mode==1 then -1 else MTtrend[1];

rec MTupWaveVolume = if MTinflection==1 and MTtrend==1 and close>open then volume else if MTinflection==1 and MTtrend==1 and close <= open then 0 else if MTtrend==1 or (MTinflection==1 and MTtrend ==-1 and close>=open) then MTupWaveVolume[1]+volume else 0;
rec MTdownWaveVolume = if MTinflection==1 and MTtrend ==-1 and close<open then volume else if MTinflection==1 and MTtrend ==-1 and close>=open then 0 else if MTtrend==-1 or (MTinflection==1 and MTtrend==1 and close <= open) then MTdownWaveVolume[1]+volume else 0;



plot BuySignal = MTinflection[1] and MTdownwavevolume[2] > 0;
BuySignal.SetDefaultColor(Color.Cyan);
BuySignal.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
BuySignal.SetLineWeight(4);

plot SellSignal = MTinflection[1] and MTupwavevolume[2] > 0;
SellSignal.SetDefaultColor(Color.Magenta);
SellSignal.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
SellSignal.SetLineWeight(4);

####################
##volume label add-on

##input MTVolumeAudible_Alert = yes;
def MTVolumeDeviation_Length = 60;
def MTVolumeDeviate = 2;
def MTvolumestdevlength = RelativeVolumeStDev(length = MTvolumeDeviation_Length);
def abovedev = MTvolumestdevlength >= MTvolumeDeviate;
def belowdev = MTvolumestdevlength <= MTvolumeDeviate;


def MTvolumeincrease = volume > volume[1];
def MTvolumedevincrease = MTvolumeincrease and abovedev;
def MTvolumedecrease = volume < volume[1];
def MTvolumedevdecrease = MTvolumedecrease and abovedev;

def O = open;
def H = high;
def C = close;
def L = low;
def V = volume;
def MTvolumeBuying = V * (C - L) / (H - L);
def MTvolumeSelling = V * (H - C) / (H - L);


input Show_Labels = yes;
AddLabel(Show_Labels, "Buy Vol = " + Round(MTvolumeBuying, 0), if MTvolumeBuying > MTvolumeSelling then color.green else color.red);
AddLabel(Show_Labels, "Sell Vol = " + Round(MTvolumeSelling, 0), if MTvolumeSelling > MTvolumeBuying then color.green else color.red);

Hi, it is programmer from freelancer, please contact me, I converted the indicator

Reply With Quote
 
(login for full post details)
  #6 (permalink)
Kansas
 
 
Posts: 6 since Dec 2018
Thanks: 0 given, 1 received


fxprogrammer View Post
Hi, it is programmer from freelancer, please contact me, I converted the indicator

Hi fxprogrammer, thanks for your reply. Can you please show me how you converted the indicator?

Reply With Quote
 
(login for full post details)
  #7 (permalink)
Los Angeles + CA/USA
 
 
Posts: 1 since Jan 2019
Thanks: 1 given, 0 received

What does this strategy do? I code a little bit in EasyLanguage but haven't picked it apart yet.

It looks good on the 5-minute visual test but have you backtested it? TradingView is an easy way to backtest a rough draft.

I am discretionary but have been looking at systematic.

Reply With Quote
 
(login for full post details)
  #8 (permalink)
Seattle, WA/USA
 
Experience: Intermediate
Platform: TOS, TS
Trading: Forex, crude
 
Posts: 80 since Sep 2016
Thanks: 7 given, 27 received

Do you mind posting a picture of what it's supposed to look like? If so I can try to figure it out over the next couple days

Follow me on Twitter Reply With Quote
 
(login for full post details)
  #9 (permalink)
Houston+TX/USA
 
Experience: Intermediate
Platform: TradeStation, ThinkorSwim
Trading: ES, CL
 
mntman's Avatar
 
Posts: 11 since Jan 2019
Thanks: 1 given, 4 received


markmanu View Post
Hi fxprogrammer, thanks for your reply. Can you please show me how you converted the indicator?

markmanu -
did you have any success using fxprogrammer's version?



fxprogrammer View Post
Hi, it is programmer from freelancer, please contact me, I converted the indicator

fxprogrammer -
hi am also interested in having this converted to tradestation. can you post a screenshot please of your converted version onto a chart (not the code) please before i contact you?

Reply With Quote
 
(login for full post details)
  #10 (permalink)
Seattle, WA/USA
 
Experience: Intermediate
Platform: TOS, TS
Trading: Forex, crude
 
Posts: 80 since Sep 2016
Thanks: 7 given, 27 received


At least on TOS, this indicator will give false signals.

Follow me on Twitter Reply With Quote


futures io Trading Community Platforms and Indicators TradeStation > Thinkscript to EasyLanguage


June 22, 2020


Upcoming Webinars and Events
 

Getting Comfortable with Price Action Patterns w/Earn2Trade

Aug 4
 

Live Video Panel: Ask Me Anything w/Ironbeam Brokerage

Aug 6
     



Copyright © 2020 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, +507 833-9432, info@futures.io
All information is for educational use only and is not investment advice.
There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
no new posts