“Entry Signal” TOS to Prorealcode
Forums › ProRealTime English forum › ProBuilder support › “Entry Signal” TOS to Prorealcode
- This topic has 4 replies, 2 voices, and was last updated 5 hours ago by
gp38super.
-
-
02/16/2025 at 3:55 AM #243902
Hi. Tried on my own but still can’t get what I’m looking for. This is an entry signal I use for options scalping on a 2min chart. Looks to be STC based, from my little knowledge.
TOS script:
input fastLength = 6;
input slowLength = 50;
input kperiod = 10;
input dperiod = 3;
input overboughtLevel = 75;
input oversoldLevel = 15;def STC = SchaffTrendCycle(“fast length” = fastLength, “slow length” = slowLength, “k period” = kperiod, “dperiod” = dperiod);
def STCCrossAboveOversold = STC > oversoldLevel and STC[1] <= oversoldLevel; plot UpArrow = if STCCrossAboveOversold then low - 2 else Double.NaN; UpArrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP); UpArrow.SetLineWeight(1); UpArrow.SetDefaultColor(Color.UPTICK); ______________________________________________________ Not sure if needed or not, but here is the TOS STC script, incase its useful from the above reference: declare lower; input fastLength = 23; input slowLength = 50; input KPeriod = 10; input DPeriod = 3; input over_bought = 75; input over_sold = 25; input averageType = AverageType.EXPONENTIAL; def macd = MovingAverage(averageType, close, fastLength) - MovingAverage(averageType, close, slowLength); def fastK1 = FastKCustom(macd, KPeriod); def fastD1 = MovingAverage(averageType, fastK1, DPeriod); def fastK2 = FastKCustom(fastD1, KPeriod); plot STC = MovingAverage(averageType, fastK2, DPeriod); plot OverBought = over_bought; plot OverSold = over_sold; STC.SetDefaultColor(GetColor(8)); OverBought.SetDefaultColor(GetColor(7)); OverSold.SetDefaultColor(GetColor(7)); This is a pretty solid signal. Have used it successfully for months. Works very well trading SPX options in particular.02/16/2025 at 3:56 AM #24390302/16/2025 at 3:57 AM #24390502/20/2025 at 4:54 PM #244108This is the oscillator:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869//---------------------------------------------------------////PRC_Trend Cycle STC//version = 0//20.02.2025//Iván González @ www.prorealcode.com//Sharing ProRealTime knowledge//---------------------------------------------------------//// Inputs//---------------------------------------------------------//fastLength = 23 // Fast moving average length (MACD)slowLength = 50 // Slow moving average length (MACD)KPeriod = 10 // %K period for stochasticDPeriod = 3 // %D period for stochastic smoothingoverBought = 75 // Overbought leveloverSold = 25 // Oversold levelaverageType = 1 // Type of moving average used in calculations//---------------------------------------------------------//// MACD Calculation//---------------------------------------------------------//mymacd= average[fastLength,averageType](close)-average[slowLength,averageType](close)// First Stochastic Stage on MACDLowestMACD = LOWEST[ KPeriod ](mymacd)HighestMACD = HIGHEST[ KPeriod ](mymacd)IF HighestMACD - LowestMACD <> 0 THENFastK1 = ((mymacd - LowestMACD) / (HighestMACD - LowestMACD)) * 100ELSEFastK1 = 0ENDIFFastD1 = AVERAGE[DPeriod,averageType](FastK1) // Smoothed FastK1// Second Stochastic Stage on FastD1LowestFastD1 = LOWEST[KPeriod](FastD1)HighestFastD1 = HIGHEST[KPeriod](FastD1)IF HighestFastD1 - LowestFastD1 <> 0 THENFastK2 = ((FastD1 - LowestFastD1) / (HighestFastD1 - LowestFastD1)) * 100ELSEFastK2 = 0ENDIF// Final STC CalculationSTC = AVERAGE[DPeriod,averageType](FastK2)//---------------------------------------------------------//// Plot//---------------------------------------------------------//// Detection of Crossovers from the Oversold ZoneSTCCrossAboveOversold = STC crosses over Oversoldif STCCrossAboveOversold thendrawpoint(barindex,STC,5)coloured("green",40)drawpoint(barindex,STC,2)coloured("green",200)endif// Color AssignmentIF STC > OverBought THENr = 255g = 0b = 0 // Red for overboughtELSIF STC < OverSold THENr = 0g = 255b = 0 // Green for oversoldELSEr = 128g = 128b = 128 // Grey for neutral zoneENDIF//---------------------------------------------------------//// Return Oscillator below price//---------------------------------------------------------//RETURN STC AS "STC Oscilador" COLOURED(r,g,b) STYLE(LINE,2), OverBought AS "Sobrecompra" COLOURED("red") STYLE(dottedline), OverSold AS "Sobreventa" COLOURED("green") STYLE(dottedline)And this is the indicator to be inserted on price chart:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970//---------------------------------------------------------////PRC_Trend Cycle STC//version = 0//20.02.2025//Iván González @ www.prorealcode.com//Sharing ProRealTime knowledge//---------------------------------------------------------//// Inputs//---------------------------------------------------------//fastLength = 23 // Fast moving average length (MACD)slowLength = 50 // Slow moving average length (MACD)KPeriod = 10 // %K period for stochasticDPeriod = 3 // %D period for stochastic smoothingoverBought = 75 // Overbought leveloverSold = 25 // Oversold levelaverageType = 1 // Type of moving average used in calculations//---------------------------------------------------------//// MACD Calculation//---------------------------------------------------------//mymacd= average[fastLength,averageType](close)-average[slowLength,averageType](close)// First Stochastic Stage on MACDLowestMACD = LOWEST[ KPeriod ](mymacd)HighestMACD = HIGHEST[ KPeriod ](mymacd)IF HighestMACD - LowestMACD <> 0 THENFastK1 = ((mymacd - LowestMACD) / (HighestMACD - LowestMACD)) * 100ELSEFastK1 = 0ENDIFFastD1 = AVERAGE[DPeriod,averageType](FastK1) // Smoothed FastK1// Second Stochastic Stage on FastD1LowestFastD1 = LOWEST[KPeriod](FastD1)HighestFastD1 = HIGHEST[KPeriod](FastD1)IF HighestFastD1 - LowestFastD1 <> 0 THENFastK2 = ((FastD1 - LowestFastD1) / (HighestFastD1 - LowestFastD1)) * 100ELSEFastK2 = 0ENDIF// Final STC CalculationSTC = AVERAGE[DPeriod,averageType](FastK2)//---------------------------------------------------------//// Plot//---------------------------------------------------------//// Detection of Crossovers from the Oversold ZoneSTCCrossAboveOversold = STC crosses over Oversoldif STCCrossAboveOversold thendrawarrowup(barindex,low)coloured("green")//drawpoint(barindex,STC,5)coloured("green",40)//drawpoint(barindex,STC,2)coloured("green",200)endif// Color AssignmentIF STC > OverBought THENr = 255g = 0b = 0 // Red for overboughtELSIF STC < OverSold THENr = 0g = 255b = 0 // Green for oversoldELSEr = 128g = 128b = 128 // Grey for neutral zoneENDIF//---------------------------------------------------------//// Return Oscillator below price//---------------------------------------------------------//RETURN //STC AS "STC Oscilador" COLOURED(r,g,b) STYLE(LINE,2), OverBought AS "Sobrecompra" COLOURED("red") STYLE(dottedline), OverSold AS "Sobreventa" COLOURED("green") STYLE(dottedline)1 user thanked author for this post.
02/21/2025 at 1:58 PM #244150 -
AuthorPosts