NexusFi: Find Your Edge


Home Menu

 





TOS coder wanted


Discussion in ThinkOrSwim

Updated
    1. trending_up 2,520 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?
Trump Media to sell instant access to market-moving soci …
Traders Hideout
Pakistan Mediator in Tehran as Hormuz Normalization Coll …
Prediction Markets & Event Contracts
Iran Deal "In Review" at 87% on Deadline Day - …
Prediction Markets & Event Contracts
More Than Capable: Hegseths War Warning Validates $114M …
Prediction Markets & Event Contracts
Iran Fired a Missile at Israel Last Night. The $8M June …
Prediction Markets & Event Contracts
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
NexusFi site changelog and issues/problem reporting
15 thanks
Darmok and Jalad at Tanagra
3 thanks
Big Mike in Ecuador
1 thanks
30 Sessions
1 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