-----------------------------------------------------------------
---- "UPGRADE CDST v3.0 FULL VERSION ----------------------------
---- CREATE BY "KITTITAT WASATI" --------------------------------
---- Youtube: https://w...content-available-to-author-only...e.com/c/KittitatWasati ----------
-----------------------------------------------------------------
---- Hello all from THAILAND! -----------------------------------
---- This Indicator make for trading binary option --------------
---- It is suitable for beginners and make begin to trader ------
---- This is not financial advice -------------------------------
---- keep calm and stay cool ------------------------------------
instrument { name = "UCDST v3 FULL",
icon="indicators:MACD",
overlay = true
}
-- EMA setting --
e5 = input (5, "fastMa", input.integer, 3,250,1)
e15 = input (15, "slowMa", input.integer, 3,250,1)
e30 = input (30, "middleMA", input.integer, 3,250,1)
e60 = input (60, "trendMA", input.integer, 3,250,1)
s5 = input (5, "SMA", input.integer, 1,250,1)
------ input group ------
-- Line & Fill --
input_group {
"Line & Fill",
color1 = input { default = "#26a8ff", type = input.color },
color2 = input { default = "#ffff01", type = input.color },
color3 = input { default = "#ffffff", type = input.color },
color4 = input { default = "#ff0101", type = input.color },
width = input { default = 1, type = input.line_width},
fill_a_color = input { default = rgba(255,88,77,0.15), type = input.color },
fill_b_color = input { default = rgba(43,225,135,0.15), type = input.color },
fill_c_color = input { default = rgba(38,168,255,0.15), type = input.color },
visible = input { default = false, type = input.plot_visibility }
}
-- Arrow --
input_group {
"Color Arrow",
colorBuy = input { default = "#08FE0B", type = input.color },
colorSell = input { default = "#FF0909", type = input.color },
width = input { default = true, type = input.line_width}
}
-- b1 Signal --
input_group {
"B1 SIGNAL (1 MINUTE TRADING)",
b1_visible = input { default = false, type = input.plot_visibility }
}
input_group {
"B2 SIGNAL (2 MINUTE TRADING)",
b2_visible = input { default = false, type = input.plot_visibility }
}
input_group {
"B3 SIGNAL (3 MINUTE TRADING)",
b3_visible = input { default = false, type = input.plot_visibility }
}
input_group {
"B4 SIGNAL (4 MINUTE TRADING)",
b4_visible = input { default = false, type = input.plot_visibility }
}
input_group {
"B5 SIGNAL (5 MINUTE TRADING)",
b5_visible = input { default = false, type = input.plot_visibility }
}
-- color of sma5 --
input_group {
"SMA5",
color5 = input { default = "#26a8ff", type = input.color },
width2 = input { default = 1, type = input.line_width },
sma5_visible = input { default = false, type = input.plot_visibility }
}
-- backtester --
input_group {
"--- BACKTESTER B1",
b1check_visible = input { default = true, type = input.plot_visibility }
}
input_group {
"--- BACKTESTER B1 REJECTION",
b1rejectioncheck_visible = input { default = false, type = input.plot_visibility }
}
input_group {
"-- BACKTESTER B2",
b2check_visible = input { default = true, type = input.plot_visibility }
}
input_group {
"-- BACKTESTER B3",
b3check_visible = input { default = true, type = input.plot_visibility }
}
input_group {
"-- BACKTESTER B4",
b4check_visible = input { default = true, type = input.plot_visibility }
}
input_group {
"-- BACKTESTER B5",
b5check_visible = input { default = true, type = input.plot_visibility }
}
-- plot --
ema5 = ema (close, e5)
ema15 = ema (close, e15)
ema30 = ema (close, e30)
ema60 = ema (close, e60)
sma5 = sma (close, s5)
ema200 = ema(close, 200)
if sma5_visible then
plot (sma5, "SMA5", color5, width2)
if visible then
plot (ema5, "EMA5", color1, width)
plot (ema15, "EMA15", color2, width)
plot (ema30, "EMA30", color3, width)
fill (ema15, ema5, "", ema15 > ema5 and fill_b_color or fill_a_color)
fill (ema15, ema30, "", ema15 > ema30 and fill_b_color or fill_a_color)
fill (ema30, ema60, "", ema60 > ema30 and fill_c_color or fill_c_color)
-- B1 Condition --
b1candle4buy = close[1] < ema5[1] and
close[2] < ema5[2] and
close[3] < ema5[3] and
close[4] < ema5[4] and
open[1] < ema5[1] and
open[2] < ema5[2] and
open[3] < ema5[3] and
open[4] < ema5[4]
b1candle4sell = close[1] > ema5[1] and
close[2] > ema5[2] and
close[3] > ema5[3] and
close[4] > ema5[4] and
open[1] > ema5[1] and
open[2] > ema5[2] and
open[3] > ema5[3] and
open[4] > ema5[4]
bigcandlebuy
= abs(open
-close
) > abs(high
-close
)*3bigcandlesell
= abs(open
-close
) > abs(low
-close
)*3bigcandle
= abs(close
-open
) > abs(close
[1]-open
[1]) and
abs(close
-open
) > abs(close
[2]-open
[2]) and
abs(close
-open
) > abs(close
[3]-open
[3]) and
abs(close
-open
) > abs(close
[4]-open
[4]) b1buycon = open < ema5 and
close > ema5 and
b1candle4buy and
bigcandlebuy and
bigcandle and
close < ema15 and
high < ema15 and
ema15 > ema5 and
ema30 > ema15
b1sellcon = open > ema5 and
close < ema5 and
b1candle4sell and
bigcandlesell and
bigcandle and
close > ema15 and
low > ema15 and
ema15 < ema5 and
ema30 < ema15
-- end of B1 Condition
--
if b1_visible then
-- B1 Buy --
plot_shape(b1buycon,
"B1_Buy",
shape_style.arrowup,
shape_size.auto,
colorBuy,
shape_location.belowbar,
0,
"B1",
colorBuy
)
-- B1 Sell --
plot_shape(b1sellcon,
"B1_Sell",
shape_style.arrowdown,
shape_size.auto,
colorSell,
shape_location.abovebar,
0,
"B1",
colorSell
)
b2candle4buy = close[1] < ema15[1] and
close[2] < ema15[2] and
close[3] < ema15[3] and
close[4] < ema15[4] and
open[1] < ema15[1] and
open[2] < ema15[2] and
open[3] < ema15[3] and
open[4] < ema15[4] and
abs(open
-close
) > abs(high
-close
)*3 b2candle4sell = close[1] > ema15[1] and
close[2] > ema15[2] and
close[3] > ema15[3] and
close[4] > ema15[4] and
open[1] > ema15[1] and
open[2] > ema15[2] and
open[3] > ema15[3] and
open[4] > ema15[4] and
abs(open
-close
) > abs(low
-close
)*3 b2bigcandle
= abs(close
-open
) > abs(close
[1]-open
[1]) and
abs(close
-open
) > abs(close
[2]-open
[2]) and
abs(close
-open
) > abs(close
[3]-open
[3]) and
abs(close
-open
) > abs(close
[4]-open
[4]) b2bigcandlebuy = close > high[1] and
close > high[2] and
close > high[3] and
close > high[4]
b2bigcandlesell = close < low[1] and
close < low[2] and
close < low[3] and
close < low[4]
b2buycon = open < ema15 and
close > ema15 and
b2candle4buy and
b2bigcandle and
b2bigcandlebuy and
high < ema30 and
ema60 > ema30 and
ema30 > ema15 and
ema15 > ema5
b2sellcon = open > ema15 and
close < ema15 and
b2candle4sell and
b2bigcandle and
b2bigcandlesell and
low > ema30 and
ema60 < ema30 and
ema30 < ema15 and
ema15 < ema5
-- B2 Buy --
plot_shape(b2buycon,
"B2_Buy",
shape_style.arrowup,
shape_size.auto,
colorBuy,
shape_location.belowbar,
0,
"B2",
colorBuy
)
-- B2 Sell --
plot_shape(b2sellcon,
"B2_Sell",
shape_style.arrowdown,
shape_size.auto,
colorSell,
shape_location.abovebar,
0,
"B2",
colorSell
)
b3candlebuy = high[1] < ema30[1] and
high[2] < ema30[2] and
high[3] < ema30[3] and
high[4] < ema30[4] and
high[5] < ema30[5]
b3candlesell = low[1] > ema30[1] and
low[2] > ema30[2] and
low[3] > ema30[3] and
low[4] > ema30[4] and
low[5] > ema30[5]
b3xcrossbuy = ema5[1] < ema15[1] and
ema5[2] < ema15[2] and
ema5[3] < ema15[3] and
ema5[4] < ema15[4] and
ema5[5] < ema15[5]
b3xcrosssell = ema5[1] > ema15[1] and
ema5[2] > ema15[2] and
ema5[3] > ema15[3] and
ema5[4] > ema15[4] and
ema5[5] > ema15[5]
b3bigcandle
= abs(close
-open
) > abs(close
[1]-open
[1]) and
abs(close
-open
) > abs(close
[2]-open
[2]) and
abs(close
-open
) > abs(close
[3]-open
[3]) and
abs(close
-open
) > abs(close
[4]-open
[4]) b3trendbuy = ema30 > ema15 and
ema30[1] > ema15[1] and
ema30[2] > ema15[2] and
ema30[3] > ema15[3] and
ema30[4] > ema15[4] and
ema30[5] > ema15[5] and
ema60 > ema30 and
ema60[1] > ema30[1] and
ema60[2] > ema30[2] and
ema60[3] > ema30[3] and
ema60[4] > ema30[4] and
ema60[5] > ema30[5]
b3trendsell = ema30 < ema15 and
ema30[1] < ema15[1] and
ema30[2] < ema15[2] and
ema30[3] < ema15[3] and
ema30[4] < ema15[4] and
ema30[5] < ema15[5] and
ema60 < ema30 and
ema60[1] < ema30[1] and
ema60[2] < ema30[2] and
ema60[3] < ema30[3] and
ema60[4] < ema30[4] and
ema60[5] < ema30[5]
b3buycon = ema5 > ema15 and
b3xcrossbuy and
b3trendbuy and
b3candlebuy and
b3bigcandle and
close > ema30 and
close[1] < ema30[1] and
close < ema60 and
high < ema60
b3sellcon = ema5 < ema15 and
b3xcrosssell and
b3trendsell and
b3candlesell and
b3bigcandle and
close < ema30 and
close[1] > ema30[1] and
close > ema60 and
low > ema60
-- B3 Buy --
plot_shape(b3buycon,
"B3_Buy",
shape_style.arrowup,
shape_size.auto,
colorBuy,
shape_location.belowbar,
0,
"B3",
colorBuy
)
-- B3 Sell --
plot_shape(b3sellcon,
"B3_Sell",
shape_style.arrowdown,
shape_size.auto,
colorSell,
shape_location.abovebar,
0,
"B3",
colorSell
)
b4candlebuy = high[1] < ema200[1] and
high[2] < ema200[2] and
high[3] < ema200[3] and
high[4] < ema200[4] and
high[5] < ema200[5]
b4candlesell = low[1] > ema200[1] and
low[2] > ema200[2] and
low[3] > ema200[3] and
low[4] > ema200[4] and
low[5] > ema200[5]
b4xcrossbuy = ema5[1] < ema30[1] and
ema5[2] < ema30[2] and
ema5[3] < ema30[3] and
ema5[4] < ema30[4] and
ema5[5] < ema30[5]
b4xcrosssell = ema5[1] > ema30[1] and
ema5[2] > ema30[2] and
ema5[3] > ema30[3] and
ema5[4] > ema30[4] and
ema5[5] > ema30[5]
b4trendbuy = ema30 > ema15 and
ema30[1] > ema15[1] and
ema30[2] > ema15[2] and
ema30[3] > ema15[3] and
ema30[4] > ema15[4] and
ema60 > ema30 and
ema60[1] > ema30[1] and
ema60[2] > ema30[2] and
ema60[3] > ema30[3] and
ema60[4] > ema30[4]
b4trendsell = ema30 < ema15 and
ema30[1] < ema15[1] and
ema30[2] < ema15[2] and
ema30[3] < ema15[3] and
ema30[4] < ema15[4] and
ema60 < ema30 and
ema60[1] < ema30[1] and
ema60[2] < ema30[2] and
ema60[3] < ema30[3] and
ema60[4] < ema30[4]
b4bigcandle
= abs(close
-open
) > abs(close
[1]-open
[1]) and
abs(close
-open
) > abs(close
[2]-open
[2]) and
abs(close
-open
) > abs(close
[3]-open
[3]) and
abs(close
-open
) > abs(close
[4]-open
[4]) b4buycon = ema5 > ema30 and
b4xcrossbuy and
b4trendbuy and
b4candlebuy and
b4bigcandle and
close > ema60 and
close < ema200 and
high < ema200
b4sellcon = ema5 < ema30 and
b4xcrosssell and
b4trendsell and
b4candlesell and
b4bigcandle and
close < ema60 and
close > ema200 and
low > ema200
-- B4 Buy --
plot_shape(b4buycon,
"B4_Buy",
shape_style.arrowup,
shape_size.auto,
colorBuy,
shape_location.belowbar,
0,
"B4",
colorBuy
)
-- B4 Sell --
plot_shape(b4sellcon,
"B4_Sell",
shape_style.arrowdown,
shape_size.auto,
colorSell,
shape_location.abovebar,
0,
"B4",
colorSell
)
if b5_visible then
b5xcrossbuy = ema5[1] < ema60[1] and
ema5[2] < ema60[2] and
ema5[3] < ema60[3] and
ema5[4] < ema60[4] and
ema5[5] < ema60[5] and
ema5[6] < ema60[6] and
ema5[7] < ema60[7] and
ema5[8] < ema60[8] and
ema5[9] < ema60[9]
b5xcrosssell = ema5[1] > ema60[1] and
ema5[2] > ema60[2] and
ema5[3] > ema60[3] and
ema5[4] > ema60[4] and
ema5[5] > ema60[5] and
ema5[6] > ema60[6] and
ema5[7] > ema60[7] and
ema5[8] > ema60[8] and
ema5[9] > ema60[9]
b5buytrend = ema5 > ema15 and
ema5[1] > ema15[1] and
ema5[2] > ema15[2] and
ema5[3] > ema15[3] and
ema5[4] > ema15[4]
b5selltrend = ema5 < ema15 and
ema5[1] < ema15[1] and
ema5[2] < ema15[2] and
ema5[3] < ema15[3] and
ema5[4] < ema15[4]
b5buycon = ema5 > ema60 and
b5xcrossbuy and
b5buytrend and
ema15 > ema30 and
ema15 < ema60 and
close > ema5 and
close > ema60
b5sellcon = ema5 < ema60 and
b5xcrosssell and
b5selltrend and
ema15 < ema30 and
ema15 > ema60 and
close < ema5 and
close < ema60
-- B5 Buy Signal --
plot_shape(b5buycon,
"B5_Buy",
shape_style.arrowup,
shape_size.auto,
colorBuy,
shape_location.belowbar,
0,
"B5",
colorBuy
)
-- B5 Sell Signal --
plot_shape(b5sellcon,
"B5_Sell",
shape_style.arrowdown,
shape_size.auto,
colorSell,
shape_location.abovebar,
0,
"B5",
colorSell
)
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0tLSAiVVBHUkFERSBDRFNUIHYzLjAgRlVMTCBWRVJTSU9OIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0tLSBDUkVBVEUgQlkgIktJVFRJVEFUIFdBU0FUSSIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0tLSBZb3V0dWJlOiBodHRwczovL3cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmUuY29tL2MvS2l0dGl0YXRXYXNhdGkgLS0tLS0tLS0tLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLS0tIEhlbGxvIGFsbCBmcm9tIFRIQUlMQU5EISAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLS0tIFRoaXMgSW5kaWNhdG9yIG1ha2UgZm9yIHRyYWRpbmcgYmluYXJ5IG9wdGlvbiAtLS0tLS0tLS0tLS0tLQotLS0tIEl0IGlzIHN1aXRhYmxlIGZvciBiZWdpbm5lcnMgYW5kIG1ha2UgYmVnaW4gdG8gdHJhZGVyIC0tLS0tLQotLS0tIFRoaXMgaXMgbm90IGZpbmFuY2lhbCBhZHZpY2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLS0tIGtlZXAgY2FsbSBhbmQgc3RheSBjb29sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppbnN0cnVtZW50IHsgbmFtZSA9ICJVQ0RTVCB2MyBGVUxMIiwKICAgICAgICAgICAgIGljb249ImluZGljYXRvcnM6TUFDRCIsCiAgICAgICAgICAgICBvdmVybGF5ID0gdHJ1ZQogICAgICAgICAgIH0KLS0gRU1BIHNldHRpbmcgLS0KZTUgPSBpbnB1dCAoNSwgImZhc3RNYSIsIGlucHV0LmludGVnZXIsIDMsMjUwLDEpCmUxNSA9IGlucHV0ICgxNSwgInNsb3dNYSIsIGlucHV0LmludGVnZXIsIDMsMjUwLDEpCmUzMCA9IGlucHV0ICgzMCwgIm1pZGRsZU1BIiwgaW5wdXQuaW50ZWdlciwgMywyNTAsMSkKZTYwID0gaW5wdXQgKDYwLCAidHJlbmRNQSIsIGlucHV0LmludGVnZXIsIDMsMjUwLDEpCnM1ID0gaW5wdXQgKDUsICJTTUEiLCBpbnB1dC5pbnRlZ2VyLCAxLDI1MCwxKQotLS0tLS0gaW5wdXQgZ3JvdXAgLS0tLS0tCi0tIExpbmUgJiBGaWxsIC0tCmlucHV0X2dyb3VwIHsKICAgIkxpbmUgJiBGaWxsIiwKICAgY29sb3IxID0gaW5wdXQgeyBkZWZhdWx0ID0gIiMyNmE4ZmYiLCB0eXBlID0gaW5wdXQuY29sb3IgfSwKICAgY29sb3IyID0gaW5wdXQgeyBkZWZhdWx0ID0gIiNmZmZmMDEiLCB0eXBlID0gaW5wdXQuY29sb3IgfSwKICAgY29sb3IzID0gaW5wdXQgeyBkZWZhdWx0ID0gIiNmZmZmZmYiLCB0eXBlID0gaW5wdXQuY29sb3IgfSwKICAgY29sb3I0ID0gaW5wdXQgeyBkZWZhdWx0ID0gIiNmZjAxMDEiLCB0eXBlID0gaW5wdXQuY29sb3IgfSwKICAgd2lkdGggPSBpbnB1dCB7IGRlZmF1bHQgPSAxLCB0eXBlID0gaW5wdXQubGluZV93aWR0aH0sCiAgIGZpbGxfYV9jb2xvciA9IGlucHV0IHsgZGVmYXVsdCAgPSByZ2JhKDI1NSw4OCw3NywwLjE1KSwgdHlwZSA9IGlucHV0LmNvbG9yIH0sCiAgIGZpbGxfYl9jb2xvciA9IGlucHV0IHsgZGVmYXVsdCA9IHJnYmEoNDMsMjI1LDEzNSwwLjE1KSwgdHlwZSA9IGlucHV0LmNvbG9yIH0sCiAgIGZpbGxfY19jb2xvciA9IGlucHV0IHsgZGVmYXVsdCA9IHJnYmEoMzgsMTY4LDI1NSwwLjE1KSwgdHlwZSA9IGlucHV0LmNvbG9yIH0sCiAgIHZpc2libGUgPSBpbnB1dCB7IGRlZmF1bHQgPSBmYWxzZSwgdHlwZSA9IGlucHV0LnBsb3RfdmlzaWJpbGl0eSB9Cn0KLS0gQXJyb3cgLS0KaW5wdXRfZ3JvdXAgewogICAiQ29sb3IgQXJyb3ciLAogICBjb2xvckJ1eSA9IGlucHV0IHsgZGVmYXVsdCA9ICIjMDhGRTBCIiwgdHlwZSA9IGlucHV0LmNvbG9yIH0sCiAgIGNvbG9yU2VsbCA9IGlucHV0IHsgZGVmYXVsdCA9ICIjRkYwOTA5IiwgdHlwZSA9IGlucHV0LmNvbG9yIH0sCiAgIHdpZHRoID0gaW5wdXQgeyBkZWZhdWx0ID0gdHJ1ZSwgdHlwZSA9IGlucHV0LmxpbmVfd2lkdGh9Cn0KLS0gYjEgU2lnbmFsIC0tCmlucHV0X2dyb3VwIHsKICAgIkIxIFNJR05BTCAoMSBNSU5VVEUgVFJBRElORykiLAogICAgYjFfdmlzaWJsZSA9IGlucHV0IHsgZGVmYXVsdCA9IGZhbHNlLCB0eXBlID0gaW5wdXQucGxvdF92aXNpYmlsaXR5IH0KfQppbnB1dF9ncm91cCB7CiAgICJCMiBTSUdOQUwgKDIgTUlOVVRFIFRSQURJTkcpIiwKICAgIGIyX3Zpc2libGUgPSBpbnB1dCB7IGRlZmF1bHQgPSBmYWxzZSwgdHlwZSA9IGlucHV0LnBsb3RfdmlzaWJpbGl0eSB9Cn0KaW5wdXRfZ3JvdXAgewogICAiQjMgU0lHTkFMICgzIE1JTlVURSBUUkFESU5HKSIsCiAgICBiM192aXNpYmxlID0gaW5wdXQgeyBkZWZhdWx0ID0gZmFsc2UsIHR5cGUgPSBpbnB1dC5wbG90X3Zpc2liaWxpdHkgfQp9CmlucHV0X2dyb3VwIHsKICAgIkI0IFNJR05BTCAoNCBNSU5VVEUgVFJBRElORykiLAogICAgYjRfdmlzaWJsZSA9IGlucHV0IHsgZGVmYXVsdCA9IGZhbHNlLCB0eXBlID0gaW5wdXQucGxvdF92aXNpYmlsaXR5IH0KfQppbnB1dF9ncm91cCB7CiAgICJCNSBTSUdOQUwgKDUgTUlOVVRFIFRSQURJTkcpIiwKICAgIGI1X3Zpc2libGUgPSBpbnB1dCB7IGRlZmF1bHQgPSBmYWxzZSwgdHlwZSA9IGlucHV0LnBsb3RfdmlzaWJpbGl0eSB9Cn0KLS0gY29sb3Igb2Ygc21hNSAtLQppbnB1dF9ncm91cCB7CiAgICJTTUE1IiwKICAgY29sb3I1ID0gaW5wdXQgeyBkZWZhdWx0ID0gIiMyNmE4ZmYiLCB0eXBlID0gaW5wdXQuY29sb3IgfSwKICAgd2lkdGgyID0gaW5wdXQgeyBkZWZhdWx0ID0gMSwgdHlwZSA9IGlucHV0LmxpbmVfd2lkdGggfSwKICAgc21hNV92aXNpYmxlID0gaW5wdXQgeyBkZWZhdWx0ID0gZmFsc2UsIHR5cGUgPSBpbnB1dC5wbG90X3Zpc2liaWxpdHkgfQp9Ci0tIGJhY2t0ZXN0ZXIgLS0KaW5wdXRfZ3JvdXAgewogICAiLS0tIEJBQ0tURVNURVIgQjEiLAogICAgYjFjaGVja192aXNpYmxlID0gaW5wdXQgeyBkZWZhdWx0ID0gdHJ1ZSwgdHlwZSA9IGlucHV0LnBsb3RfdmlzaWJpbGl0eSB9Cn0KaW5wdXRfZ3JvdXAgewogICAiLS0tIEJBQ0tURVNURVIgQjEgUkVKRUNUSU9OIiwKICAgIGIxcmVqZWN0aW9uY2hlY2tfdmlzaWJsZSA9IGlucHV0IHsgZGVmYXVsdCA9IGZhbHNlLCB0eXBlID0gaW5wdXQucGxvdF92aXNpYmlsaXR5IH0KfQppbnB1dF9ncm91cCB7CiAgICItLSBCQUNLVEVTVEVSIEIyIiwKICAgIGIyY2hlY2tfdmlzaWJsZSA9IGlucHV0IHsgZGVmYXVsdCA9IHRydWUsIHR5cGUgPSBpbnB1dC5wbG90X3Zpc2liaWxpdHkgfQp9CmlucHV0X2dyb3VwIHsKICAgIi0tIEJBQ0tURVNURVIgQjMiLAogICAgYjNjaGVja192aXNpYmxlID0gaW5wdXQgeyBkZWZhdWx0ID0gdHJ1ZSwgdHlwZSA9IGlucHV0LnBsb3RfdmlzaWJpbGl0eSB9Cn0KaW5wdXRfZ3JvdXAgewogICAiLS0gQkFDS1RFU1RFUiBCNCIsCiAgICBiNGNoZWNrX3Zpc2libGUgPSBpbnB1dCB7IGRlZmF1bHQgPSB0cnVlLCB0eXBlID0gaW5wdXQucGxvdF92aXNpYmlsaXR5IH0KfQppbnB1dF9ncm91cCB7CiAgICItLSBCQUNLVEVTVEVSIEI1IiwKICAgIGI1Y2hlY2tfdmlzaWJsZSA9IGlucHV0IHsgZGVmYXVsdCA9IHRydWUsIHR5cGUgPSBpbnB1dC5wbG90X3Zpc2liaWxpdHkgfQp9Ci0tIHBsb3QgLS0gCmVtYTUgPSBlbWEgKGNsb3NlLCBlNSkKZW1hMTUgPSBlbWEgKGNsb3NlLCBlMTUpCmVtYTMwID0gZW1hIChjbG9zZSwgZTMwKQplbWE2MCA9IGVtYSAoY2xvc2UsIGU2MCkKc21hNSA9IHNtYSAoY2xvc2UsIHM1KQplbWEyMDAgPSBlbWEoY2xvc2UsIDIwMCkKaWYgc21hNV92aXNpYmxlIHRoZW4KICAgIHBsb3QgKHNtYTUsICJTTUE1IiwgY29sb3I1LCB3aWR0aDIpCmVuZAppZiB2aXNpYmxlIHRoZW4KcGxvdCAoZW1hNSwgIkVNQTUiLCBjb2xvcjEsIHdpZHRoKQpwbG90IChlbWExNSwgIkVNQTE1IiwgY29sb3IyLCB3aWR0aCkKcGxvdCAoZW1hMzAsICJFTUEzMCIsIGNvbG9yMywgd2lkdGgpCiAgICBmaWxsIChlbWExNSwgZW1hNSwgIiIsIGVtYTE1ID4gZW1hNSBhbmQgZmlsbF9iX2NvbG9yIG9yIGZpbGxfYV9jb2xvcikKICAgIGZpbGwgKGVtYTE1LCBlbWEzMCwgIiIsIGVtYTE1ID4gZW1hMzAgYW5kIGZpbGxfYl9jb2xvciBvciBmaWxsX2FfY29sb3IpCiAgICBmaWxsIChlbWEzMCwgZW1hNjAsICIiLCBlbWE2MCA+IGVtYTMwIGFuZCBmaWxsX2NfY29sb3Igb3IgZmlsbF9jX2NvbG9yKQplbmQKLS0gQjEgQ29uZGl0aW9uIC0tCmIxY2FuZGxlNGJ1eSA9IGNsb3NlWzFdIDwgZW1hNVsxXSBhbmQKICAgICAgICAgICAgICAgY2xvc2VbMl0gPCBlbWE1WzJdIGFuZAogICAgICAgICAgICAgICBjbG9zZVszXSA8IGVtYTVbM10gYW5kCiAgICAgICAgICAgICAgIGNsb3NlWzRdIDwgZW1hNVs0XSBhbmQKICAgICAgICAgICAgICAgb3BlblsxXSA8IGVtYTVbMV0gYW5kCiAgICAgICAgICAgICAgIG9wZW5bMl0gPCBlbWE1WzJdIGFuZAogICAgICAgICAgICAgICBvcGVuWzNdIDwgZW1hNVszXSBhbmQKICAgICAgICAgICAgICAgb3Blbls0XSA8IGVtYTVbNF0gICAgICAgICAgICAgCmIxY2FuZGxlNHNlbGwgPSBjbG9zZVsxXSA+IGVtYTVbMV0gYW5kICAgIAogICAgICAgICAgICAgICAgY2xvc2VbMl0gPiBlbWE1WzJdIGFuZAogICAgICAgICAgICAgICAgY2xvc2VbM10gPiBlbWE1WzNdIGFuZAogICAgICAgICAgICAgICAgY2xvc2VbNF0gPiBlbWE1WzRdIGFuZAogICAgICAgICAgICAgICAgb3BlblsxXSA+IGVtYTVbMV0gYW5kCiAgICAgICAgICAgICAgICBvcGVuWzJdID4gZW1hNVsyXSBhbmQKICAgICAgICAgICAgICAgIG9wZW5bM10gPiBlbWE1WzNdIGFuZAogICAgICAgICAgICAgICAgb3Blbls0XSA+IGVtYTVbNF0gICAgICAgICAgICAKYmlnY2FuZGxlYnV5ID0gYWJzKG9wZW4tY2xvc2UpID4gYWJzKGhpZ2gtY2xvc2UpKjMKYmlnY2FuZGxlc2VsbCA9IGFicyhvcGVuLWNsb3NlKSA+IGFicyhsb3ctY2xvc2UpKjMKYmlnY2FuZGxlID0gYWJzKGNsb3NlLW9wZW4pID4gYWJzKGNsb3NlWzFdLW9wZW5bMV0pIGFuZAogICAgICAgICAgICBhYnMoY2xvc2Utb3BlbikgPiBhYnMoY2xvc2VbMl0tb3BlblsyXSkgYW5kCiAgICAgICAgICAgIGFicyhjbG9zZS1vcGVuKSA+IGFicyhjbG9zZVszXS1vcGVuWzNdKSBhbmQKICAgICAgICAgICAgYWJzKGNsb3NlLW9wZW4pID4gYWJzKGNsb3NlWzRdLW9wZW5bNF0pCmIxYnV5Y29uID0gb3BlbiA8IGVtYTUgYW5kCiAgICAgICAgICAgY2xvc2UgPiBlbWE1IGFuZAogICAgICAgICAgIGIxY2FuZGxlNGJ1eSBhbmQKICAgICAgICAgICBiaWdjYW5kbGVidXkgYW5kCiAgICAgICAgICAgYmlnY2FuZGxlIGFuZAogICAgICAgICAgIGNsb3NlIDwgZW1hMTUgYW5kCiAgICAgICAgICAgaGlnaCA8IGVtYTE1IGFuZAogICAgICAgICAgIGVtYTE1ID4gZW1hNSBhbmQKICAgICAgICAgICBlbWEzMCA+IGVtYTE1CmIxc2VsbGNvbiA9IG9wZW4gPiBlbWE1IGFuZAogICAgICAgICAgICBjbG9zZSA8IGVtYTUgYW5kCiAgICAgICAgICAgIGIxY2FuZGxlNHNlbGwgYW5kCiAgICAgICAgICAgIGJpZ2NhbmRsZXNlbGwgYW5kCiAgICAgICAgICAgIGJpZ2NhbmRsZSBhbmQKICAgICAgICAgICAgY2xvc2UgPiBlbWExNSBhbmQKICAgICAgICAgICAgbG93ID4gZW1hMTUgYW5kCiAgICAgICAgICAgIGVtYTE1IDwgZW1hNSBhbmQKICAgICAgICAgICAgZW1hMzAgPCBlbWExNQotLSBlbmQgb2YgQjEgQ29uZGl0aW9uIC0tCgppZiBiMV92aXNpYmxlIHRoZW4gCi0tIEIxIEJ1eSAtLSAgICAgICAgCiAgICBwbG90X3NoYXBlKGIxYnV5Y29uLAogICAgICAgICJCMV9CdXkiLAogICAgICAgIHNoYXBlX3N0eWxlLmFycm93dXAsCiAgICAgICAgc2hhcGVfc2l6ZS5hdXRvLAogICAgICAgIGNvbG9yQnV5LAogICAgICAgIHNoYXBlX2xvY2F0aW9uLmJlbG93YmFyLAogICAgICAgIDAsCiAgICAgICAgIkIxIiwKICAgICAgICBjb2xvckJ1eSAgICAgCiAgICApCi0tIEIxIFNlbGwgLS0KICAgIHBsb3Rfc2hhcGUoYjFzZWxsY29uLAogICAgICAgICJCMV9TZWxsIiwKICAgICAgICBzaGFwZV9zdHlsZS5hcnJvd2Rvd24sCiAgICAgICAgc2hhcGVfc2l6ZS5hdXRvLAogICAgICAgIGNvbG9yU2VsbCwKICAgICAgICBzaGFwZV9sb2NhdGlvbi5hYm92ZWJhciwKICAgICAgICAwLAogICAgICAgICJCMSIsCiAgICAgICAgY29sb3JTZWxsICAgICAKICAgICkKZW5kCmIyY2FuZGxlNGJ1eSA9IGNsb3NlWzFdIDwgZW1hMTVbMV0gYW5kCiAgICAgICAgICAgICAgIGNsb3NlWzJdIDwgZW1hMTVbMl0gYW5kCiAgICAgICAgICAgICAgIGNsb3NlWzNdIDwgZW1hMTVbM10gYW5kCiAgICAgICAgICAgICAgIGNsb3NlWzRdIDwgZW1hMTVbNF0gYW5kCiAgICAgICAgICAgICAgIG9wZW5bMV0gPCBlbWExNVsxXSBhbmQKICAgICAgICAgICAgICAgb3BlblsyXSA8IGVtYTE1WzJdIGFuZAogICAgICAgICAgICAgICBvcGVuWzNdIDwgZW1hMTVbM10gYW5kCiAgICAgICAgICAgICAgIG9wZW5bNF0gPCBlbWExNVs0XSBhbmQKICAgICAgICAgICAgICAgYWJzKG9wZW4tY2xvc2UpID4gYWJzKGhpZ2gtY2xvc2UpKjMKYjJjYW5kbGU0c2VsbCA9IGNsb3NlWzFdID4gZW1hMTVbMV0gYW5kICAgIAogICAgICAgICAgICAgICAgY2xvc2VbMl0gPiBlbWExNVsyXSBhbmQKICAgICAgICAgICAgICAgIGNsb3NlWzNdID4gZW1hMTVbM10gYW5kCiAgICAgICAgICAgICAgICBjbG9zZVs0XSA+IGVtYTE1WzRdIGFuZAogICAgICAgICAgICAgICAgb3BlblsxXSA+IGVtYTE1WzFdIGFuZAogICAgICAgICAgICAgICAgb3BlblsyXSA+IGVtYTE1WzJdIGFuZAogICAgICAgICAgICAgICAgb3BlblszXSA+IGVtYTE1WzNdIGFuZAogICAgICAgICAgICAgICAgb3Blbls0XSA+IGVtYTE1WzRdIGFuZAogICAgICAgICAgICAgICAgYWJzKG9wZW4tY2xvc2UpID4gYWJzKGxvdy1jbG9zZSkqMwpiMmJpZ2NhbmRsZSA9IGFicyhjbG9zZS1vcGVuKSA+IGFicyhjbG9zZVsxXS1vcGVuWzFdKSBhbmQKICAgICAgICAgICAgICBhYnMoY2xvc2Utb3BlbikgPiBhYnMoY2xvc2VbMl0tb3BlblsyXSkgYW5kCiAgICAgICAgICAgICAgYWJzKGNsb3NlLW9wZW4pID4gYWJzKGNsb3NlWzNdLW9wZW5bM10pIGFuZAogICAgICAgICAgICAgIGFicyhjbG9zZS1vcGVuKSA+IGFicyhjbG9zZVs0XS1vcGVuWzRdKQpiMmJpZ2NhbmRsZWJ1eSA9IGNsb3NlID4gaGlnaFsxXSBhbmQKICAgICAgICAgICAgICAgICBjbG9zZSA+IGhpZ2hbMl0gYW5kCiAgICAgICAgICAgICAgICAgY2xvc2UgPiBoaWdoWzNdIGFuZAogICAgICAgICAgICAgICAgIGNsb3NlID4gaGlnaFs0XQpiMmJpZ2NhbmRsZXNlbGwgPSBjbG9zZSA8IGxvd1sxXSBhbmQKICAgICAgICAgICAgICAgICAgY2xvc2UgPCBsb3dbMl0gYW5kCiAgICAgICAgICAgICAgICAgIGNsb3NlIDwgbG93WzNdIGFuZAogICAgICAgICAgICAgICAgICBjbG9zZSA8IGxvd1s0XQpiMmJ1eWNvbiA9IG9wZW4gPCBlbWExNSBhbmQgCiAgICAgICAgICAgY2xvc2UgPiBlbWExNSBhbmQKICAgICAgICAgICBiMmNhbmRsZTRidXkgYW5kCiAgICAgICAgICAgYjJiaWdjYW5kbGUgYW5kCiAgICAgICAgICAgYjJiaWdjYW5kbGVidXkgYW5kCiAgICAgICAgICAgaGlnaCA8IGVtYTMwIGFuZAogICAgICAgICAgIGVtYTYwID4gZW1hMzAgYW5kCiAgICAgICAgICAgZW1hMzAgPiBlbWExNSBhbmQKICAgICAgICAgICBlbWExNSA+IGVtYTUKYjJzZWxsY29uID0gb3BlbiA+IGVtYTE1IGFuZCAKICAgICAgICAgICAgY2xvc2UgPCBlbWExNSBhbmQKICAgICAgICAgICAgYjJjYW5kbGU0c2VsbCBhbmQKICAgICAgICAgICAgYjJiaWdjYW5kbGUgYW5kCiAgICAgICAgICAgIGIyYmlnY2FuZGxlc2VsbCBhbmQKICAgICAgICAgICAgbG93ID4gZW1hMzAgYW5kCiAgICAgICAgICAgIGVtYTYwIDwgZW1hMzAgYW5kCiAgICAgICAgICAgIGVtYTMwIDwgZW1hMTUgYW5kCiAgICAgICAgICAgIGVtYTE1IDwgZW1hNQotLSBCMiBCdXkgLS0KICAgIHBsb3Rfc2hhcGUoYjJidXljb24sCiAgICAgICAgIkIyX0J1eSIsCiAgICAgICAgc2hhcGVfc3R5bGUuYXJyb3d1cCwKICAgICAgICBzaGFwZV9zaXplLmF1dG8sCiAgICAgICAgY29sb3JCdXksCiAgICAgICAgc2hhcGVfbG9jYXRpb24uYmVsb3diYXIsCiAgICAgICAgMCwKICAgICAgICAiQjIiLAogICAgICAgIGNvbG9yQnV5ICAgICAKICAgICkKLS0gQjIgU2VsbCAtLQogICAgcGxvdF9zaGFwZShiMnNlbGxjb24sCiAgICAgICAgIkIyX1NlbGwiLAogICAgICAgIHNoYXBlX3N0eWxlLmFycm93ZG93biwKICAgICAgICBzaGFwZV9zaXplLmF1dG8sCiAgICAgICAgY29sb3JTZWxsLAogICAgICAgIHNoYXBlX2xvY2F0aW9uLmFib3ZlYmFyLAogICAgICAgIDAsCiAgICAgICAgIkIyIiwKICAgICAgICBjb2xvclNlbGwgICAgIAogICAgKQplbmQKYjNjYW5kbGVidXkgPSBoaWdoWzFdIDwgZW1hMzBbMV0gYW5kCiAgICAgICAgICAgICAgaGlnaFsyXSA8IGVtYTMwWzJdIGFuZAogICAgICAgICAgICAgIGhpZ2hbM10gPCBlbWEzMFszXSBhbmQKICAgICAgICAgICAgICBoaWdoWzRdIDwgZW1hMzBbNF0gYW5kCiAgICAgICAgICAgICAgaGlnaFs1XSA8IGVtYTMwWzVdCmIzY2FuZGxlc2VsbCA9IGxvd1sxXSA+IGVtYTMwWzFdIGFuZAogICAgICAgICAgICAgICBsb3dbMl0gPiBlbWEzMFsyXSBhbmQKICAgICAgICAgICAgICAgbG93WzNdID4gZW1hMzBbM10gYW5kCiAgICAgICAgICAgICAgIGxvd1s0XSA+IGVtYTMwWzRdIGFuZAogICAgICAgICAgICAgICBsb3dbNV0gPiBlbWEzMFs1XQpiM3hjcm9zc2J1eSA9IGVtYTVbMV0gPCBlbWExNVsxXSBhbmQKICAgICAgICAgICAgICBlbWE1WzJdIDwgZW1hMTVbMl0gYW5kCiAgICAgICAgICAgICAgZW1hNVszXSA8IGVtYTE1WzNdIGFuZAogICAgICAgICAgICAgIGVtYTVbNF0gPCBlbWExNVs0XSBhbmQKICAgICAgICAgICAgICBlbWE1WzVdIDwgZW1hMTVbNV0KYjN4Y3Jvc3NzZWxsID0gZW1hNVsxXSA+IGVtYTE1WzFdIGFuZAogICAgICAgICAgICAgICBlbWE1WzJdID4gZW1hMTVbMl0gYW5kCiAgICAgICAgICAgICAgIGVtYTVbM10gPiBlbWExNVszXSBhbmQKICAgICAgICAgICAgICAgZW1hNVs0XSA+IGVtYTE1WzRdIGFuZAogICAgICAgICAgICAgICBlbWE1WzVdID4gZW1hMTVbNV0KYjNiaWdjYW5kbGUgPSBhYnMoY2xvc2Utb3BlbikgPiBhYnMoY2xvc2VbMV0tb3BlblsxXSkgYW5kCiAgICAgICAgICAgICAgYWJzKGNsb3NlLW9wZW4pID4gYWJzKGNsb3NlWzJdLW9wZW5bMl0pIGFuZAogICAgICAgICAgICAgIGFicyhjbG9zZS1vcGVuKSA+IGFicyhjbG9zZVszXS1vcGVuWzNdKSBhbmQKICAgICAgICAgICAgICBhYnMoY2xvc2Utb3BlbikgPiBhYnMoY2xvc2VbNF0tb3Blbls0XSkKYjN0cmVuZGJ1eSA9IGVtYTMwID4gZW1hMTUgYW5kCiAgICAgICAgICAgICBlbWEzMFsxXSA+IGVtYTE1WzFdIGFuZAogICAgICAgICAgICAgZW1hMzBbMl0gPiBlbWExNVsyXSBhbmQKICAgICAgICAgICAgIGVtYTMwWzNdID4gZW1hMTVbM10gYW5kCiAgICAgICAgICAgICBlbWEzMFs0XSA+IGVtYTE1WzRdIGFuZAogICAgICAgICAgICAgZW1hMzBbNV0gPiBlbWExNVs1XSBhbmQKICAgICAgICAgICAgIGVtYTYwID4gZW1hMzAgYW5kCiAgICAgICAgICAgICBlbWE2MFsxXSA+IGVtYTMwWzFdIGFuZAogICAgICAgICAgICAgZW1hNjBbMl0gPiBlbWEzMFsyXSBhbmQKICAgICAgICAgICAgIGVtYTYwWzNdID4gZW1hMzBbM10gYW5kCiAgICAgICAgICAgICBlbWE2MFs0XSA+IGVtYTMwWzRdIGFuZAogICAgICAgICAgICAgZW1hNjBbNV0gPiBlbWEzMFs1XQpiM3RyZW5kc2VsbCA9IGVtYTMwIDwgZW1hMTUgYW5kCiAgICAgICAgICAgICAgZW1hMzBbMV0gPCBlbWExNVsxXSBhbmQKICAgICAgICAgICAgICBlbWEzMFsyXSA8IGVtYTE1WzJdIGFuZAogICAgICAgICAgICAgIGVtYTMwWzNdIDwgZW1hMTVbM10gYW5kCiAgICAgICAgICAgICAgZW1hMzBbNF0gPCBlbWExNVs0XSBhbmQKICAgICAgICAgICAgICBlbWEzMFs1XSA8IGVtYTE1WzVdIGFuZAogICAgICAgICAgICAgIGVtYTYwIDwgZW1hMzAgYW5kCiAgICAgICAgICAgICAgZW1hNjBbMV0gPCBlbWEzMFsxXSBhbmQKICAgICAgICAgICAgICBlbWE2MFsyXSA8IGVtYTMwWzJdIGFuZAogICAgICAgICAgICAgIGVtYTYwWzNdIDwgZW1hMzBbM10gYW5kCiAgICAgICAgICAgICAgZW1hNjBbNF0gPCBlbWEzMFs0XSBhbmQKICAgICAgICAgICAgICBlbWE2MFs1XSA8IGVtYTMwWzVdCmIzYnV5Y29uID0gZW1hNSA+IGVtYTE1IGFuZAogICAgICAgICAgIGIzeGNyb3NzYnV5IGFuZAogICAgICAgICAgIGIzdHJlbmRidXkgYW5kCiAgICAgICAgICAgYjNjYW5kbGVidXkgYW5kCiAgICAgICAgICAgYjNiaWdjYW5kbGUgYW5kCiAgICAgICAgICAgY2xvc2UgPiBlbWEzMCBhbmQKICAgICAgICAgICBjbG9zZVsxXSA8IGVtYTMwWzFdIGFuZAogICAgICAgICAgIGNsb3NlIDwgZW1hNjAgYW5kCiAgICAgICAgICAgaGlnaCA8IGVtYTYwCmIzc2VsbGNvbiA9IGVtYTUgPCBlbWExNSBhbmQKICAgICAgICAgICAgYjN4Y3Jvc3NzZWxsIGFuZAogICAgICAgICAgICBiM3RyZW5kc2VsbCBhbmQKICAgICAgICAgICAgYjNjYW5kbGVzZWxsIGFuZAogICAgICAgICAgICBiM2JpZ2NhbmRsZSBhbmQKICAgICAgICAgICAgY2xvc2UgPCBlbWEzMCBhbmQKICAgICAgICAgICAgY2xvc2VbMV0gPiBlbWEzMFsxXSBhbmQKICAgICAgICAgICAgY2xvc2UgPiBlbWE2MCBhbmQKICAgICAgICAgICAgbG93ID4gZW1hNjAKLS0gQjMgQnV5IC0tCiAgICBwbG90X3NoYXBlKGIzYnV5Y29uLAogICAgICAgICJCM19CdXkiLAogICAgICAgIHNoYXBlX3N0eWxlLmFycm93dXAsCiAgICAgICAgc2hhcGVfc2l6ZS5hdXRvLAogICAgICAgIGNvbG9yQnV5LAogICAgICAgIHNoYXBlX2xvY2F0aW9uLmJlbG93YmFyLAogICAgICAgIDAsCiAgICAgICAgIkIzIiwKICAgICAgICBjb2xvckJ1eSAgICAgCiAgICApCi0tIEIzIFNlbGwgLS0KICAgIHBsb3Rfc2hhcGUoYjNzZWxsY29uLAogICAgICAgICJCM19TZWxsIiwKICAgICAgICBzaGFwZV9zdHlsZS5hcnJvd2Rvd24sCiAgICAgICAgc2hhcGVfc2l6ZS5hdXRvLAogICAgICAgIGNvbG9yU2VsbCwKICAgICAgICBzaGFwZV9sb2NhdGlvbi5hYm92ZWJhciwKICAgICAgICAwLAogICAgICAgICJCMyIsCiAgICAgICAgY29sb3JTZWxsICAgICAKICAgICkKZW5kCmI0Y2FuZGxlYnV5ID0gaGlnaFsxXSA8IGVtYTIwMFsxXSBhbmQKICAgICAgICAgICAgICBoaWdoWzJdIDwgZW1hMjAwWzJdIGFuZAogICAgICAgICAgICAgIGhpZ2hbM10gPCBlbWEyMDBbM10gYW5kCiAgICAgICAgICAgICAgaGlnaFs0XSA8IGVtYTIwMFs0XSBhbmQKICAgICAgICAgICAgICBoaWdoWzVdIDwgZW1hMjAwWzVdCmI0Y2FuZGxlc2VsbCA9IGxvd1sxXSA+IGVtYTIwMFsxXSBhbmQKICAgICAgICAgICAgICAgbG93WzJdID4gZW1hMjAwWzJdIGFuZAogICAgICAgICAgICAgICBsb3dbM10gPiBlbWEyMDBbM10gYW5kCiAgICAgICAgICAgICAgIGxvd1s0XSA+IGVtYTIwMFs0XSBhbmQKICAgICAgICAgICAgICAgbG93WzVdID4gZW1hMjAwWzVdCmI0eGNyb3NzYnV5ID0gZW1hNVsxXSA8IGVtYTMwWzFdIGFuZAogICAgICAgICAgICAgIGVtYTVbMl0gPCBlbWEzMFsyXSBhbmQKICAgICAgICAgICAgICBlbWE1WzNdIDwgZW1hMzBbM10gYW5kCiAgICAgICAgICAgICAgZW1hNVs0XSA8IGVtYTMwWzRdIGFuZAogICAgICAgICAgICAgIGVtYTVbNV0gPCBlbWEzMFs1XQpiNHhjcm9zc3NlbGwgPSBlbWE1WzFdID4gZW1hMzBbMV0gYW5kCiAgICAgICAgICAgICAgIGVtYTVbMl0gPiBlbWEzMFsyXSBhbmQKICAgICAgICAgICAgICAgZW1hNVszXSA+IGVtYTMwWzNdIGFuZAogICAgICAgICAgICAgICBlbWE1WzRdID4gZW1hMzBbNF0gYW5kCiAgICAgICAgICAgICAgIGVtYTVbNV0gPiBlbWEzMFs1XQpiNHRyZW5kYnV5ID0gZW1hMzAgPiBlbWExNSBhbmQKICAgICAgICAgICAgIGVtYTMwWzFdID4gZW1hMTVbMV0gYW5kCiAgICAgICAgICAgICBlbWEzMFsyXSA+IGVtYTE1WzJdIGFuZAogICAgICAgICAgICAgZW1hMzBbM10gPiBlbWExNVszXSBhbmQKICAgICAgICAgICAgIGVtYTMwWzRdID4gZW1hMTVbNF0gYW5kCiAgICAgICAgICAgICBlbWE2MCA+IGVtYTMwIGFuZAogICAgICAgICAgICAgZW1hNjBbMV0gPiBlbWEzMFsxXSBhbmQKICAgICAgICAgICAgIGVtYTYwWzJdID4gZW1hMzBbMl0gYW5kCiAgICAgICAgICAgICBlbWE2MFszXSA+IGVtYTMwWzNdIGFuZAogICAgICAgICAgICAgZW1hNjBbNF0gPiBlbWEzMFs0XQpiNHRyZW5kc2VsbCA9IGVtYTMwIDwgZW1hMTUgYW5kCiAgICAgICAgICAgICAgZW1hMzBbMV0gPCBlbWExNVsxXSBhbmQKICAgICAgICAgICAgICBlbWEzMFsyXSA8IGVtYTE1WzJdIGFuZAogICAgICAgICAgICAgIGVtYTMwWzNdIDwgZW1hMTVbM10gYW5kCiAgICAgICAgICAgICAgZW1hMzBbNF0gPCBlbWExNVs0XSBhbmQKICAgICAgICAgICAgICBlbWE2MCA8IGVtYTMwIGFuZAogICAgICAgICAgICAgIGVtYTYwWzFdIDwgZW1hMzBbMV0gYW5kCiAgICAgICAgICAgICAgZW1hNjBbMl0gPCBlbWEzMFsyXSBhbmQKICAgICAgICAgICAgICBlbWE2MFszXSA8IGVtYTMwWzNdIGFuZAogICAgICAgICAgICAgIGVtYTYwWzRdIDwgZW1hMzBbNF0KYjRiaWdjYW5kbGUgPSBhYnMoY2xvc2Utb3BlbikgPiBhYnMoY2xvc2VbMV0tb3BlblsxXSkgYW5kCiAgICAgICAgICAgICAgYWJzKGNsb3NlLW9wZW4pID4gYWJzKGNsb3NlWzJdLW9wZW5bMl0pIGFuZAogICAgICAgICAgICAgIGFicyhjbG9zZS1vcGVuKSA+IGFicyhjbG9zZVszXS1vcGVuWzNdKSBhbmQKICAgICAgICAgICAgICBhYnMoY2xvc2Utb3BlbikgPiBhYnMoY2xvc2VbNF0tb3Blbls0XSkKYjRidXljb24gPSBlbWE1ID4gZW1hMzAgYW5kCiAgICAgICAgICAgYjR4Y3Jvc3NidXkgYW5kCiAgICAgICAgICAgYjR0cmVuZGJ1eSBhbmQKICAgICAgICAgICBiNGNhbmRsZWJ1eSBhbmQKICAgICAgICAgICBiNGJpZ2NhbmRsZSBhbmQKICAgICAgICAgICBjbG9zZSA+IGVtYTYwIGFuZAogICAgICAgICAgIGNsb3NlIDwgZW1hMjAwIGFuZAogICAgICAgICAgIGhpZ2ggPCBlbWEyMDAKYjRzZWxsY29uID0gZW1hNSA8IGVtYTMwIGFuZAogICAgICAgICAgICBiNHhjcm9zc3NlbGwgYW5kCiAgICAgICAgICAgIGI0dHJlbmRzZWxsIGFuZAogICAgICAgICAgICBiNGNhbmRsZXNlbGwgYW5kCiAgICAgICAgICAgIGI0YmlnY2FuZGxlIGFuZAogICAgICAgICAgICBjbG9zZSA8IGVtYTYwIGFuZAogICAgICAgICAgICBjbG9zZSA+IGVtYTIwMCBhbmQKICAgICAgICAgICAgbG93ID4gZW1hMjAwCi0tIEI0IEJ1eSAtLQogICAgcGxvdF9zaGFwZShiNGJ1eWNvbiwKICAgICAgICAiQjRfQnV5IiwKICAgICAgICBzaGFwZV9zdHlsZS5hcnJvd3VwLAogICAgICAgIHNoYXBlX3NpemUuYXV0bywKICAgICAgICBjb2xvckJ1eSwKICAgICAgICBzaGFwZV9sb2NhdGlvbi5iZWxvd2JhciwKICAgICAgICAwLAogICAgICAgICJCNCIsCiAgICAgICAgY29sb3JCdXkgICAgIAogICAgKQotLSBCNCBTZWxsIC0tCiAgICBwbG90X3NoYXBlKGI0c2VsbGNvbiwKICAgICAgICAiQjRfU2VsbCIsCiAgICAgICAgc2hhcGVfc3R5bGUuYXJyb3dkb3duLAogICAgICAgIHNoYXBlX3NpemUuYXV0bywKICAgICAgICBjb2xvclNlbGwsCiAgICAgICAgc2hhcGVfbG9jYXRpb24uYWJvdmViYXIsCiAgICAgICAgMCwKICAgICAgICAiQjQiLAogICAgICAgIGNvbG9yU2VsbCAgICAgCiAgICApCmVuZAppZiBiNV92aXNpYmxlIHRoZW4KYjV4Y3Jvc3NidXkgPSBlbWE1WzFdIDwgZW1hNjBbMV0gYW5kIAogICAgICAgICAgICAgIGVtYTVbMl0gPCBlbWE2MFsyXSBhbmQKICAgICAgICAgICAgICBlbWE1WzNdIDwgZW1hNjBbM10gYW5kCiAgICAgICAgICAgICAgZW1hNVs0XSA8IGVtYTYwWzRdIGFuZAogICAgICAgICAgICAgIGVtYTVbNV0gPCBlbWE2MFs1XSBhbmQKICAgICAgICAgICAgICBlbWE1WzZdIDwgZW1hNjBbNl0gYW5kCiAgICAgICAgICAgICAgZW1hNVs3XSA8IGVtYTYwWzddIGFuZAogICAgICAgICAgICAgIGVtYTVbOF0gPCBlbWE2MFs4XSBhbmQKICAgICAgICAgICAgICBlbWE1WzldIDwgZW1hNjBbOV0gCmI1eGNyb3Nzc2VsbCA9IGVtYTVbMV0gPiBlbWE2MFsxXSBhbmQgCiAgICAgICAgICAgICAgIGVtYTVbMl0gPiBlbWE2MFsyXSBhbmQKICAgICAgICAgICAgICAgZW1hNVszXSA+IGVtYTYwWzNdIGFuZAogICAgICAgICAgICAgICBlbWE1WzRdID4gZW1hNjBbNF0gYW5kCiAgICAgICAgICAgICAgIGVtYTVbNV0gPiBlbWE2MFs1XSBhbmQKICAgICAgICAgICAgICAgZW1hNVs2XSA+IGVtYTYwWzZdIGFuZAogICAgICAgICAgICAgICBlbWE1WzddID4gZW1hNjBbN10gYW5kCiAgICAgICAgICAgICAgIGVtYTVbOF0gPiBlbWE2MFs4XSBhbmQKICAgICAgICAgICAgICAgZW1hNVs5XSA+IGVtYTYwWzldCmI1YnV5dHJlbmQgPSBlbWE1ID4gZW1hMTUgYW5kCiAgICAgICAgICAgICBlbWE1WzFdID4gZW1hMTVbMV0gYW5kCiAgICAgICAgICAgICBlbWE1WzJdID4gZW1hMTVbMl0gYW5kCiAgICAgICAgICAgICBlbWE1WzNdID4gZW1hMTVbM10gYW5kCiAgICAgICAgICAgICBlbWE1WzRdID4gZW1hMTVbNF0KYjVzZWxsdHJlbmQgPSBlbWE1IDwgZW1hMTUgYW5kCiAgICAgICAgICAgICAgZW1hNVsxXSA8IGVtYTE1WzFdIGFuZAogICAgICAgICAgICAgIGVtYTVbMl0gPCBlbWExNVsyXSBhbmQKICAgICAgICAgICAgICBlbWE1WzNdIDwgZW1hMTVbM10gYW5kCiAgICAgICAgICAgICAgZW1hNVs0XSA8IGVtYTE1WzRdCmI1YnV5Y29uID0gZW1hNSA+IGVtYTYwIGFuZAogICAgICAgICAgIGI1eGNyb3NzYnV5IGFuZAogICAgICAgICAgIGI1YnV5dHJlbmQgYW5kCiAgICAgICAgICAgZW1hMTUgPiBlbWEzMCBhbmQKICAgICAgICAgICBlbWExNSA8IGVtYTYwIGFuZAogICAgICAgICAgIGNsb3NlID4gZW1hNSBhbmQKICAgICAgICAgICBjbG9zZSA+IGVtYTYwCmI1c2VsbGNvbiA9IGVtYTUgPCBlbWE2MCBhbmQKICAgICAgICAgICAgYjV4Y3Jvc3NzZWxsIGFuZAogICAgICAgICAgICBiNXNlbGx0cmVuZCBhbmQKICAgICAgICAgICAgZW1hMTUgPCBlbWEzMCBhbmQKICAgICAgICAgICAgZW1hMTUgPiBlbWE2MCBhbmQKICAgICAgICAgICAgY2xvc2UgPCBlbWE1IGFuZAogICAgICAgICAgICBjbG9zZSA8IGVtYTYwCi0tIEI1IEJ1eSBTaWduYWwgLS0gICAgICAgICAgICAKICAgIHBsb3Rfc2hhcGUoYjVidXljb24sCiAgICAgICAgIkI1X0J1eSIsCiAgICAgICAgc2hhcGVfc3R5bGUuYXJyb3d1cCwKICAgICAgICBzaGFwZV9zaXplLmF1dG8sCiAgICAgICAgY29sb3JCdXksCiAgICAgICAgc2hhcGVfbG9jYXRpb24uYmVsb3diYXIsCiAgICAgICAgMCwKICAgICAgICAiQjUiLAogICAgICAgIGNvbG9yQnV5ICAgICAKICAgICkKLS0gQjUgU2VsbCBTaWduYWwgLS0KICAgIHBsb3Rfc2hhcGUoYjVzZWxsY29uLAogICAgICAgICJCNV9TZWxsIiwKICAgICAgICBzaGFwZV9zdHlsZS5hcnJvd2Rvd24sCiAgICAgICAgc2hhcGVfc2l6ZS5hdXRvLAogICAgICAgIGNvbG9yU2VsbCwKICAgICAgICBzaGFwZV9sb2NhdGlvbi5hYm92ZWJhciwKICAgICAgICAwLAogICAgICAgICJCNSIsCiAgICAgICAgY29sb3JTZWxsICAgIAogICAgKQplbmQK
-----------------------------------------------------------------
---- "UPGRADE CDST v3.0 FULL VERSION ----------------------------
---- CREATE BY "KITTITAT WASATI" --------------------------------
---- Youtube: https://w...content-available-to-author-only...e.com/c/KittitatWasati ----------
-----------------------------------------------------------------
---- Hello all from THAILAND! -----------------------------------
---- This Indicator make for trading binary option --------------
---- It is suitable for beginners and make begin to trader ------
---- This is not financial advice -------------------------------
---- keep calm and stay cool ------------------------------------
instrument { name = "UCDST v3 FULL",
icon="indicators:MACD",
overlay = true
}
-- EMA setting --
e5 = input (5, "fastMa", input.integer, 3,250,1)
e15 = input (15, "slowMa", input.integer, 3,250,1)
e30 = input (30, "middleMA", input.integer, 3,250,1)
e60 = input (60, "trendMA", input.integer, 3,250,1)
s5 = input (5, "SMA", input.integer, 1,250,1)
------ input group ------
-- Line & Fill --
input_group {
"Line & Fill",
color1 = input { default = "#26a8ff", type = input.color },
color2 = input { default = "#ffff01", type = input.color },
color3 = input { default = "#ffffff", type = input.color },
color4 = input { default = "#ff0101", type = input.color },
width = input { default = 1, type = input.line_width},
fill_a_color = input { default = rgba(255,88,77,0.15), type = input.color },
fill_b_color = input { default = rgba(43,225,135,0.15), type = input.color },
fill_c_color = input { default = rgba(38,168,255,0.15), type = input.color },
visible = input { default = false, type = input.plot_visibility }
}
-- Arrow --
input_group {
"Color Arrow",
colorBuy = input { default = "#08FE0B", type = input.color },
colorSell = input { default = "#FF0909", type = input.color },
width = input { default = true, type = input.line_width}
}
-- b1 Signal --
input_group {
"B1 SIGNAL (1 MINUTE TRADING)",
b1_visible = input { default = false, type = input.plot_visibility }
}
input_group {
"B2 SIGNAL (2 MINUTE TRADING)",
b2_visible = input { default = false, type = input.plot_visibility }
}
input_group {
"B3 SIGNAL (3 MINUTE TRADING)",
b3_visible = input { default = false, type = input.plot_visibility }
}
input_group {
"B4 SIGNAL (4 MINUTE TRADING)",
b4_visible = input { default = false, type = input.plot_visibility }
}
input_group {
"B5 SIGNAL (5 MINUTE TRADING)",
b5_visible = input { default = false, type = input.plot_visibility }
}
-- color of sma5 --
input_group {
"SMA5",
color5 = input { default = "#26a8ff", type = input.color },
width2 = input { default = 1, type = input.line_width },
sma5_visible = input { default = false, type = input.plot_visibility }
}
-- backtester --
input_group {
"--- BACKTESTER B1",
b1check_visible = input { default = true, type = input.plot_visibility }
}
input_group {
"--- BACKTESTER B1 REJECTION",
b1rejectioncheck_visible = input { default = false, type = input.plot_visibility }
}
input_group {
"-- BACKTESTER B2",
b2check_visible = input { default = true, type = input.plot_visibility }
}
input_group {
"-- BACKTESTER B3",
b3check_visible = input { default = true, type = input.plot_visibility }
}
input_group {
"-- BACKTESTER B4",
b4check_visible = input { default = true, type = input.plot_visibility }
}
input_group {
"-- BACKTESTER B5",
b5check_visible = input { default = true, type = input.plot_visibility }
}
-- plot --
ema5 = ema (close, e5)
ema15 = ema (close, e15)
ema30 = ema (close, e30)
ema60 = ema (close, e60)
sma5 = sma (close, s5)
ema200 = ema(close, 200)
if sma5_visible then
plot (sma5, "SMA5", color5, width2)
end
if visible then
plot (ema5, "EMA5", color1, width)
plot (ema15, "EMA15", color2, width)
plot (ema30, "EMA30", color3, width)
fill (ema15, ema5, "", ema15 > ema5 and fill_b_color or fill_a_color)
fill (ema15, ema30, "", ema15 > ema30 and fill_b_color or fill_a_color)
fill (ema30, ema60, "", ema60 > ema30 and fill_c_color or fill_c_color)
end
-- B1 Condition --
b1candle4buy = close[1] < ema5[1] and
close[2] < ema5[2] and
close[3] < ema5[3] and
close[4] < ema5[4] and
open[1] < ema5[1] and
open[2] < ema5[2] and
open[3] < ema5[3] and
open[4] < ema5[4]
b1candle4sell = close[1] > ema5[1] and
close[2] > ema5[2] and
close[3] > ema5[3] and
close[4] > ema5[4] and
open[1] > ema5[1] and
open[2] > ema5[2] and
open[3] > ema5[3] and
open[4] > ema5[4]
bigcandlebuy = abs(open-close) > abs(high-close)*3
bigcandlesell = abs(open-close) > abs(low-close)*3
bigcandle = abs(close-open) > abs(close[1]-open[1]) and
abs(close-open) > abs(close[2]-open[2]) and
abs(close-open) > abs(close[3]-open[3]) and
abs(close-open) > abs(close[4]-open[4])
b1buycon = open < ema5 and
close > ema5 and
b1candle4buy and
bigcandlebuy and
bigcandle and
close < ema15 and
high < ema15 and
ema15 > ema5 and
ema30 > ema15
b1sellcon = open > ema5 and
close < ema5 and
b1candle4sell and
bigcandlesell and
bigcandle and
close > ema15 and
low > ema15 and
ema15 < ema5 and
ema30 < ema15
-- end of B1 Condition --
if b1_visible then
-- B1 Buy --
plot_shape(b1buycon,
"B1_Buy",
shape_style.arrowup,
shape_size.auto,
colorBuy,
shape_location.belowbar,
0,
"B1",
colorBuy
)
-- B1 Sell --
plot_shape(b1sellcon,
"B1_Sell",
shape_style.arrowdown,
shape_size.auto,
colorSell,
shape_location.abovebar,
0,
"B1",
colorSell
)
end
b2candle4buy = close[1] < ema15[1] and
close[2] < ema15[2] and
close[3] < ema15[3] and
close[4] < ema15[4] and
open[1] < ema15[1] and
open[2] < ema15[2] and
open[3] < ema15[3] and
open[4] < ema15[4] and
abs(open-close) > abs(high-close)*3
b2candle4sell = close[1] > ema15[1] and
close[2] > ema15[2] and
close[3] > ema15[3] and
close[4] > ema15[4] and
open[1] > ema15[1] and
open[2] > ema15[2] and
open[3] > ema15[3] and
open[4] > ema15[4] and
abs(open-close) > abs(low-close)*3
b2bigcandle = abs(close-open) > abs(close[1]-open[1]) and
abs(close-open) > abs(close[2]-open[2]) and
abs(close-open) > abs(close[3]-open[3]) and
abs(close-open) > abs(close[4]-open[4])
b2bigcandlebuy = close > high[1] and
close > high[2] and
close > high[3] and
close > high[4]
b2bigcandlesell = close < low[1] and
close < low[2] and
close < low[3] and
close < low[4]
b2buycon = open < ema15 and
close > ema15 and
b2candle4buy and
b2bigcandle and
b2bigcandlebuy and
high < ema30 and
ema60 > ema30 and
ema30 > ema15 and
ema15 > ema5
b2sellcon = open > ema15 and
close < ema15 and
b2candle4sell and
b2bigcandle and
b2bigcandlesell and
low > ema30 and
ema60 < ema30 and
ema30 < ema15 and
ema15 < ema5
-- B2 Buy --
plot_shape(b2buycon,
"B2_Buy",
shape_style.arrowup,
shape_size.auto,
colorBuy,
shape_location.belowbar,
0,
"B2",
colorBuy
)
-- B2 Sell --
plot_shape(b2sellcon,
"B2_Sell",
shape_style.arrowdown,
shape_size.auto,
colorSell,
shape_location.abovebar,
0,
"B2",
colorSell
)
end
b3candlebuy = high[1] < ema30[1] and
high[2] < ema30[2] and
high[3] < ema30[3] and
high[4] < ema30[4] and
high[5] < ema30[5]
b3candlesell = low[1] > ema30[1] and
low[2] > ema30[2] and
low[3] > ema30[3] and
low[4] > ema30[4] and
low[5] > ema30[5]
b3xcrossbuy = ema5[1] < ema15[1] and
ema5[2] < ema15[2] and
ema5[3] < ema15[3] and
ema5[4] < ema15[4] and
ema5[5] < ema15[5]
b3xcrosssell = ema5[1] > ema15[1] and
ema5[2] > ema15[2] and
ema5[3] > ema15[3] and
ema5[4] > ema15[4] and
ema5[5] > ema15[5]
b3bigcandle = abs(close-open) > abs(close[1]-open[1]) and
abs(close-open) > abs(close[2]-open[2]) and
abs(close-open) > abs(close[3]-open[3]) and
abs(close-open) > abs(close[4]-open[4])
b3trendbuy = ema30 > ema15 and
ema30[1] > ema15[1] and
ema30[2] > ema15[2] and
ema30[3] > ema15[3] and
ema30[4] > ema15[4] and
ema30[5] > ema15[5] and
ema60 > ema30 and
ema60[1] > ema30[1] and
ema60[2] > ema30[2] and
ema60[3] > ema30[3] and
ema60[4] > ema30[4] and
ema60[5] > ema30[5]
b3trendsell = ema30 < ema15 and
ema30[1] < ema15[1] and
ema30[2] < ema15[2] and
ema30[3] < ema15[3] and
ema30[4] < ema15[4] and
ema30[5] < ema15[5] and
ema60 < ema30 and
ema60[1] < ema30[1] and
ema60[2] < ema30[2] and
ema60[3] < ema30[3] and
ema60[4] < ema30[4] and
ema60[5] < ema30[5]
b3buycon = ema5 > ema15 and
b3xcrossbuy and
b3trendbuy and
b3candlebuy and
b3bigcandle and
close > ema30 and
close[1] < ema30[1] and
close < ema60 and
high < ema60
b3sellcon = ema5 < ema15 and
b3xcrosssell and
b3trendsell and
b3candlesell and
b3bigcandle and
close < ema30 and
close[1] > ema30[1] and
close > ema60 and
low > ema60
-- B3 Buy --
plot_shape(b3buycon,
"B3_Buy",
shape_style.arrowup,
shape_size.auto,
colorBuy,
shape_location.belowbar,
0,
"B3",
colorBuy
)
-- B3 Sell --
plot_shape(b3sellcon,
"B3_Sell",
shape_style.arrowdown,
shape_size.auto,
colorSell,
shape_location.abovebar,
0,
"B3",
colorSell
)
end
b4candlebuy = high[1] < ema200[1] and
high[2] < ema200[2] and
high[3] < ema200[3] and
high[4] < ema200[4] and
high[5] < ema200[5]
b4candlesell = low[1] > ema200[1] and
low[2] > ema200[2] and
low[3] > ema200[3] and
low[4] > ema200[4] and
low[5] > ema200[5]
b4xcrossbuy = ema5[1] < ema30[1] and
ema5[2] < ema30[2] and
ema5[3] < ema30[3] and
ema5[4] < ema30[4] and
ema5[5] < ema30[5]
b4xcrosssell = ema5[1] > ema30[1] and
ema5[2] > ema30[2] and
ema5[3] > ema30[3] and
ema5[4] > ema30[4] and
ema5[5] > ema30[5]
b4trendbuy = ema30 > ema15 and
ema30[1] > ema15[1] and
ema30[2] > ema15[2] and
ema30[3] > ema15[3] and
ema30[4] > ema15[4] and
ema60 > ema30 and
ema60[1] > ema30[1] and
ema60[2] > ema30[2] and
ema60[3] > ema30[3] and
ema60[4] > ema30[4]
b4trendsell = ema30 < ema15 and
ema30[1] < ema15[1] and
ema30[2] < ema15[2] and
ema30[3] < ema15[3] and
ema30[4] < ema15[4] and
ema60 < ema30 and
ema60[1] < ema30[1] and
ema60[2] < ema30[2] and
ema60[3] < ema30[3] and
ema60[4] < ema30[4]
b4bigcandle = abs(close-open) > abs(close[1]-open[1]) and
abs(close-open) > abs(close[2]-open[2]) and
abs(close-open) > abs(close[3]-open[3]) and
abs(close-open) > abs(close[4]-open[4])
b4buycon = ema5 > ema30 and
b4xcrossbuy and
b4trendbuy and
b4candlebuy and
b4bigcandle and
close > ema60 and
close < ema200 and
high < ema200
b4sellcon = ema5 < ema30 and
b4xcrosssell and
b4trendsell and
b4candlesell and
b4bigcandle and
close < ema60 and
close > ema200 and
low > ema200
-- B4 Buy --
plot_shape(b4buycon,
"B4_Buy",
shape_style.arrowup,
shape_size.auto,
colorBuy,
shape_location.belowbar,
0,
"B4",
colorBuy
)
-- B4 Sell --
plot_shape(b4sellcon,
"B4_Sell",
shape_style.arrowdown,
shape_size.auto,
colorSell,
shape_location.abovebar,
0,
"B4",
colorSell
)
end
if b5_visible then
b5xcrossbuy = ema5[1] < ema60[1] and
ema5[2] < ema60[2] and
ema5[3] < ema60[3] and
ema5[4] < ema60[4] and
ema5[5] < ema60[5] and
ema5[6] < ema60[6] and
ema5[7] < ema60[7] and
ema5[8] < ema60[8] and
ema5[9] < ema60[9]
b5xcrosssell = ema5[1] > ema60[1] and
ema5[2] > ema60[2] and
ema5[3] > ema60[3] and
ema5[4] > ema60[4] and
ema5[5] > ema60[5] and
ema5[6] > ema60[6] and
ema5[7] > ema60[7] and
ema5[8] > ema60[8] and
ema5[9] > ema60[9]
b5buytrend = ema5 > ema15 and
ema5[1] > ema15[1] and
ema5[2] > ema15[2] and
ema5[3] > ema15[3] and
ema5[4] > ema15[4]
b5selltrend = ema5 < ema15 and
ema5[1] < ema15[1] and
ema5[2] < ema15[2] and
ema5[3] < ema15[3] and
ema5[4] < ema15[4]
b5buycon = ema5 > ema60 and
b5xcrossbuy and
b5buytrend and
ema15 > ema30 and
ema15 < ema60 and
close > ema5 and
close > ema60
b5sellcon = ema5 < ema60 and
b5xcrosssell and
b5selltrend and
ema15 < ema30 and
ema15 > ema60 and
close < ema5 and
close < ema60
-- B5 Buy Signal --
plot_shape(b5buycon,
"B5_Buy",
shape_style.arrowup,
shape_size.auto,
colorBuy,
shape_location.belowbar,
0,
"B5",
colorBuy
)
-- B5 Sell Signal --
plot_shape(b5sellcon,
"B5_Sell",
shape_style.arrowdown,
shape_size.auto,
colorSell,
shape_location.abovebar,
0,
"B5",
colorSell
)
end