New Tool for Adam Mancini Levels

tom

Well-known member
Administrator
I subscribe to Adam Mancini's newsletter. Adam publishes support and resistance levels which are quite good.

Adam's levels are for ES but I wanted to create a tool to convert these to SPX prices. I built a new tool to do this conversion at



This is an example of how the tool works. You find Adam's Trade Plan, and copy /paste the support and resistance levels into the form. The form converts ES prices to SPX prices and organizes the prices vertically so it's easy to see all of the prices.

1706382180120.png

Enjoy the new tool!
 
Last edited:
I subscribe to Adam Mancini's newsletter. Adam publishes support and resistance levels which are quite good.

Adam's levels are for ES but I wanted to create a tool to convert these to SPX prices. I built a new tool to do this conversion at



This is an example of how the tool works. You find Adam's Trade Plan, and copy /paste the support and resistance levels into the form. The form converts ES prices to SPX prices and organizes the prices vertically so it's easy to see all of the prices.

View attachment 4807

Enjoy the new tool!
Looks like it will convert any /ES levels to SPX. I get various support and resistance levels from Menthor Q each day, and it converts them nicely. Great tool Tom.
 
I wrote a tradingview script to do just that. Here's the pinescript code:


Code:
//@version=5
indicator("Mancini Levels", shorttitle="Mancini Levels", overlay=true)

// User inputs for line properties (Modified Order)
majorResistanceStyleInput = input.string("Solid", "Majoror Resistance Style", options=["Solid", "Dotted"], inline="01")
majorResistanceColor = input.color(color.red, "Color", inline="01")
majorResistanceWidth = input.int(3, "Width", minval=1, inline="01")

minorResistanceStyleInput = input.string("Solid", "Minoror Resistance Style", options=["Solid", "Dotted"], inline="02")
minorResistanceColor = input.color(color.red, "Color", inline="02")
minorResistanceWidth = input.int(2, "Width", minval=1, inline="02")

minorSupportStyleInput = input.string("Solid", "Minoror Support Style", options=["Solid", "Dotted"], inline="03")
minorSupportColor = input.color(color.green, "Color", inline="03")
minorSupportWidth = input.int(2, "Width", minval=1, inline="03")

majorSupportStyleInput = input.string("Solid", "Majoror Support Style", options=["Solid", "Dotted"], inline="04")
majorSupportColor = input.color(color.green, "Color", inline="04")
majorSupportWidth = input.int(3, "Width", minval=1, inline="04")

// Define line styles based on user inputs
majorResistanceStyle = majorResistanceStyleInput == "Dotted" ? line.style_dotted : line.style_solid
minorResistanceStyle = minorResistanceStyleInput == "Dotted" ? line.style_dotted : line.style_solid
minorSupportStyle = minorSupportStyleInput == "Dotted" ? line.style_dotted : line.style_solid
majorSupportStyle = majorSupportStyleInput == "Dotted" ? line.style_dotted : line.style_solid

// Create inputs for LINE 1 Enable, Price, and Type
enableInput1 = input.bool(false, "Enable", inline="05")
priceInput1 = input.float(0.0, "Price", step=0.01, inline="05")
typeInput1 = input.string("Major Resistance", "Type", options=["Major Resistance", "Resistance", "Support", "Major Support"], inline="05")

// Create inputs for LINE 2 Enable, Price, and Type
enableInput2 = input.bool(false, "Enable", inline="06")
priceInput2 = input.float(0.0, "Price", step=0.01, inline="06")
typeInput2 = input.string("Major Resistance", "Type", options=["Major Resistance", "Resistance", "Support", "Major Support"], inline="06")

// Create inputs for LINE 3 Enable, Price, and Type
enableInput3= input.bool(false, "Enable", inline="07")
priceInput3 = input.float(0.0, "Price", step=0.01, inline="07")
typeInput3 = input.string("Major Resistance", "Type", options=["Major Resistance", "Resistance", "Support", "Major Support"], inline="07")

// Create inputs for LINE 4 Enable, Price, and Type
enableInput4= input.bool(false, "Enable", inline="08")
priceInput4 = input.float(0.0, "Price", step=0.01, inline="08")
typeInput4 = input.string("Major Resistance", "Type", options=["Major Resistance", "Resistance", "Support", "Major Support"], inline="08")

// Create inputs for LINE 5 Enable, Price, and Type
enableInput5= input.bool(false, "Enable", inline="09")
priceInput5 = input.float(0.0, "Price", step=0.01, inline="09")
typeInput5 = input.string("Major Resistance", "Type", options=["Major Resistance", "Resistance", "Support", "Major Support"], inline="09")

// Create inputs for LINE 6 Enable, Price, and Type
enableInput6= input.bool(false, "Enable", inline="10")
priceInput6 = input.float(0.0, "Price", step=0.01, inline="10")
typeInput6 = input.string("Major Resistance", "Type", options=["Major Resistance", "Resistance", "Support", "Major Support"], inline="10")

// Create inputs for LINE 7 Enable, Price, and Type
enableInput7= input.bool(false, "Enable", inline="11")
priceInput7 = input.float(0.0, "Price", step=0.01, inline="11")
typeInput7 = input.string("Major Resistance", "Type", options=["Major Resistance", "Resistance", "Support", "Major Support"], inline="11")

// Create inputs for LINE 8 Enable, Price, and Type
enableInput8= input.bool(false, "Enable", inline="12")
priceInput8 = input.float(0.0, "Price", step=0.01, inline="12")
typeInput8 = input.string("Major Resistance", "Type", options=["Major Resistance", "Resistance", "Support", "Major Support"], inline="12")

// Create inputs for LINE 9 Enable, Price, and Type
enableInput9= input.bool(false, "Enable", inline="13")
priceInput9 = input.float(0.0, "Price", step=0.01, inline="13")
typeInput9 = input.string("Major Resistance", "Type", options=["Major Resistance", "Resistance", "Support", "Major Support"], inline="13")

// Create inputs for LINE 10 Enable, Price, and Type
enableInput10 = input.bool(false, "Enable", inline="14")
priceInput10  = input.float(0.0, "Price", step=0.01, inline="14")
typeInput10   = input.string("Major Resistance", "Type", options=["Major Resistance", "Resistance", "Support", "Major Support"], inline="14")

// Create inputs for LINE 11 Enable, Price, and Type
enableInput11 = input.bool(false, "Enable", inline="15")
priceInput11  = input.float(0.0, "Price", step=0.01, inline="15")
typeInput11   = input.string("Major Resistance", "Type", options=["Major Resistance", "Resistance", "Support", "Major Support"], inline="15")

// Create inputs for LINE 12 Enable, Price, and Type
enableInput12 = input.bool(false, "Enable", inline="16")
priceInput12  = input.float(0.0, "Price", step=0.01, inline="16")
typeInput12   = input.string("Major Resistance", "Type", options=["Major Resistance", "Resistance", "Support", "Major Support"], inline="16")

// Create inputs for LINE 13 Enable, Price, and Type
enableInput13 = input.bool(false, "Enable", inline="17")
priceInput13  = input.float(0.0, "Price", step=0.01, inline="17")
typeInput13   = input.string("Major Resistance", "Type", options=["Major Resistance", "Resistance", "Support", "Major Support"], inline="17")

// Create inputs for LINE 14 Enable, Price, and Type
enableInput14 = input.bool(false, "Enable", inline="18")
priceInput14  = input.float(0.0, "Price", step=0.01, inline="18")
typeInput14   = input.string("Major Resistance", "Type", options=["Major Resistance", "Resistance", "Support", "Major Support"], inline="18")

// Create inputs for LINE 15 Enable, Price, and Type
enableInput15 = input.bool(false, "Enable", inline="19")
priceInput15  = input.float(0.0, "Price", step=0.01, inline="19")
typeInput15   = input.string("Major Resistance", "Type", options=["Major Resistance", "Resistance", "Support", "Major Support"], inline="19")

// Create inputs for LINE 16 Enable, Price, and Type
enableInput16 = input.bool(false, "Enable", inline="20")
priceInput16  = input.float(0.0, "Price", step=0.01, inline="20")
typeInput16   = input.string("Major Resistance", "Type", options=["Major Resistance", "Resistance", "Support", "Major Support"], inline="20")

// Function to plot a line based on inputs
plotLine(enable, price, lineType) =>
    if (enable and lineType == "Major Resistance")
        line.new(x1=bar_index[1], y1=price, x2=bar_index + 100, y2=price, width=majorResistanceWidth, color=majorResistanceColor, style=majorResistanceStyle)
    else if (enable and lineType == "Resistance")
        line.new(x1=bar_index[1], y1=price, x2=bar_index + 100, y2=price, width=minorResistanceWidth, color=minorResistanceColor, style=minorResistanceStyle)
    else if (enable and lineType == "Support")
        line.new(x1=bar_index[1], y1=price, x2=bar_index + 100, y2=price, width=minorSupportWidth, color=minorSupportColor, style=minorSupportStyle)
    else if (enable and lineType == "Major Support")
        line.new(x1=bar_index[1], y1=price, x2=bar_index + 100, y2=price, width=majorSupportWidth, color=majorSupportColor, style=majorSupportStyle)

// Function to display a label at a specific price with a specified color
plotPriceLabel(enable, price, lineType) =>
    if (enable and lineType == "Major Resistance")
        label.new(x=bar_index, y=price, text="", color=majorResistanceColor, style=label.style_label_left, textcolor=color.white, size=size.small, yloc=yloc.price)
    else if (enable and lineType == "Resistance")
        label.new(x=bar_index, y=price, text="", color=minorResistanceColor, style=label.style_label_left, textcolor=color.white, size=size.small, yloc=yloc.price)
    else if (enable and lineType == "Support")
        label.new(x=bar_index, y=price, text="", color=minorSupportColor, style=label.style_label_left, textcolor=color.white, size=size.small, yloc=yloc.price)
    else if (enable and lineType == "Major Support")
        label.new(x=bar_index, y=price, text="", color=majorSupportColor, style=label.style_label_left, textcolor=color.white, size=size.small, yloc=yloc.price)


// Plot lines based on inputs
plotLine(enableInput1, priceInput1, typeInput1)
plotLine(enableInput2, priceInput2, typeInput2)
plotLine(enableInput3, priceInput3, typeInput3)
plotLine(enableInput4, priceInput4, typeInput4)
plotLine(enableInput5, priceInput5, typeInput5)
plotLine(enableInput6, priceInput6, typeInput6)
plotLine(enableInput7, priceInput7, typeInput7)
plotLine(enableInput8, priceInput8, typeInput8)
plotLine(enableInput9, priceInput9, typeInput9)
plotLine(enableInput10, priceInput10, typeInput10)
plotLine(enableInput11, priceInput11, typeInput11)
plotLine(enableInput12, priceInput12, typeInput12)
plotLine(enableInput13, priceInput13, typeInput13)
plotLine(enableInput14, priceInput14, typeInput14)
plotLine(enableInput15, priceInput15, typeInput15)
plotLine(enableInput16, priceInput16, typeInput16)
 
I just added cookies to that page so it now remembers your last form submission. This is useful as you can get Adam's newsletter the day before, load the numbers and it's still there tomorrow (assuming you use the same web browser on the same computer).
 
The ones with (major) are the major levels. If a level doesn't have (major) in Adam's write up, it's a minor level
 
I understand but it seems like there are too many major and minor levels I counted 38 levels At that point the chart will be too busy with lines covering up the chart I think it should be just just one major and one minor for each support/resistance or maybe label them major1 2 3 ...etc
 
Top
Contact Us