# New to Coding, any help on a simple Williams R Buy at -80 and Sell at -20?

#### buzzmuff

##### New member
Hi,

I'm just trying to create a simple Buy request at -80 Williams R and sell at -20. The code i have below basically just buys at every candle and closes at every candle for some reason. input overSold = -80 and the buy to open references overSold so i would think it should only buy to open when it's at -80 but it's doing it every candle bar. Code below, thanks for the help!

screenshot of image here, wouldn't let me link image for some reason in post
https://ibb.co/DwpRcVw

I think i need a condition where the williams R crosses up through the -80 to Buy and a condition where it goes down below the -20 to sell.

Ruby:
``````#***StopLossPercent***
input percentGainGoal = 5;
input percentLossGoal = -2;
def percentChange = 100 * (close - EntryPrice()) / EntryPrice();

#***sets the trade amount to \$1,000***

#*** Williams R %***
input length = 10;
input overBought = -20;
input overSold = -80;

def hh = Highest(high, length);
def ll = Lowest(low, length);
def result = if hh == ll then -100 else (hh - close) / (hh - ll) * (-100);

plot WR = if result > 0 then 0 else result;
WR.SetDefaultColor(GetColor(1));

plot Over_Sold = overSold;
Over_Sold.SetDefaultColor(GetColor(8));

plot Over_Bought = overBought;
Over_Bought.SetDefaultColor(GetColor(8));

#***StopLoss exit***

def exitBad = percentChange < percentLossGoal;

#****Sales******

Last edited:

#### buzzmuff

##### New member
Figured it out, code below

Ruby:
``````#***StopLossPercent***
input percentGainGoal = 5;
input percentLossGoal = -2;
def percentChange = 100 * (close - EntryPrice()) / EntryPrice();

#***sets the trade amount to \$1,000***

#*** Williams R %***
input length = 10;
input overBought = -20;
input overSold = -80;

def hh = Highest(high, length);
def ll = Lowest(low, length);
def result = if hh == ll then -100 else (hh - close) / (hh - ll) * (-100);

plot WR = if result > 0 then 0 else result;
WR.SetDefaultColor(GetColor(1));

plot Over_Sold = overSold;
Over_Sold.SetDefaultColor(GetColor(8));

plot Over_Bought = overBought;
Over_Bought.SetDefaultColor(GetColor(8));

def exitBad = percentChange < percentLossGoal;
def buy = wr crosses above overSold;
def sell = wr crosses below overBought;

#****Sales******

#### UYAREDUDE

##### New member
Figured it out, code below

Ruby:
``````#***StopLossPercent***
input percentGainGoal = 5;
input percentLossGoal = -2;
def percentChange = 100 * (close - EntryPrice()) / EntryPrice();

#***sets the trade amount to \$1,000***

#*** Williams R %***
input length = 10;
input overBought = -20;
input overSold = -80;

def hh = Highest(high, length);
def ll = Lowest(low, length);
def result = if hh == ll then -100 else (hh - close) / (hh - ll) * (-100);

plot WR = if result > 0 then 0 else result;
WR.SetDefaultColor(GetColor(1));

plot Over_Sold = overSold;
Over_Sold.SetDefaultColor(GetColor(8));

plot Over_Bought = overBought;
Over_Bought.SetDefaultColor(GetColor(8));

def exitBad = percentChange < percentLossGoal;
def buy = wr crosses above overSold;
def sell = wr crosses below overBought;

#****Sales******

#### UYAREDUDE

##### New member
i get blank window when entered in ThinkorSwim. Why do you think?

##### Well-known member
VIP
i get blank window when entered in ThinkorSwim. Why do you think?

Did you save the code as a Strategy instead of a Study...??? AddOrder() only works in Strategies...

#### Jerseystranger

##### New member
VIP
can any one come with a code buy signal when rsi reaches 30 and sell signal when the rsi reaches 70