Untitled
//@version=5 indicator("Rsn Banker Upd", overlay=true) // Function to calculate the Main Force and Life Line oscillators calculate_life_line_oscillator(n, weight, close, high, low) => smoothedPrice = ((2 * close + high + low) / 4) lowestLow = ta.lowest(low, n) highestHigh = ta.highest(high, n) mainForce = ta.alma(ta.ema(((smoothedPrice - lowestLow) / (highestHigh - lowestLow)) * 100, n) * weight,3,0.85,6) lifeLine = ta.ema((0.667 * mainForce[1] + 0.333 * mainForce), 2) * weight [mainForce, lifeLine] // User-defined inputs n = input.int(27, title="Period") weight = input.float(1.0, title="Weight", minval=0.1) // Visual Settings bullColor = input.color(color.yellow, "Bullish Color", group="Visual Settings") bearColor = input.color(color.fuchsia, "Bearish Color", group="Visual Settings") entryColor = input.color(color.yellow, "Entry Signal Color", group="Visual Settings") exitColor = input.color(color.fuchsia, "Exit Signal Color", group="Visual Settings") // Calculate the oscillators [mainForce, lifeLine] = calculate_life_line_oscillator(n, weight, close, high, low) // Plot the oscillators plot(mainForce, color=color.yellow, linewidth = 2, title="Main Force") plot(lifeLine, color=color.fuchsia, linewidth = 2, title="Life Line") // Detect crossovers and crossunders crossoverCondition = ta.crossover(mainForce, lifeLine) crossunderCondition = ta.crossunder(mainForce, lifeLine) // Draw labels for crossovers and crossunders if crossoverCondition label.new(x=bar_index, y=mainForce, text="B", style=label.style_label_up, color=color.new(color.yellow,50), textcolor=color.white, size=size.small) if crossunderCondition label.new(x=bar_index, y=mainForce, text="S", style=label.style_label_down, color=color.new(color.fuchsia,50), textcolor=color.white, size=size.small) //functions xrf(values, length) => r_val = float(na) if length >= 1 for i = 0 to length by 1 if na(r_val) or not na(values[i]) r_val := values[i] r_val r_val xsa(src, len, wei) => sumf = 0.0 ma = 0.0 out = 0.0 sumf := nz(sumf[1]) - nz(src[len]) + src ma := na(src[len]) ? na : sumf / len out := na(out[1]) ? ma : (src * wei + out[1] * (len - wei)) / len out //set up a simple model of banker fund flow trend fundtrend = (3 * xsa((close - ta.lowest(low, 27)) / (ta.highest(high, 27) - ta.lowest(low, 27)) * 100, 5, 1) - 2 * xsa(xsa((close - ta.lowest(low, 27)) / (ta.highest(high, 27) - ta.lowest(low, 27)) * 100, 5, 1), 3, 1) - 50) * 1.032 + 50 //define typical price for banker fund typ = (2 * close + high + low + open) / 5 //lowest low with mid term fib # 34 lol = ta.lowest(low, 34) //highest high with mid term fib # 34 hoh = ta.highest(high, 34) //define banker fund flow bull bear line bullbearline = ta.ema((typ - lol) / (hoh - lol) * 100, 13) //define banker entry signal bankerentry = ta.crossover(fundtrend, bullbearline) and bullbearline < 41 bankerexit = ta.crossunder(fundtrend, bullbearline) and bullbearline > 75 plotcandle(0, 50, 0, 100, color = bankerentry ? entryColor : na, wickcolor = bankerentry ? #00000000 : na, bordercolor = bankerentry ? #00000000 : na) plotcandle(0, 50, 0, 100, color = bankerexit ? exitColor : na, wickcolor = bankerexit ? #00000000 : na, bordercolor = bankerexit ? #00000000 : na) // Kullanıcıdan tutar girdisi al tutar = input.float(title="Tutar (TL)", defval=10000, minval=1) // Hisse fiyatını kullanarak adet sayısını hesapla quantity = math.floor(tutar / close) ADET = str.tostring(quantity) // API Anahtarı APIKEY = input.string(title="API Anahtarı", defval="APIKEY-5Xpr53_-rvTBdJhLIfqzIet2qj-bo-LX-EeTF2QilXGqekxn53NBk0mG_Flr2XN", tooltip="Osmanlı Yatırım API anahtarınızı girin") // Alım ve satım sinyalleri al = ta.crossover(mainForce, lifeLine) sat = ta.crossunder(mainForce, lifeLine) // Sinyal değişkeni Sinyal = al ? 1 : sat ? -1 : 0 // Sinyali tetikleyen fonksiyon alarmTetikle(sembol, sinyal) => durum = request.security(sembol, timeframe.period, sinyal) mesaj = durum > 0 ? "buy" : durum < 0 ? "sell" : "" // Alım veya satım durumu if durum != 0 and str.length(sembol) > 1 // Osmanlı Yatırım için JSON formatında emir mesajı oluştur alarmMesajiJSON = '{"name": "osmanlı yatırım sinyali",' + '"symbol": "' + syminfo.ticker(sembol) + '",' + '"orderSide": "' + mesaj + '",' + '"orderType": "mktbest",' + '"price": "0",' + '"quantity": "' + ADET + '",' + '"timeInForce": "ioc",' + '"apiKey": "' + APIKEY + '",' + '"goodInOffHours": "0"}' // Osmanlı Yatırım sistemine emir gönderme alert(message = alarmMesajiJSON, freq = alert.freq_once_per_bar_close) sembol1 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S1") sembol2 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S2") sembol3 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S3") sembol4 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S4") sembol5 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S5") sembol6 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S6") sembol7 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S7") sembol8 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S8") sembol9 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S9") sembol10 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S10") sembol11 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S11") sembol12 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S12") sembol13 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S13") sembol14 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S14") sembol15 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S15") sembol16 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S16") sembol17 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S17") sembol18 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S18") sembol19 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S19") sembol20 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S20") sembol21 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S21") sembol22 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S22") sembol23 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S23") sembol24 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S24") sembol25 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S25") sembol26 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S26") sembol27 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S27") sembol28 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S28") sembol29 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S29") sembol30 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S30") sembol31 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S31") sembol32 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S32") sembol33 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S33") sembol34 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S34") sembol35 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S35") sembol36 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S36") sembol37 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S37") sembol38 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S38") sembol39 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S39") sembol40 = input.symbol(defval = "", title = "Symbol", group = "SCANNER",inline = "S40") alarmTetikle(sembol1, Sinyal) alarmTetikle(sembol2, Sinyal) alarmTetikle(sembol3, Sinyal) alarmTetikle(sembol4, Sinyal) alarmTetikle(sembol5, Sinyal) alarmTetikle(sembol6, Sinyal) alarmTetikle(sembol7, Sinyal) alarmTetikle(sembol8, Sinyal) alarmTetikle(sembol9, Sinyal) alarmTetikle(sembol10, Sinyal) alarmTetikle(sembol11, Sinyal) alarmTetikle(sembol12, Sinyal) alarmTetikle(sembol13, Sinyal) alarmTetikle(sembol14, Sinyal) alarmTetikle(sembol15, Sinyal) alarmTetikle(sembol16, Sinyal) alarmTetikle(sembol17, Sinyal) alarmTetikle(sembol18, Sinyal) alarmTetikle(sembol19, Sinyal) alarmTetikle(sembol20, Sinyal) alarmTetikle(sembol21, Sinyal) alarmTetikle(sembol22, Sinyal) alarmTetikle(sembol23, Sinyal) alarmTetikle(sembol24, Sinyal) alarmTetikle(sembol25, Sinyal) alarmTetikle(sembol26, Sinyal) alarmTetikle(sembol27, Sinyal) alarmTetikle(sembol28, Sinyal) alarmTetikle(sembol29, Sinyal) alarmTetikle(sembol30, Sinyal) alarmTetikle(sembol31, Sinyal) alarmTetikle(sembol32, Sinyal) alarmTetikle(sembol33, Sinyal) alarmTetikle(sembol34, Sinyal) alarmTetikle(sembol35, Sinyal) alarmTetikle(sembol36, Sinyal) alarmTetikle(sembol37, Sinyal) alarmTetikle(sembol38, Sinyal) alarmTetikle(sembol39, Sinyal) alarmTetikle(sembol40, Sinyal)
Leave a Comment