Custom Indicators – Intro to an Esoteric World

   A combination of family matters, work, WordPress and hosting service issues have conspired to delay this next post.  In any case, just a few more thoughts on the tools that are provided to conduct technical analysis.  The emphasis here will be to show that custom indicators and signals can easily be implemented, in addition to the ones provided by packages such as TTR and quantstrat as shown in earlier posts.  There are indeed innumerable websites, periodicals, journals and books which propose, advance, evaluate and swear by off beat and often esoteric calculations with names to match.

    The package TTR as implemented numerous indicators and a list showing what is contained in package can be obtained quite simply by the following command which shows them all, e.g., BBands, RSI etc.,:

> as.character(lsf.str("package:TTR"))
 [1] "adjRatios"          "ADX"                "ALMA"               "aroon"             
 [5] "ATR"                "BBands"             "CCI"                "chaikinAD"         
 [9] "chaikinVolatility"  "CLV"                "CMF"                "CMO"               
[13] "DEMA"               "DonchianChannel"    "DPO"                "DVI"               
[17] "EMA"                "EMV"                "EVWMA"              "getYahooData"      
[21] "GMMA"               "growth"             "HMA"                "KST"               
[25] "lags"               "MACD"               "MFI"                "momentum"          
[29] "naCheck"            "OBV"                "PBands"             "ROC"               
[33] "rollSFM"            "RSI"                "runCor"             "runCov"            
[37] "runMAD"             "runMax"             "runMean"            "runMedian"         
[41] "runMin"             "runPercentRank"     "runSD"              "runSum"            
[45] "runVar"             "SAR"                "SMA"                "SMI"               
[49] "SNR"                "stoch"              "stockSymbols"       "TDI"               
[53] "TRIX"               "ultimateOscillator" "VHF"                "VMA"               
[57] "volatility"         "VWAP"               "VWMA"               "wilderSum"         
[61] "williamsAD"         "WMA"                "WPR"                "ZigZag"            
[65] "ZLEMA"        

But there may be many instances when we may want to other possibilities, of which there are an infinite number.   A casual look at any of the many websites devoted to stock picking or analysis will reveal the many popular indicators out there.  Just as an example we will pick a few and implement them in R code.  Examples chosen are: Ichimoku cloud, Fibonnaci retracement, Supertrend and  parabolic SAR. We can plot these and In addition develop signals that may be useful in triggering long/short positions. 

Example Custom indicator and plot code

 
########################################################################
####
#### Custom Indicators
#### Wherever symbol is passed – must be object itself not name
#### Avoide doing get(symbol) every time
########################################################################
########################################################################
#### ICHIMOKU CLOUD
########################################################################
ichimoku <- function(HLC, nFast=9, nMed=26, nSlow=52) {
conversionLine <- (runMax(Hi(HLC), nFast)+runMin(Lo(HLC), nFast))/2
baseLine <- (runMax(Hi(HLC), nMed)+runMin(Lo(HLC), nMed))/2
spanA <- lag((conversionLine+baseLine)/2, nMed)
spanB <- lag((runMax(Hi(HLC), nSlow)+runMin(Lo(HLC), nSlow))/2, nMed)
laggingSpan <- lag(Cl(HLC), nMed)
out <- cbind(turnLine=conversionLine, baseLine=baseLine, spanA=spanA, spanB=spanB, laggingSpan=laggingSpan )
colnames(out) <- c(“conversionLine”, “baseLine”, “spanA”, “spanB”, “laggingSpan” )
return (out)
}
########################################################################
#### CONNORS RSI
#### requires RSI (relative strength indicator) from TTR
### see https://www.qmatix.com/ConnorsRSI-Pullbacks-guidebook.pdf
########################################################################
connorsRSI <- function(price, nRSI = 3, nStreak = 2, nPercentLookBack = 100 ) {
priceRSI <- RSI(price, nRSI)
streakRSI <- RSI(streakUpDn(price), nStreak)
percents <- round(runPercentRank(x = diff(log(price)), n = 100,
cumulative = FALSE, exact.multiplier = 1) * 100)
ret <- (priceRSI + streakRSI + percents) / 3
colnames(ret) <- “connorsRSI”
return(ret)
}
########################################################################
#### STREAK UP / DOWN
#### computes consecutive up / down streaks
### this version a lot better !! still not as good as R4Trading
########################################################################
streakUpDn <- function(datPrice ) {
df <- as.vector(sign(diff(datPrice)))
df[1] = 0
runLengthPriceDiff <- rle(df) ### using run length encoding!
len = runLengthPriceDiff$lengths; val = runLengthPriceDiff$values
val[val == 0] = 1 ## if same closing will consider as up streak
mtx = matrix(c(len,val), nrow=2, byrow=T)
return(unlist(apply(mtx, 2, function(x) seq(x[2], sign(x[2]) * x[1], x[2] ))) )
## use this if same close not considered as upstreak!! comment line above ” val[val == 0] = 1 “”
#return(unlist(apply(mtx, 2, function(x) if (x[2] == 0) rep(x[2], x[1]) else seq(x[2], sign(x[2]) * x[1], x[2] )) ) )
}
########################################################################
#### ICHIMOKU CLOUD PLOTTING
########################################################################
require(ggplot2)
plotCloud <- function(symbol, from=NULL, to=Sys.Date()) {
require(reshape2)
data = get(symbol)
ichi =ichimoku(HLC(data ))
 
if ( is.null(from) ) from = index(ichi)[1]
ichi = ichi[paste0(from,“::”, to)] ### just pick dates we want to plot
## to remove timestamp
#index(ichi) = as.Date(unlist(lapply(strsplit(as.character(index(ichi)),” “),function(x) x[1])))
df_ichi = data.frame ( Date = index(ichi),
conversionLine = ichi$conversionLine,
baseLine = ichi$ baseLine,
spanA = ichi$spanA ,
spanB= ichi$spanB,
laggingSpan = ichi$laggingSpan)
colnames(df_ichi) <- c(“Date”, “conversionLine”, “baseLine”, “spanA”, “spanB”, “laggingSpan”)
df_ichi <- cbind(df_ichi, minSpan_line = pmin(df_ichi$spanA, df_ichi$spanB) )
melted_ichi = melt(df_ichi, id.vars = c(“Date”, “minSpan_line”),
measured.vars=c(“spanA”, “spanB”),variable.name=“spanType”, value.name=“IndicatorValue”, na.rm = T )
##
plot_ichi = melted_ichi[(melted_ichi$spanType %in% c(“spanA”, “spanB”)),]
sp <- ggplot(data = plot_ichi, aes(x=Date, fill=spanType))
sp <- sp + geom_ribbon(aes(ymax=IndicatorValue, ymin=minSpan_line))
sp <- sp + scale_fill_manual(values=c(spanA =“green”, spanB = “red”))
sp <- sp + theme(legend.position=c(0.2,.85), legend.justification=c(1,0))
sp <- sp + ggtitle(paste0(“Ichimoku Cloud Plot for Ticker “, symbol) )
plot(sp)
}

plotCloudAndPrice <- function(symbol, from=NULL, to=Sys.Date()) {
data = get(symbol)
ichi =ichimoku(HLC(data ))
require(reshape2)
if ( is.null(from) ) from = index(ichi)[1]
ichi = ichi[paste0(from,“::”, to)] ### just pick dates we want to plot
clpr = Cl(data [paste0(from,“::”, to)])
#df_clpr = data.frame ( Date = index(clpr), minSpan_line = 0, spanType = “ClosePrice”, Close = clpr[,1])
df_clpr = data.frame ( Date = index(clpr), Close = clpr[,1])
#df_clpr$spanType = “ClosePrice”
#colnames(df_clpr) = c(“Date”, “minSpan_line”, “spanType”, “IndicatorValue”)
colnames(df_clpr) = c(“Date”, “IndicatorValue”)
## to remove timestamp
#index(ichi) = as.Date(unlist(lapply(strsplit(as.character(index(ichi)),” “),function(x) x[1])))
df_ichi = data.frame ( Date = index(ichi), spanA = ichi$spanA, spanB= ichi$spanB)
colnames(df_ichi) <- c(“Date”, “spanA”, “spanB”)
df_ichi <- cbind(df_ichi, minSpan_line = pmin(df_ichi$spanA, df_ichi$spanB) )
melted_ichi = melt(df_ichi, id.vars = c(“Date”, “minSpan_line”),
measured.vars=c(“spanA”, “spanB”),variable.name=“spanType”, value.name=“IndicatorValue”, na.rm = T )
##
##melted_ichi = rbind( df_clpr ,melted_ichi)
plot_ichi = melted_ichi[(melted_ichi$spanType %in% c(“spanA”, “spanB”)),]
sp <- ggplot( plot_ichi) + geom_ribbon( aes(x=Date, fill=spanType, ymax=IndicatorValue, ymin=minSpan_line))
sp <- sp + scale_fill_manual(values=c(spanA =“green”, spanB = “red”))
sp <- sp + theme(legend.position=c(0.2,.85), legend.justification=c(1,0))
sp <- sp + ggtitle(paste0(“Ichimoku Cloud Plot for Ticker “ , symbol))
sp <- sp + geom_line(data=df_clpr, aes(x=Date,y = IndicatorValue ), colour=“black”)
plot(sp)
}
########################################################################
#### FIBONACCI SWING HIGH / LOW
########################################################################
##### To get swing High / Low
### some say just take Hi & Lo over past 90 day period
### but the defn is max/min +/- 2days back & ahead
### Is referenced in the Fibonacci retracement etc.,
### also assume quantmod / xts etc., loaded
### symbol passed as object not char name
########################################################################
swingHighLow <- function( symbol, lookback = 90) {
require (magrittr)
tail90 <- last(symbol, lookback)
cmp = “>=”
fx<-function(x, cmp=cmp) ifelse( eval(parse(text=paste0(“x”, cmp, “0”)) ) , 1, 0 )
### need to test for case if swing point not present !!
getSwingPoint <- function( dat, HiLo =c(“hi”, “lo“)) {
switch(HiLo,
hi = { cmp = “>=”; prc = Hi(dat) },
lo = { cmp = “<=”; prc = Lo(dat)}
)
prlag1 = diff(prc) %>% fx(.,cmp=cmp)
prlag2 = diff(prc,2) %>% fx(., cmp=cmp)
matches = which((prlag1+prlag2) == 2)
 
#### To get the Swing High & Low we need do regular lag
### But also to look ahead, in other do this backwards or in reverse /!!!
### and then find where both match definition of swing
### If none found, then null return
### reverse processing tricky – see notes below!
 
rvlag2 = diff(rev(prc),2) %>% as.vector(.) %>% fx(.,cmp=cmp)
rvlag1 = diff(rev(prc)) %>% as.vector(.) %>% fx(.,cmp=cmp)
rvlag1 = c(0, rvlag1)
rvlag2 = c(0, 0, rvlag2)
RVL = rev(rvlag1 + rvlag2)
FWL = as.vector(prlag1 + prlag2); FWL[(is.na(FWL))] = 0
### points of fwd i.e., cmp to previous prices
fwdpts = which(FWL ==2)
### points of rev , i.e., after prices
### note that revpts is indexd into thw fwdpts & not the input price data
revpts = fwdpts[which(RVL[fwdpts] == 2) ]
 
### take the latest, i.e., max
if (HiLo == “hi”)
pkpt = which(Hi(dat) == max(Hi(dat[revpts])) ) else
pkpt = which(Lo(dat) == min(Lo(dat[revpts])) )
if ( length(pkpt) == 0 ) return(NULL)
swingpt = dat[index(prc)[pkpt],]
 
return(swingpt)
}
swingHigh = cbind(getSwingPoint( tail90, HiLo = “hi”), SwingPoint = 99)
swingLo = cbind(getSwingPoint( tail90, HiLo = “lo”) , SwingPoint = 11)
return(rbind(swingLo, swingHigh))
}
########################################################################
#### PLOT FIBONACCI RETRACEMENTS
########################################################################
### lookback needs to be same as above
### fiboSwing contains Swing High / Low as above
### fiboSwing must be obtained as fiboSwing = swingHighLow(LUV)
### where LUV is object (SouthWest Airlines)
########################################################################
plotFiboRetracements <- function( symName, lookback=90, fiboSwing) {
symbol = get(symName)
tail90 <- last(symbol, lookback)
tail90$Max <- as.vector(Hi(fiboSwing[(fiboSwing$SwingPoint == 99)]))
tail90$Min <- as.vector(Lo(fiboSwing[(fiboSwing$SwingPoint == 11)]) )
tail90$Lvl786 <- tail90$Max (tail90$Max tail90$Min) * 0.786;
tail90$Lvl618 <- tail90$Max (tail90$Max tail90$Min) * 0.618;
tail90$Lvl500 <- tail90$Max (tail90$Max tail90$Min) * 0.500;
tail90$Lvl382 <- tail90$Max (tail90$Max tail90$Min) * 0.382;
tail90$Lvl236 <- tail90$Max (tail90$Max tail90$Min) * 0.236;
tail90$Lvl1236 <- tail90$Max + (tail90$Max tail90$Min) * 0.236;

chart_Series(tail90, theme=chart_theme())
add_Series( tail90$Lvl786, on=1, legend = “0.786”)
add_Series( tail90$Lvl618, on=1, legend = “0.618”)
add_Series( tail90$Lvl500, on=1, legend = “0.500”)
add_Series( tail90$Lvl382, on=1, legend = “0.382”)
add_Series( tail90$Lvl236, on=1, legend = “0.236”)
add_Series( tail90$Lvl1236, on=1, legend = “1.236”)
}

To see some basic techhnical charts for LUV – SouthWest Airlines, we can use the chartSeries function of the quantmod package.

chartSeries(LUV,TA=’addBBands();addBBands(draw=”p”);addMACD();addSMA();addVo()’)
zoomChart(subset=’2018-01::’)

To plot the Fibonacci retracements for LUV


fiboSwing = swingHighLow(LUV)
plotFiboRetracements("LUV", fiboSwing=fiboSwing)

Giving us this chart

First for a 90 day lookback period

Then for a 180 day lookback period

 

Next we can plot the Ichimoku Cloud followed by the supertrend & superSAR indicators.  These latter two are supposed to give some leading trend indications.

 

Thanx for reading

 

7 Comments on “Custom Indicators – Intro to an Esoteric World”

  1. Whether you believe in God or not, this message is a “must-read”!!

    Throughout time, we can see how we have been carefully conditioned coming to this point where we are on the verge of a cashless society. Did you know that the Bible foretold of this event almost 2,000 years ago?

    In the last book of the Bible, Revelation 13:16-18, it states,

    “He (the false prophet who deceives many by his miracles–Revelation 19:20) causes all, both small and great, rich and poor, free and slave, to receive a mark on their right hand or on their foreheads, and that no one may buy or sell except one who has the mark or the name of the beast, or the number of his name.

    Here is wisdom. Let him who has understanding calculate the number of the beast, for it is the number of a man: His number is 666.”

    Speaking to the last generation, this could only be speaking of a cashless society. Why so? Revelation 13:17 tells us that we cannot buy or sell unless we receive the mark of the beast. If physical money was still in use, we could buy or sell with one another without receiving the mark. This would contradict scripture that states we need the mark to buy or sell!

    These verses could not be referring to something purely spiritual as scripture references two physical locations (our right hand or forehead) stating the mark will be on one “OR” the other. If this mark was purely spiritual, it would indicate both places, or one–not one OR the other!

    This is where it comes together. It is shocking how accurate the Bible is concerning the implantable RFID microchip. These are notes from a man named Carl Sanders who worked with a team of engineers to help develop this RFID chip:

    “Carl Sanders sat in seventeen New World Order meetings with heads-of-state officials such as Henry Kissinger and Bob Gates of the C.I.A. to discuss plans on how to bring about this one-world system. The government commissioned Carl Sanders to design a microchip for identifying and controlling the peoples of the world—a microchip that could be inserted under the skin with a hypodermic needle (a quick, convenient method that would be gradually accepted by society).

    Carl Sanders, with a team of engineers behind him, with U.S. grant monies supplied by tax dollars, took on this project and designed a microchip that is powered by a lithium battery, rechargeable through the temperature changes in our skin. Without the knowledge of the Bible (Brother Sanders was not a Christian at the time), these engineers spent one-and-a-half-million dollars doing research on the best and most convenient place to have the microchip inserted.

    Guess what? These researchers found that the forehead and the back of the hand (the two places the Bible says the mark will go) are not just the most convenient places, but are also the only viable places for rapid, consistent temperature changes in the skin to recharge the lithium battery. The microchip is approximately seven millimeters in length, .75 millimeters in diameter, about the size of a grain of rice. It is capable of storing pages upon pages of information about you. All your general history, work history, criminal record, health history, and financial data can be stored on this chip.

    Brother Sanders believes that this microchip, which he regretfully helped design, is the “mark” spoken about in Revelation 13:16–18. The original Greek word for “mark” is “charagma,” which means a “scratch or etching.” It is also interesting to note that the number 666 is actually a word in the original Greek. The word is “chi xi stigma,” with the last part, “stigma,” also meaning “to stick or prick.” Carl believes this is referring to a hypodermic needle when they poke into the skin to inject the microchip.”

    Mr. Sanders asked a doctor what would happen if the lithium contained within the RFID microchip leaked into the body. The doctor replied by saying a terrible sore would appear in that location. This is what the book of Revelation says:

    “And the first (angel) went, and poured out his vial on the earth; and there fell a noisome and grievous sore on the men which had the mark of the beast, and on them which worshipped his image” (Revelation 16:2).

    You can read more about it here–and to also understand the mystery behind the number 666: [url=https://2ruth.org]HTTPS://2RUTH.ORG[/url]

    The third angel’s warning in Revelation 14:9-11 states,

    “Then a third angel followed them, saying with a loud voice, ‘If anyone worships the beast and his image, and receives his mark on his forehead or on his hand, he himself shall also drink of the wine of the wrath of God, which is poured out full strength into the cup of His indignation. He shall be tormented with fire and brimstone in the presence of the holy angels and in the presence of the Lamb. And the smoke of their torment ascends forever and ever; and they have no rest day or night, who worship the beast and his image, and whoever receives the mark of his name.'”

    Great hope is in our midst, and is coming in a mighty way–the greatest revival for Jesus in the history of the world where we will see the most souls come to Him of all tribes, tongues, nations, and peoples (Rev. 7:9-10); for we have this promise in God’s Word in the midst of these dark times:

    “Then I saw an angel coming down from heaven, having the key to the bottomless pit and a great chain in his hand. He laid hold of the dragon, that serpent of old, who is the Devil and Satan, and bound him for a thousand years (not literal–rather a spiritual label for time spent in eternity); and he cast him into the bottomless pit, and shut him up, and set a seal on him, so that he should deceive the nations no more till the thousand years were finished. But after these things he must be released for a little while (when the Antichrist and false prophet will rise up and God will test the world).” (Revelation 20:1-3)

    “The coming of the lawless one (the Antichrist) is according to the working of Satan, with all power, signs, and lying wonders, and with all unrighteous deception among those who perish, because they did not receive the love of the truth, that they might be saved. And for this reason God will send them strong delusion, that they should believe the lie, that they all may be condemned who did not believe the truth but had pleasure in unrighteousness.” (2 Thessalonians 2:9-12)”

    Who is Barack Obama, and why is he still involved in politics?

    So what about his name? The meaning of someone’s name can say a lot about a person. God throughout history has given names to people that have a specific meaning tied to their lives. How about the name Barack Obama? Let us take a look at what may be hiding beneath the surface.

    Jesus says in Luke 10:18, “…I saw Satan fall like lightning from heaven.”

    The Hebrew Strongs word (H1299) for “lightning”: “bârâq” (baw-rawk)

    In Isaiah chapter 14, verse 14, we read about Lucifer (Satan) saying in his heart:

    “I will ascend above the heights of the clouds, I will be like the Most High.”

    In the verses in Isaiah that refer directly to Lucifer, several times it mentions him falling from the heights or the heavens. The Hebrew word for the heights or heavens used here is Hebrew Strongs 1116: “bamah”–Pronounced (bam-maw’)

    In Hebrew, the letter “Waw” or “Vav” is often transliterated as a “U” or “O,” and it is primarily used as a conjunction to join concepts together. So to join in Hebrew poetry the concept of lightning (Baraq) and a high place like heaven or the heights of heaven (Bam-Maw), the letter “U” or “O” would be used. So, Baraq “O” Bam-Maw or Baraq “U” Bam-Maw in Hebrew poetry similar to the style written in Isaiah, would translate literally to “Lightning from the heights.” The word “Satan” in Hebrew is a direct translation, therefore “Satan.”

    When Jesus told His disciples in Luke 10:18 that He beheld Satan fall like lightning from heaven, if this were to be declared by a Jewish Rabbi today influenced by the poetry in the book of Isaiah, he would say these words in Hebrew–the words of Jesus in Luke 10:18 as, and I saw Satan as Baraq O Bam-Maw.

    Malie and Natasha are the names of Obama’s daughters. If we were to write those names backward (the devil does things backwards) it would be “ailam ahsatan”. Now if we remove the letters that spell “Alah” (the false god of Islam being Allah), we get “I am Satan”. Chance? I do not believe so!

    Obama’s campaign logo when he ran as President in 2008 was a sun over the horizon in the west, with the landscape as the flag of the United States. In the Isalmic religion, they have their own messiah that they are waiting for called the 12th Imam, or the Mahdi (the Antichrist of the Bible), and one prophecy concerning this man’s appearance is the sun rising in the west.

    “Then I saw another angel flying in the midst of heaven, having the everlasting gospel to preach to those who dwell on the earth—to every nation, tribe, tongue, and people— saying with a loud voice, ‘Fear God and give glory to Him, for the hour of His judgment has come; and worship Him who made heaven and earth, the sea and springs of water.'” (Revelation 14:6-7)

    Why have the words of Jesus in His Gospel accounts regarding His death, burial, and resurrection, been translated into over 3,000 languages, and nothing comes close (the Quran about 110 languages)? Because the same Spirit of God (YHVH) who created all people likewise transcends all people; therefore the power of His Word is not limited by people; while all other religions are man-made, therefore they tend to primarily stay within their own culture. The same God who speaks to all people through His creation of the heavens and earth that draws all people around the world likewise has sent His Word to the ends of the earth so that we may come to personally know Him to be saved in spirit and in truth through His Son Jesus Christ.

    Jesus stands alone among the other religions that say to rightly weigh the scales of good and evil and to make sure you have done more good than bad in this life. Is this how we conduct ourselves justly in a court of law? Bearing the image of God, is this how we project this image into reality?

    Our good works cannot save us. If we step before a judge, being guilty of a crime, the judge will not judge us by the good we have done, but rather by the crimes we have committed. If we as fallen humanity, created in God’s image, pose this type of justice, how much more a perfect, righteous, and Holy God?

    God has brought down His moral laws through the 10 commandments given to Moses at Mt. Siani. These laws were not given so we may be justified, but rather that we may see the need for a savior. They are the mirror of God’s character of what He has written in our hearts, with our conscious bearing witness that we know that it is wrong to steal, lie, dishonor our parents, murder, and so forth.

    We can try and follow the moral laws of the 10 commandments, but we will never catch up to them to be justified before a Holy God. That same word of the law given to Moses became flesh about 2,000 years ago in the body of Jesus Christ. He came to be our justification by fulfilling the law, living a sinless perfect life that only God could fulfill.

    The gap between us and the law can never be reconciled by our own merit, but the arm of Jesus is stretched out by the grace and mercy of God. And if we are to grab on, through faith in Him, He will pull us up being the one to justify us. As in the court of law, if someone steps in and pays our fine, even though we are guilty, the judge can do what is legal and just and let us go free. That is what Jesus did almost 2,000 years ago on the cross. It was a legal transaction being fulfilled in the spiritual realm by the shedding of His blood with His last word’s on the cross crying out, “It is finished!” (John 19:30).

    For God takes no pleasure in the death of the wicked (Ezekiel 18:23). This is why in Isaiah chapter 53, where it speaks of the coming Messiah and His soul being a sacrifice for our sins, why it says it pleased God to crush His only begotten Son.

    This is because the wrath that we deserve was justified by being poured out upon His Son. If that wrath was poured out on us, we would all perish to hell forever. God created a way of escape by pouring it out on His Son whose soul could not be left in Hades but was raised and seated at the right hand of God in power.

    So now when we put on the Lord Jesus Christ (Romans 13:14), where God no longer sees the person who deserves His wrath, but rather the glorious image of His perfect Son dwelling in us, justifying us as if we received the wrath we deserve, making a way of escape from the curse of death; now being conformed into the image of the heavenly man walking in a new nature, and no longer in the image of the fallen man Adam.

    Now what we must do is repent and put our trust and faith in the savior, confessing and forsaking our sins, and to receive His Holy Spirit that we may be born again (for Jesus says we must be born again to see and enter the Kingdom of God in John chapter 3). This is not just head knowledge of believing in Jesus, but rather receiving His words, taking them to heart, so that we may truly be transformed into the image of God. Where we no longer live to practice sin, but rather turn from our sins and practice righteousness through faith in Him in obedience to His Word by reading the Bible.

    Our works cannot save us, but they can condemn us; it is not that we earn our way into everlasting life, but that we obey our Lord Jesus Christ:

    Jesus says,

    “Not everyone who says to Me, ‘Lord, Lord,’ shall enter the kingdom of heaven, but he who does the will of My Father in heaven. Many will say to Me in that day, ‘Lord, Lord, have we not prophesied in Your name, cast out demons in Your name, and done many wonders in Your name?’ And then I will declare to them, ‘I never knew you; depart from Me, you who practice lawlessness!’ (Matthew 7:21-23)

    “And having been perfected, He became the author of eternal salvation to all who obey Him.” (Hebrews 5:9)

    “Now I saw a new heaven and a new earth, for the first heaven and the first earth had passed away. Also there was no more sea. Then I, John, saw the holy city, New Jerusalem, coming down out of heaven from God, prepared as a bride adorned for her husband. And I heard a loud voice from heaven saying, ‘Behold, the tabernacle of God is with men, and He will dwell with them, and they shall be His people. God Himself will be with them and be their God. And God will wipe away every tear from their eyes; there shall be no more death, nor sorrow, nor crying. There shall be no more pain, for the former things have passed away.’

    Then He who sat on the throne said, ‘Behold, I make all things new.’ And He said to me, ‘Write, for these words are true and faithful.’

    And He said to me, ‘It is done! I am the Alpha and the Omega, the Beginning and the End. I will give of the fountain of the water of life freely to him who thirsts. He who overcomes shall inherit all things, and I will be his God and he shall be My son. But the cowardly, unbelieving, abominable, murderers, sexually immoral, sorcerers, idolaters, and all liars shall have their part in the lake which burns with fire and brimstone, which is the second death.'” (Revelation 21:1-8)

  2. 👉 $5,000 FREE EXCHANGE BONUSES BELOW 📈 👉 PlaseFuture FREE $3,000 BONUS + 0% Maker Fees 📈 + PROMOCODE FOR NEWS USERS OF THE EXCHANGE 👉 [M0345IHZFN] — 0.01 BTC 👉 site: https://buycrypto.in.net Our site is a secure platform that makes it easy to buy, sell, and store cryptocurrency like Bitcoin, Ethereum, and More. We are available in over 30 countries worldwide.

  3. Hi,
    I am very interested in the R code you used for calculating SuperTrend and Super SAR.
    Not even for SuperTrend were I able to find reliable code on the internet.
    Thank you!

Comments are closed.