Chiến lược quản lý giao dịch lưới điện năng động là một phương pháp giao dịch dựa trên biến động thị trường. Sử dụng biến động thị trường, nó thiết lập các điểm mua và bán ở các mức giá khác nhau để tối ưu hóa danh mục đầu tư. Chiến lược này có thể thích nghi với các điều kiện thị trường khác nhau, đặc biệt phù hợp với cổ phần dài hạn, giao dịch tại chỗ và giao dịch xoay không có đòn bẩy.
Bản chất của chiến lược quản lý giao dịch lưới điện động là sử dụng các điểm trục dựa trên các khoảng thời gian để xác định mức lưới điện. Nó thiết lập nhiều điểm mua và bán, mua khi giá thị trường giảm và bán khi giá thị trường tăng. Mua liên tục trong thời gian suy thoái thị trường làm giảm chi phí mua trung bình. Khi giá thị trường vượt quá giá mua trung bình, chiến lược bắt đầu bán, tiếp tục làm như vậy nếu giá tiếp tục tăng, do đó nhận ra lợi nhuận.
Tiến bộ thị trường **: Chiến lược thích nghi hiệu quả với biến động thị trường, áp dụng trong cả thị trường tăng và giảm. 2.Sự đa dạng hóa rủi ro: Giao dịch ở các mức giá khác nhau đa dạng hóa rủi ro mua hoặc bán ở một mức giá duy nhất. 3.Lợi ích lâu dài: Thích hợp cho các chiến lược nắm giữ dài hạn, có khả năng mang lại lợi nhuận ổn định theo thời gian do hiệu ứng chi phí trung bình.
Chiến lược quản lý giao dịch lưới điện năng động là một phương pháp giao dịch đa năng, áp dụng cho các môi trường thị trường khác nhau. Bằng cách giao dịch ở các mức giá khác nhau, nó nhằm mục đích giảm rủi ro và đạt được lợi nhuận dài hạn. Tuy nhiên, do sự không thể đoán trước của thị trường, chiến lược đòi hỏi phải điều chỉnh và tối ưu hóa liên tục để thích nghi với những thay đổi của thị trường. Nhìn chung, chiến lược này cung cấp một lựa chọn hấp dẫn cho các nhà đầu tư tìm kiếm lợi nhuận lâu dài, ổn định.
/*backtest start: 2022-11-27 00:00:00 end: 2023-12-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © XaviZ //@version=4 strategy(title = "CoGrid Management", shorttitle = "CoGrid💹", overlay = true, pyramiding = 1000, default_qty_value = 0) // ———————————————————— Inputs WOption = input('PRICE', " 》 WIDTH TYPE", options = ['PRICE','% PP']) Width = input(500, " 》 WIDTH", type = input.float, minval = 0) ppPeriod = input('Month', " 》 PP PERIOD", options = ['Day','Week','15D','Month']) BuyType = input("CASH", " 》 BUY TYPE", options = ["CONTRACTS","CASH","% EQUITY"]) BuyQ = input(10000, " 》 QUANTITY TO BUY", type = input.float, minval = 0) SellType = input('CONTRACTS', " 》 SELL TYPE", options = ["CONTRACTS","CASH","% EQUITY"]) SellQ = input(2, " 》 QUANTITY TO SELL", type = input.float, minval = 0) // ———————————————————— Vars // ————— Buy Price & Sell Price var float OpenPrice = na OpenPrice := nz(OpenPrice[1]) // ————— Final Buy Price & Final Sell Price var float FinalBuyPrice = na FinalBuyPrice := nz(FinalBuyPrice[1]) var float FinalSellPrice = na FinalSellPrice := nz(FinalSellPrice[1]) var float FinalOpenPrice = na FinalOpenPrice := nz(FinalOpenPrice[1]) // ————— Average Price var int nBuys = na nBuys := nz(nBuys[1]) var int nSells = na nSells := nz(nSells[1]) var float sumBuy = na sumBuy := nz(sumBuy[1]) var float sumSell = na sumSell := nz(sumSell[1]) var float sumQtyBuy = na sumQtyBuy := nz(sumQtyBuy[1]) var float sumQtySell = na sumQtySell := nz(sumQtySell[1]) var float AveragePrice = na AveragePrice := nz(AveragePrice[1]) // ————— Fibonacci Pivots Level Calculation var float PP = na // ————— Origin from Rounded Pivot Points or last Sell var float PPdownOrigin = na // ————— Origin from Rounded Position Price var float PPupOrigin = na // ————— Final Buy & Sell Conditions var bool BuyCondition = na BuyCondition := nz(BuyCondition[1]) var bool SellCondition = na SellCondition := nz(SellCondition[1]) // ————— Backtest BuyFactor = BuyType == "CONTRACTS" ? 1 : BuyType == "% EQUITY" ? (100 / (strategy.equity / close)) : close SellFactor = SellType == "CASH" ? close : 1 BuyQuanTity = BuyQ / BuyFactor SellQuanTity = SellQ / SellFactor // ———————————————————— Pivot Points // ————— Pivot Points Period res = ppPeriod == '15D' ? '15D' : ppPeriod == 'Week' ? 'W' : ppPeriod == 'Day' ? 'D' : 'M' // ————— High, Low, Close Calc. // "Function to securely and simply call `security()` so that it never repaints and never looks ahead" (@PineCoders) f_secureSecurity(_symbol, _res, _src) => security(_symbol, _res, _src[1], lookahead = barmerge.lookahead_on) phigh = f_secureSecurity(syminfo.tickerid, res, high) plow = f_secureSecurity(syminfo.tickerid, res, low) pclose = f_secureSecurity(syminfo.tickerid, res, close) // ————— Fibonacci Pivots Level Calculation PP := (phigh + plow + pclose) / 3 // ———————————————————— Grid Strategy // ————— Width between levels float GridWidth = WOption == 'PRICE' ? Width : PP * (Width/100) // ————— Origin from Rounded Pivot Points PPdownOrigin := floor(PP / GridWidth) * GridWidth // ————— Origin from Rounded Average Position Price PPupOrigin := nz(PPupOrigin[1]) // ————— Grid Calculation fGrid(_1, _2, _n) => _a = _1, _b = _2, _c = 0.0 for _i = 1 to _n if _i == 1 _c := _a else _c := _a + _b _a := _c // ————— Initial Open Price fOpenPrice() => var float _ldown = na var bool _pb = na var float _lup = na var bool _ps = na var float _OpenPrice = na _OpenPrice := nz(_OpenPrice[1]) for _i = 1 to 15 _ldown := fGrid(PPdownOrigin, -GridWidth, _i) _lup := fGrid(PPupOrigin, GridWidth, _i) _pb := crossunder(low, _ldown) and high >= _ldown _ps := crossover(high, _lup) and low <= _lup if _pb _OpenPrice := _ldown if _ps _OpenPrice := _lup _OpenPrice OpenPrice := fOpenPrice() // ————— Buy at better Price fBuyCondition(_n) => var float _ldown = na _ldown := nz(_ldown[1]) var bool _pb = na _pb := nz(_pb[1]) var bool _BuyCondition = na _BuyCondition := nz(_BuyCondition[1]) for _i = 1 to _n _ldown := fGrid(PPdownOrigin, -GridWidth, _i) _pb := crossunder(low, _ldown) and high >= _ldown _BuyCondition := nz(nBuys) == 0 ? _pb and _ldown < (fixnan(OpenPrice[1]) - GridWidth / 4) : _pb and _ldown < (fixnan(FinalOpenPrice[1]) - GridWidth / 4) _BuyCondition // ————— Sell at better Price fSellCondition(_n) => var float _lup = na _lup := nz(_lup[1]) var bool _ps = na _ps := nz(_ps[1]) var bool _SellCondition = na _SellCondition := nz(_SellCondition[1]) for _i = 1 to _n _lup := fGrid(PPupOrigin, GridWidth, _i) _ps := crossover(high, _lup) and low <= _lup _SellCondition := nz(nSells) == 0 ? _ps and _lup > (fixnan(OpenPrice[1]) + GridWidth / 4) : _ps and _lup > (fixnan(FinalOpenPrice[1]) + GridWidth / 4) _SellCondition // ————— Final Open Price fFinalOpenPrice() => var float _ldown = na _ldown := nz(_ldown[1]) var float _lup = na _lup := nz(_lup[1]) var float _FinalBuyPrice = na _FinalBuyPrice := nz(_FinalBuyPrice[1]) var float _FinalSellPrice = na _FinalSellPrice := nz(_FinalSellPrice[1]) var float _FinalOpenPrice = na _FinalOpenPrice := nz(_FinalOpenPrice[1]) for _i = 1 to 15 _ldown := fGrid(PPdownOrigin, -GridWidth, _i) _lup := fGrid(PPupOrigin, GridWidth, _i) if fBuyCondition(_i) _FinalBuyPrice := _ldown _FinalOpenPrice := _ldown if fSellCondition(_i) _FinalSellPrice := _lup _FinalOpenPrice := _lup [_FinalBuyPrice,_FinalSellPrice,_FinalOpenPrice] [_FinalBuyPrice,_FinalSellPrice,_FinalOpenPrice] = fFinalOpenPrice() FinalBuyPrice := _FinalBuyPrice, FinalSellPrice := _FinalSellPrice, FinalOpenPrice := _FinalOpenPrice // ————— Average Price & Backtest for _i = 1 to 15 if fBuyCondition(_i) nBuys := nBuys + 1 nSells := na sumBuy := FinalOpenPrice * BuyQuanTity + nz(sumBuy[1]) sumQtyBuy := BuyQuanTity + nz(sumQtyBuy[1]) AveragePrice := sumBuy / sumQtyBuy strategy.entry("BUY", strategy.long, qty = BuyQuanTity) if fSellCondition(_i) nBuys := na nSells := nSells + 1 sumBuy := na sumQtyBuy := na strategy.close("BUY", qty = SellType != "% EQUITY" ? SellQuanTity : na, qty_percent = (SellType == "% EQUITY" ? SellQuanTity : na), comment = "SELL") // ————— Origin from Rounded Pivot Points or last Sell PPdownOrigin := (WOption == 'PRICE') ? (fixnan(FinalSellPrice[1]) <= PP ? (floor(fixnan(FinalSellPrice[1]) / GridWidth) * GridWidth) - GridWidth : floor(PP / GridWidth) * GridWidth) : (fixnan(FinalSellPrice[1]) <= PP ? fixnan(FinalSellPrice[1]) - GridWidth : PP) // ————— Origin from Rounded Average Buy Price PPupOrigin := WOption == 'PRICE' ? ((ceil(fixnan(AveragePrice[1]) / GridWidth) * GridWidth) + GridWidth) : (fixnan(AveragePrice[1]) + GridWidth) // ———————————————————— Plotting // ————— Plotting Pivot Points plot(PP, title = "PP", style = plot.style_circles, color = color.aqua, linewidth = 2) // ————— Plotting the average price plot(nBuys > 1 ? AveragePrice[1] : na, title = "Average Price", style = plot.style_circles, color = color.fuchsia, linewidth = 2) // ————— Buy Conditions ————— Sell Conditions pb1 = fBuyCondition(1) ? fGrid(PPdownOrigin, -GridWidth, 1) : na, ps1 = fSellCondition(1) ? fGrid(PPupOrigin, GridWidth, 1) : na pb2 = fBuyCondition(2) ? fGrid(PPdownOrigin, -GridWidth, 2) : na, ps2 = fSellCondition(2) ? fGrid(PPupOrigin, GridWidth, 2) : na pb3 = fBuyCondition(3) ? fGrid(PPdownOrigin, -GridWidth, 3) : na, ps3 = fSellCondition(3) ? fGrid(PPupOrigin, GridWidth, 3) : na pb4 = fBuyCondition(4) ? fGrid(PPdownOrigin, -GridWidth, 4) : na, ps4 = fSellCondition(4) ? fGrid(PPupOrigin, GridWidth, 4) : na pb5 = fBuyCondition(5) ? fGrid(PPdownOrigin, -GridWidth, 5) : na, ps5 = fSellCondition(5) ? fGrid(PPupOrigin, GridWidth, 5) : na pb6 = fBuyCondition(6) ? fGrid(PPdownOrigin, -GridWidth, 6) : na, ps6 = fSellCondition(6) ? fGrid(PPupOrigin, GridWidth, 6) : na pb7 = fBuyCondition(7) ? fGrid(PPdownOrigin, -GridWidth, 7) : na, ps7 = fSellCondition(7) ? fGrid(PPupOrigin, GridWidth, 7) : na pb8 = fBuyCondition(8) ? fGrid(PPdownOrigin, -GridWidth, 8) : na, ps8 = fSellCondition(8) ? fGrid(PPupOrigin, GridWidth, 8) : na pb9 = fBuyCondition(9) ? fGrid(PPdownOrigin, -GridWidth, 9) : na, ps9 = fSellCondition(9) ? fGrid(PPupOrigin, GridWidth, 9) : na pb10 = fBuyCondition(10) ? fGrid(PPdownOrigin, -GridWidth, 10) : na, ps10 = fSellCondition(10) ? fGrid(PPupOrigin, GridWidth, 10) : na pb11 = fBuyCondition(11) ? fGrid(PPdownOrigin, -GridWidth, 11) : na, ps11 = fSellCondition(11) ? fGrid(PPupOrigin, GridWidth, 11) : na pb12 = fBuyCondition(12) ? fGrid(PPdownOrigin, -GridWidth, 12) : na, ps12 = fSellCondition(12) ? fGrid(PPupOrigin, GridWidth, 12) : na pb13 = fBuyCondition(13) ? fGrid(PPdownOrigin, -GridWidth, 13) : na, ps13 = fSellCondition(13) ? fGrid(PPupOrigin, GridWidth, 13) : na pb14 = fBuyCondition(14) ? fGrid(PPdownOrigin, -GridWidth, 14) : na, ps14 = fSellCondition(14) ? fGrid(PPupOrigin, GridWidth, 14) : na pb15 = fBuyCondition(15) ? fGrid(PPdownOrigin, -GridWidth, 15) : na, ps15 = fSellCondition(15) ? fGrid(PPupOrigin, GridWidth, 15) : na // ————— Buy Level Conditions lb1 = low < fGrid(PPdownOrigin, -GridWidth, 1) and PP > fGrid(PPdownOrigin, -GridWidth, 1) ? fGrid(PPdownOrigin, -GridWidth, 1) : na lb2 = low < fGrid(PPdownOrigin, -GridWidth, 2) and PP > fGrid(PPdownOrigin, -GridWidth, 2) ? fGrid(PPdownOrigin, -GridWidth, 2) : na lb3 = low < fGrid(PPdownOrigin, -GridWidth, 3) and PP > fGrid(PPdownOrigin, -GridWidth, 3) ? fGrid(PPdownOrigin, -GridWidth, 3) : na lb4 = low < fGrid(PPdownOrigin, -GridWidth, 4) and PP > fGrid(PPdownOrigin, -GridWidth, 4) ? fGrid(PPdownOrigin, -GridWidth, 4) : na lb5 = low < fGrid(PPdownOrigin, -GridWidth, 5) and PP > fGrid(PPdownOrigin, -GridWidth, 5) ? fGrid(PPdownOrigin, -GridWidth, 5) : na lb6 = low < fGrid(PPdownOrigin, -GridWidth, 6) and PP > fGrid(PPdownOrigin, -GridWidth, 6) ? fGrid(PPdownOrigin, -GridWidth, 6) : na lb7 = low < fGrid(PPdownOrigin, -GridWidth, 7) and PP > fGrid(PPdownOrigin, -GridWidth, 7) ? fGrid(PPdownOrigin, -GridWidth, 7) : na lb8 = low < fGrid(PPdownOrigin, -GridWidth, 8) and PP > fGrid(PPdownOrigin, -GridWidth, 8) ? fGrid(PPdownOrigin, -GridWidth, 8) : na lb9 = low < fGrid(PPdownOrigin, -GridWidth, 9) and PP > fGrid(PPdownOrigin, -GridWidth, 9) ? fGrid(PPdownOrigin, -GridWidth, 9) : na lb10 = low < fGrid(PPdownOrigin, -GridWidth, 10) and PP > fGrid(PPdownOrigin, -GridWidth, 10) ? fGrid(PPdownOrigin, -GridWidth, 10) : na lb11 = low < fGrid(PPdownOrigin, -GridWidth, 11) and PP > fGrid(PPdownOrigin, -GridWidth, 11) ? fGrid(PPdownOrigin, -GridWidth, 11) : na lb12 = low < fGrid(PPdownOrigin, -GridWidth, 12) and PP > fGrid(PPdownOrigin, -GridWidth, 12) ? fGrid(PPdownOrigin, -GridWidth, 12) : na lb13 = low < fGrid(PPdownOrigin, -GridWidth, 13) and PP > fGrid(PPdownOrigin, -GridWidth, 13) ? fGrid(PPdownOrigin, -GridWidth, 13) : na lb14 = low < fGrid(PPdownOrigin, -GridWidth, 14) and PP > fGrid(PPdownOrigin, -GridWidth, 14) ? fGrid(PPdownOrigin, -GridWidth, 14) : na lb15 = low < fGrid(PPdownOrigin, -GridWidth, 15) and PP > fGrid(PPdownOrigin, -GridWidth, 15) ? fGrid(PPdownOrigin, -GridWidth, 15) : na // ————— Sell Level Conditions ls1 = high > fGrid(PPupOrigin, GridWidth, 1) and PP < fGrid(PPupOrigin, GridWidth, 1) ? fGrid(PPupOrigin, GridWidth, 1) : na ls2 = high > fGrid(PPupOrigin, GridWidth, 2) and PP < fGrid(PPupOrigin, GridWidth, 2) ? fGrid(PPupOrigin, GridWidth, 2) : na ls3 = high > fGrid(PPupOrigin, GridWidth, 3) and PP < fGrid(PPupOrigin, GridWidth, 3) ? fGrid(PPupOrigin, GridWidth, 3) : na ls4 = high > fGrid(PPupOrigin, GridWidth, 4) and PP < fGrid(PPupOrigin, GridWidth, 4) ? fGrid(PPupOrigin, GridWidth, 4) : na ls5 = high > fGrid(PPupOrigin, GridWidth, 5) and PP < fGrid(PPupOrigin, GridWidth, 5) ? fGrid(PPupOrigin, GridWidth, 5) : na ls6 = high > fGrid(PPupOrigin, GridWidth, 6) and PP < fGrid(PPupOrigin, GridWidth, 6) ? fGrid(PPupOrigin, GridWidth, 6) : na ls7 = high > fGrid(PPupOrigin, GridWidth, 7) and PP < fGrid(PPupOrigin, GridWidth, 7) ? fGrid(PPupOrigin, GridWidth, 7) : na ls8 = high > fGrid(PPupOrigin, GridWidth, 8) and PP < fGrid(PPupOrigin, GridWidth, 8) ? fGrid(PPupOrigin, GridWidth, 8) : na ls9 = high > fGrid(PPupOrigin, GridWidth, 9) and PP < fGrid(PPupOrigin, GridWidth, 9) ? fGrid(PPupOrigin, GridWidth, 9) : na ls10 = high > fGrid(PPupOrigin, GridWidth, 10) and PP < fGrid(PPupOrigin, GridWidth, 10) ? fGrid(PPupOrigin, GridWidth, 10) : na ls11 = high > fGrid(PPupOrigin, GridWidth, 11) and PP < fGrid(PPupOrigin, GridWidth, 11) ? fGrid(PPupOrigin, GridWidth, 11) : na ls12 = high > fGrid(PPupOrigin, GridWidth, 12) and PP < fGrid(PPupOrigin, GridWidth, 12) ? fGrid(PPupOrigin, GridWidth, 12) : na ls13 = high > fGrid(PPupOrigin, GridWidth, 13) and PP < fGrid(PPupOrigin, GridWidth, 13) ? fGrid(PPupOrigin, GridWidth, 13) : na ls14 = high > fGrid(PPupOrigin, GridWidth, 14) and PP < fGrid(PPupOrigin, GridWidth, 14) ? fGrid(PPupOrigin, GridWidth, 14) : na ls15 = high > fGrid(PPupOrigin, GridWidth, 15) and PP < fGrid(PPupOrigin, GridWidth, 15) ? fGrid(PPupOrigin, GridWidth, 15) : na // ————— Buy Shapes plotshape(pb1, title = "Buy 1", style = shape.diamond, location = location.absolute, color = color.lime, text = "1", size = size.tiny) plotshape(pb2, title = "Buy 2", style = shape.diamond, location = location.absolute, color = color.lime, text = "2", size = size.tiny) plotshape(pb3, title = "Buy 3", style = shape.diamond, location = location.absolute, color = color.lime, text = "3", size = size.tiny) plotshape(pb4, title = "Buy 4", style = shape.diamond, location = location.absolute, color = color.lime, text = "4", size = size.tiny) plotshape(pb5, title = "Buy 5", style = shape.diamond, location = location.absolute, color = color.lime, text = "5", size = size.tiny) plotshape(pb6, title = "Buy 6", style = shape.diamond, location = location.absolute, color = color.lime, text = "6", size = size.tiny) plotshape(pb7, title = "Buy 7", style = shape.diamond, location = location.absolute, color = color.lime, text = "7", size = size.tiny) plotshape(pb8, title = "Buy 8", style = shape.diamond, location = location.absolute, color = color.lime, text = "8", size = size.tiny) plotshape(pb9, title = "Buy 9", style = shape.diamond, location = location.absolute, color = color.lime, text = "9", size = size.tiny) plotshape(pb10, title = "Buy 10", style = shape.diamond, location = location.absolute, color = color.lime, text = "10", size = size.tiny) plotshape(pb11, title = "Buy 11", style = shape.diamond, location = location.absolute, color = color.lime, text = "11", size = size.tiny) plotshape(pb12, title = "Buy 12", style = shape.diamond, location = location.absolute, color = color.lime, text = "12", size = size.tiny) plotshape(pb13, title = "Buy 13", style = shape.diamond, location = location.absolute, color = color.lime, text = "13", size = size.tiny) plotshape(pb14, title = "Buy 14", style = shape.diamond, location = location.absolute, color = color.lime, text = "14", size = size.tiny) plotshape(pb15, title = "Buy 15", style = shape.diamond, location = location.absolute, color = color.lime, text = "15", size = size.tiny) // ————— Sell Shapes plotshape(ps1, title = "Sell 1", style = shape.diamond, location = location.absolute, color = color.orange, text = "1", size = size.tiny) plotshape(ps2, title = "Sell 2", style = shape.diamond, location = location.absolute, color = color.orange, text = "2", size = size.tiny) plotshape(ps3, title = "Sell 3", style = shape.diamond, location = location.absolute, color = color.orange, text = "3", size = size.tiny) plotshape(ps4, title = "Sell 4", style = shape.diamond, location = location.absolute, color = color.orange, text = "4", size = size.tiny) plotshape(ps5, title = "Sell 5", style = shape.diamond, location = location.absolute, color = color.orange, text = "5", size = size.tiny) plotshape(ps6, title = "Sell 6", style = shape.diamond, location = location.absolute, color = color.orange, text = "6", size = size.tiny) plotshape(ps7, title = "Sell 7", style = shape.diamond, location = location.absolute, color = color.orange, text = "7", size = size.tiny) plotshape(ps8, title = "Sell 8", style = shape.diamond, location = location.absolute, color = color.orange, text = "8", size = size.tiny) plotshape(ps9, title = "Sell 9", style = shape.diamond, location = location.absolute, color = color.orange, text = "9", size = size.tiny) plotshape(ps10, title = "Sell 10", style = shape.diamond, location = location.absolute, color = color.orange, text = "10", size = size.tiny) plotshape(ps11, title = "Sell 11", style = shape.diamond, location = location.absolute, color = color.orange, text = "11", size = size.tiny) plotshape(ps12, title = "Sell 12", style = shape.diamond, location = location.absolute, color = color.orange, text = "12", size = size.tiny) plotshape(ps13, title = "Sell 13", style = shape.diamond, location = location.absolute, color = color.orange, text = "13", size = size.tiny) plotshape(ps14, title = "Sell 14", style = shape.diamond, location = location.absolute, color = color.orange, text = "14", size = size.tiny) plotshape(ps15, title = "Sell 15", style = shape.diamond, location = location.absolute, color = color.orange, text = "15", size = size.tiny) // ————— Plotting Lines under PP // ————— Plotting Lines above PP plot(lb1, title = "Level down 1", style = plot.style_circles, color = color.green), plot(ls1, title = "Level up 1", style = plot.style_circles, color = color.red) plot(lb2, title = "Level down 2", style = plot.style_circles, color = color.green), plot(ls2, title = "Level up 2", style = plot.style_circles, color = color.red) plot(lb3, title = "Level down 3", style = plot.style_circles, color = color.green), plot(ls3, title = "Level up 3", style = plot.style_circles, color = color.red) plot(lb4, title = "Level down 4", style = plot.style_circles, color = color.green), plot(ls4, title = "Level up 4", style = plot.style_circles, color = color.red) plot(lb5, title = "Level down 5", style = plot.style_circles, color = color.green), plot(ls5, title = "Level up 5", style = plot.style_circles, color = color.red) plot(lb6, title = "Level down 6", style = plot.style_circles, color = color.green), plot(ls6, title = "Level up 6", style = plot.style_circles, color = color.red) plot(lb7, title = "Level down 7", style = plot.style_circles, color = color.green), plot(ls7, title = "Level up 7", style = plot.style_circles, color = color.red) plot(lb8, title = "Level down 8", style = plot.style_circles, color = color.green), plot(ls8, title = "Level up 8", style = plot.style_circles, color = color.red) plot(lb9, title = "Level down 9", style = plot.style_circles, color = color.green), plot(ls9, title = "Level up 9", style = plot.style_circles, color = color.red) plot(lb10, title = "Level down 10", style = plot.style_circles, color = color.green), plot(ls10, title = "Level up 10", style = plot.style_circles, color = color.red) plot(lb11, title = "Level down 11", style = plot.style_circles, color = color.green), plot(ls11, title = "Level up 11", style = plot.style_circles, color = color.red) plot(lb12, title = "Level down 12", style = plot.style_circles, color = color.green), plot(ls12, title = "Level up 12", style = plot.style_circles, color = color.red) plot(lb13, title = "Level down 13", style = plot.style_circles, color = color.green), plot(ls13, title = "Level up 13", style = plot.style_circles, color = color.red) plot(lb14, title = "Level down 14", style = plot.style_circles, color = color.green), plot(ls14, title = "Level up 14", style = plot.style_circles, color = color.red) plot(lb15, title = "Level down 15", style = plot.style_circles, color = color.green), plot(ls15, title = "Level up 15", style = plot.style_circles, color = color.red) // by XaviZ💤