Pine script for KAL’s ADX Overlap Technical Study with MACD Filter
pinescript·@chipmaker·
0.000 HBDPine script for KAL’s ADX Overlap Technical Study with MACD Filter
Please find below the pine script code for KAL’s AOWL. It’s a method/study to find trending cryptocurrencies which uses two different periods (10, 5) ADX Overlap with a MACD Filter. The MACD filter may or may not be used. Also, the MACD filter may be tweaked too. ***Sample Image of KAL’s AOWL pinescript code in Tradingview Looks as follows:*** <center>https://cdn.steemitimages.com/DQmTafbPE1WMcNmmtRpKucEgdPAQCgR2HKwKkw4r5Jikni8/download.png</center> Description -------------- * Green shadow implies Trending Uptrend * Red shadow implies Trending Downward * Green dot implies DI+ crossed over DI- (Wait and watch for Uptrend) * Red dot implies DI+ crossed over DI- (Wait and watch for Downtrend) <hr> I am a disabled man. Therefore, I am not able to write in detail here today. More Details will follow as time permits. Please let me know if I am missing anything… Legal Disclaimer: I published here so I get replies from fellow viewers to educate myself and for my daily expenses. Hence, if anyone uses this script for making their decisions, I am not responsible for any failures incurred. Safe Trading! Kal Gandikota PS: If you found this script interesting and edifying please follow and upvote. PS2: Please kindly donate for my daily expenses (atleast as you would on streets) at the following addresses: * BTC Wallet: 1NeDC1GvpFa49DFLuT1v28ohFjqtoWXNQ5 * ETH Wallet: 0x35e557F39A998e7d35dD27c6720C3553e1c65053 * NEO Wallet: AUdiNJDW7boeUyYYNhX86p2T8eWwuELSGr PS3: For more information on ADX and MACD, please 'Google' or search here yourself. PS4: This study is intended for research in creating automated Python Trading Systems using Pandas(https://steemit.com/python/@chipmaker/how-to-find-guidance-on-building-python-based-cryptocurrency-trading-bots). Test this code out in your pine editor with a free account on https://www.tradingview.com. More details follow as time permits! Sample Image of KAL’s AOWL pinescript code in Tradingview Looks as follows: <center>https://cdn.steemitimages.com/DQmfAGVSYWvA1wMFYM6ocDVMKQwr63HPy9JKeTHHqtAGJSU/Untitled.png</center> ``` /////////////////////////////////////////////////////////////////////// //Author: KAL GANDIKOTA // Kal's ADX Overlap with MACD Filter(Short: KAL'S AOWL) is a method/study // to find trending cryptocurrencies which uses // two different periods (10, 5) ADX Overlap with a MACD Filter. // The MACD filter may or may not be used. Also, the MACD filter may be tweaked too. // // Copyright (C) JUNE 2018 KAL GANDIKOTA // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. // // Please Kindly Donate for my Daily Expenses and Greater Works Than These // // BTC Wallet: 1NeDC1GvpFa49DFLuT1v28ohFjqtoWXNQ5 // ETH Wallet: 0x35e557F39A998e7d35dD27c6720C3553e1c65053 // NEO Wallet: AUdiNJDW7boeUyYYNhX86p2T8eWwuELSGr // SteemID: chipmaker // https://www.twitter.com/chipmaker_tweet // https://steemit.com/@chipmaker /////////////////////////////////////////////////////////////////////// study(title="Kal's ADX Overlap With MACD Filter", shorttitle="KALS_AOWL") //ADX5 adx1_len_var = input(5, minval=1, title="DI Length") adx1_lensig_var = input(5, title="ADX Smoothing", minval=1, maxval=50) adx1_simpleBW = input(true, title="ADX in Simple Black and White") adx1_exLevel=input(80,title="Exhaustion Level for ADX, default = 80") adx1_brLevel=input(10,title="BreakOut Level for ADX, default = 20") //ADX14 showADX2=input(false, title="Show ADX2?") adx2_len_var = input(10, minval=1, title="DI Length for ADX2") adx2_lensig_var = input(10, title="ADX2 Smoothing", minval=1, maxval=50) adx2_simpleBW = input(true, title="ADX2 in Simple Black and White") adx2_exLevel=input(50,title="Exhaustion Level for ADX2, default = 50") adx2_brLevel=input(10,title="BreakOut Level for ADX2, default = 15") //MACD Filter macdFilter =input(true, title="MACD Filter") fastLength = input(12, minval=1) slowLength=input(26,minval=1) signalLength=input(9,minval=1) //ADX chg_high = change(high) chg_low = -change(low) f_plusDM(up, down) => plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) plusDM f_minusDM(up, down) => minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) minusDM f_trur(len) => trur = rma(tr, len) trur f_plus(len, plusDM, trur) => plus = fixnan(100 * rma(plusDM, len) / trur) plus f_minus(len, minusDM, trur) => minus = fixnan(100 * rma(minusDM, len) / trur) minus f_adx(len, lensig, plus, minus) => sum = plus + minus adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), lensig) adx plusDM = f_plusDM(chg_high, chg_low) minusDM = f_minusDM(chg_high, chg_low) //ADX1 trur = f_trur(adx1_len_var) plus=f_plus(adx1_len_var, plusDM, trur) minus=f_minus(adx1_len_var, minusDM, trur) adx=f_adx(adx1_len_var, adx1_lensig_var, plus, minus) adx_rising = adx > adx[1] adx_brex_check = adx > adx1_brLevel and adx <= adx1_exLevel adx_rising_brex_check = adx_rising and adx_brex_check PGM = (plus > minus) PLM = (plus < minus) adx1_c1 = adx_rising_brex_check and PGM adx1_c2 = adx_rising_brex_check and PLM dmColorADX = PGM ? green : (PLM ? red : blue) plot(crossover(plus, minus) ? plus : crossunder(plus, minus) ? minus : na, style=circles, linewidth=4, color=dmColorADX, transp=0) //Bar Colors bwColorADX_condition = adx1_simpleBW ? (adx > adx[1]) : adx1_c1 bwColorADX = bwColorADX_condition ? color(black, 0) : color(white, 0) plot(plus, color=green, title="+DI") plot(minus, color=red, title="-DI") plot(adx, color=bwColorADX, style=cross, linewidth=2, title="ADX1", transp=0) //ADX2 trur2 = f_trur(adx2_len_var) plus2 = f_plus(adx2_len_var, plusDM, trur2) minus2 = f_minus(adx2_len_var, minusDM, trur2) adx2 = f_adx(adx2_len_var, adx2_lensig_var, plus2, minus2) adx2_rising = adx2 > adx2[1] adx2_brex_check = adx2 > adx2_brLevel and adx2 <= adx2_exLevel adx2_rising_brex_check = adx2_rising and adx2_brex_check adx2PGM = (plus2 > minus2) adx2PLM = (plus2 < minus2) adx2_c1 = adx2_rising_brex_check and adx2PGM adx2_c2 = adx2_rising_brex_check and adx2PLM bwColorADX2_condition = adx2_simpleBW ? (adx2 > adx2[1]) : adx2_c1 bwColorADX2 = bwColorADX2_condition ? color(black, 0) : color(white, 0) //ADX OVERLAP CONDITIONS adxBuy_condition = adx1_c1 and adx2_c1 adxSell_condition = adx1_c2 and adx2_c2 adx_BS_condition = adxBuy_condition or adxSell_condition plot(showADX2 ? adx2:na, color=bwColorADX2, style=cross, linewidth=2, title="ADX2") //MACD Filter Code [macdLine, _, histLine] = macd(close, fastLength, slowLength, signalLength) histA_IsUp = histLine > histLine[1] and histLine > 0 histA_IsDown = histLine < histLine[1] and histLine > 0 histB_IsDown = histLine < histLine[1] and histLine <= 0 histB_IsUp = histLine > histLine[1] and histLine <= 0 macd_BuyCond = macdFilter ? (histA_IsUp and macdLine > 0) : 1 macd_SellCond = macdFilter ? (histB_IsDown and macdLine < 0) : 1 //Trend Start buyEntry = adxBuy_condition and macd_BuyCond sellEntry = adxSell_condition and macd_SellCond bgcolor(buyEntry ? color(lime,0): (sellEntry ? color(red, 0): na)) hline(5, title="5_ADX", color=green, linestyle=solid) hline(10, title="10_ADX", color=green, linestyle=solid) hline(20, title="20_ADX", color=yellow, linestyle=solid) hline(30, title="30_ADX", color=blue, linestyle=solid) hline(50, title="50_ADX", color=yellow, linestyle=solid) hline(60, title="60_ADX", color=maroon, linestyle=solid) hline(70, title="70_ADX", color=maroon, linestyle=solid) // Alert alertcondition(buyEntry or sellEntry, title="ADX5_14 Overlap", message="ADX Overlap Confirmed") ```
👍 pinoy,