Untitled
//@version=5 indicator("Manuel Trading Stratejisi", overlay=true) // Kullanıcı girdileri longLevel = input.price(0.0, "Alış Seviyesi", confirm=true) shortLevel = input.price(0.0, "Satış Seviyesi", confirm=true) stopLevel = input.price(0.0, "Stop Loss Seviyesi", confirm=true) apiKey = input.string("", title=" 📏 API Key ", group="StrParams") quantity = input.float(0.0, "İşlem Miktarı", minval=0.0) // Function to generate alert message getAlertMessage(bool condition, float buyQuantity = 0) => string returnMessage = na messageTimenow = "{{timenow}}" if condition returnMessage := '{"name": "' + syminfo.ticker + '", "symbol": "' + syminfo.ticker + '", "orderSide": "buy", "orderType": "mkt", "price": "0", "quantity": "' + str.tostring(math.floor(buyQuantity)) + '", "timeInForce": "ioc", "apiKey": "' + apiKey + '", "timenow": "' + messageTimenow + '"}' else returnMessage := '{"name": "' + syminfo.ticker + '", "symbol": "' + syminfo.ticker + '", "orderSide": "sell", "orderType": "mkt", "price": "0", "quantity": "' + str.tostring(quantity) + '", "timeInForce": "ioc", "apiKey": "' + apiKey + '", "timenow": "' + messageTimenow + '"}' returnMessage var prevSymbol = syminfo.tickerid symbolChanged = prevSymbol != syminfo.tickerid if symbolChanged prevSymbol := syminfo.tickerid longLevel := 0.0 shortLevel := 0.0 stopLevel := 0.0 // Alarm koşulları if ta.crossover(close, longLevel) and longLevel != 0 alert(getAlertMessage(true, quantity), alert.freq_once_per_bar) if ta.crossover(close, shortLevel) and shortLevel != 0 alert(getAlertMessage(false, quantity), alert.freq_once_per_bar) if ta.crossover(close, stopLevel) and stopLevel != 0 alert(getAlertMessage(false, quantity), alert.freq_once_per_bar) // Çizgileri ve label'ları tanımla var line longLine = na var line shortLine = na var line stopLine = na var label longLabel = na var label shortLabel = na var label stopLabel = na // Sembol değiştiğinde çizgileri ve labelları temizle if symbolChanged line.delete(longLine) line.delete(shortLine) line.delete(stopLine) label.delete(longLabel) label.delete(shortLabel) label.delete(stopLabel) if longLevel != 0 line.delete(longLine) label.delete(longLabel) longLine := line.new(x1=bar_index - 5, y1=longLevel, x2=bar_index + 10, y2=longLevel, color=color.green, style=line.style_dashed) longLabel := label.new(bar_index + 16, longLevel, "ALIŞ - " + str.tostring(longLevel, "#.##"), color=color.green, textcolor=color.white, style=label.style_label_left) if shortLevel != 0 line.delete(shortLine) label.delete(shortLabel) shortLine := line.new(x1=bar_index - 5, y1=shortLevel, x2=bar_index + 10, y2=shortLevel, color=color.red, style=line.style_dashed) shortLabel := label.new(bar_index + 16, shortLevel, "SATIŞ - " + str.tostring(shortLevel, "#.##"), color=color.red, textcolor=color.white, style=label.style_label_left) if stopLevel != 0 line.delete(stopLine) label.delete(stopLabel) stopLine := line.new(x1=bar_index - 5, y1=stopLevel, x2=bar_index + 10, y2=stopLevel, color=color.yellow, style=line.style_dashed) stopLabel := label.new(bar_index + 16, stopLevel, "STOP - " + str.tostring(stopLevel, "#.##"), color=color.yellow, textcolor=color.black, style=label.style_label_left)
Leave a Comment