NexusFi: Find Your Edge


Home Menu

 





TOS coder wanted


Discussion in ThinkOrSwim

Updated
    1. trending_up 2,453 views
    2. thumb_up 0 thanks given
    3. group 3 followers
    1. forum 2 posts
    2. attach_file 0 attachments




 
Search this Thread
  #1 (permalink)
Dahlilama
Medford Oregon US
 
Posts: 1 since Aug 2015
Thanks Given: 0
Thanks Received: 0

I'm looking for a programer to create my simple ma strategy and backtest capabilities for thinkorswim. Or references...


Reply With Quote

Can you help answer these questions
from other members on NexusFi?
Hormuz Completely Closed: US Strikes Day 2, Iran Shoots …
Traders Hideout
Trump Lands in Beijing on CPI Day: Iran Peace Expires To …
Prediction Markets & Event Contracts
Irans Dual Probability: Guns Quiet at 99.95% While Forma …
Prediction Markets & Event Contracts
Memorandum Watch: How the 60-Day MOU Framework Makes May …
Prediction Markets & Event Contracts
Six Days to Kickoff: World Cup Prediction Markets Hit $1 …
Prediction Markets & Event Contracts
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Big Mike in Ecuador
205 thanks
Sober Journey With S&P
21 thanks
30 Sessions
21 thanks
Volume Indicators
8 thanks
Thanks Mike. Godspeed.
7 thanks
  #2 (permalink)
jeremyis
Portland, OR, USA
 
Posts: 3 since Aug 2015
Thanks Given: 4
Thanks Received: 3

I've written some custom thinkscript and a few indicators. Private message me if you're still in need of a developer.


Reply With Quote
  #3 (permalink)
 nightshade 
canton mi
 
Experience: Beginner
Platform: ninja xtrader
Trading: tf, es
Posts: 230 since Jan 2014
Thanks Given: 328
Thanks Received: 146


anyone know why this tos indie wont plot it was created in 2011

declare upper;

def length = 20;
def lookBack = 13;
def period = 8;
def MA = (Highest(high[1], period) + Lowest(low[1], period)) / 2;

# Simple definition of bullish / bearish price activity and volume

def upVolume = volume > volume[1];
def dnVolume = volume < volume[1];
def upClose = close > close[1] or close > close[2];
def dnClose = close < close[1] or close < close[2];
def higherHi = high > high[1];
def lowerLo = low < low[1];
def doji = open == close;

# Identify increasing aggression (Augen's price volatility) and inflation/deflation in volume

def closeLog = Log(close[1] / close[2]);
def pDev = StDev(closeLog, length) * Sqrt(length / (length - 1));
def x = pDev * close[1];
def aggression = (close[0] - close[1]) / x;

def volLog = Log(volume[1] / volume[2]);
def vDev = StDev(volLog, length) * Sqrt(length / (length - 1));
def y = vDev * volume[1];
def volspike = ((volume[0] - volume[1]) / y);

# Welles Wilder's True Range and

def TR1 = high - low;
def TR2 = AbsValue(high - close[1]);
def TR3 = AbsValue(close[1] - low);
def Range = Max(Max(TR1, TR2), TR3);
def ATR = WildersAverage(Range, length);
def narrowRangeBar = Range < ATR;
def longBar = Range > ATR;

# Define low-volume tests at lows/highs, using power laws

def K = 4;
input alpha = 2.36;
input resistgate = 3.0;
input suppgate = 3.0;
def volOutlier = K * Power(volume, -alpha);
def volOutSpikeHi = volOutlier > resistgate * Average(volOutlier, 33);
def volOutSpikeLo = volOutlier > suppgate * Average(volOutlier, 33);
def loVolTestLow = (volOutSpikeLo ) && close < MA && narrowRangeBar;
def loVolTestHigh = (volOutSpikeHi ) && close > MA && narrowRangeBar;

# Identify and highlight high-volume pressure at lows/highs

def hiVolPressLow = upVolume && upClose && close < MA && aggression > aggression[1] && lowerLo && !doji && !longBar;
def hiVolPressHigh = dnVolume && dnClose and open > MA && close > MA && aggression < aggression[1] && higherHi && !doji && !longBar;

AssignPriceColor( if hiVolPressHigh then CreateColor(170, 0, 0) else if hiVolPressLow then CreateColor(15, 115, 80) else Color.CURRENT);

# Plot support and resistance levels as functions of significant changes in volume and display price values at which this occurs

def Support;
Support = if loVolTestLow && !loVolTestLow[-1] && !loVolTestLow[-2] && !loVolTestLow[-3] then low else Double.NaN;
plot supp = Support;
supp.SetDefaultColor(CreateColor(15, 115, 80));
supp.SetPaintingStrategy(PaintingStrategy.VALUES_BELOW);
supp.SetLineWeight(1);
supp.HideBubble();
rec lastBot = if !IsNaN(Support) then low else lastBot[1];
plot priorLow = lastBot;
priorLow.SetPaintingStrategy(PaintingStrategy.HORIZONTAL);
priorLow.SetStyle(PaintingStrategy.DASHES);
priorLow.SetDefaultColor(CreateColor(15, 115, 80));
priorLow.SetLineWeight(1);
priorLow.HideBubble();

def Resistance;
Resistance = if loVolTestHigh && !loVolTestHigh[-1] && !loVolTestHigh[-2] && !loVolTestHigh[-3] then high else Double.NaN;
plot resist = Resistance;
resist.SetDefaultColor(CreateColor(170, 0, 0));
resist.SetPaintingStrategy(PaintingStrategy.VALUES_ABOVE);
resist.SetLineWeight(1);
resist.HideBubble();
rec lastsold = if !IsNaN(Resistance) then high else lastsold[1];
plot priorhigh = lastsold;
priorhigh.SetPaintingStrategy(PaintingStrategy.HORIZONTAL);
priorhigh.SetStyle(PaintingStrategy.DASHES);
priorhigh.SetDefaultColor(CreateColor(170, 0, 0));
priorhigh.SetLineWeight(1);
priorhigh.HideBubble();


Reply With Quote




Last Updated on February 26, 2016


© 2026 NexusFi®, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
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.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Downloads - Top
no new posts