OPEN-SOURCE SCRIPT

[Au Linear Regression Buy-Sell-V1]

### English Version:
#### Title: **Linear Regression Buy-Sell Strategy with Stop Loss and Take Profit Levels**
This script, designed for the TradingView platform, implements a **Linear Regression** based trading strategy with **buy and sell signals**, **stop loss** and **take profit** levels, and **cooldown periods** between signals. It aims to provide traders with an automated mechanism to make entry and exit decisions, based on the trend direction indicated by the slope of the regression line.

---

#### **1. Input Settings**
The script begins with several configurable inputs:

- **Regression Period** (`regression_period`): The number of bars used to calculate the linear regression line, which helps to determine the price trend.
- **Signal Sensitivity** (`signal_threshold`): A threshold that adjusts the sensitivity of the buy and sell signals based on the slope of the regression line.
- **Stop Loss Percentage** (`stop_loss_percent`): The percentage of price movement at which the trade will be closed to minimize losses.
- **Take Profit Percentage** (`profit_target_percent`): The percentage of price movement at which the trade will be closed to secure profits.
- **Cooldown Period** (`cooldown_period`): A time (in bars) that must pass before a new signal can trigger.
- **Alert Deviation** (`alert_deviation`): The tolerance for deviations around the stop loss and take profit levels to trigger alerts.

---

#### **2. Linear Regression Calculation**
A **Linear Regression Line** is calculated using the `ta.linreg` function, which gives a smooth representation of the price trend over a specified number of bars. The **slope** of this line is then calculated by comparing the current regression value to the previous value.

---

#### **3. Cooldown Control**
This section prevents consecutive signals from being triggered too quickly by introducing a cooldown period between buy and sell signals. The script tracks the bar index of the last signal and ensures that no new signal is given until the cooldown period has passed.

---

#### **4. Buy and Sell Signals**
The script generates buy and sell signals based on the slope of the regression line:
- **Buy Signal**: When the slope is greater than the sensitivity threshold (`signal_threshold`), and a cooldown period has passed.
- **Sell Signal**: When the slope is less than the negative sensitivity threshold, and a cooldown period has passed.

Once a signal is generated, the script tracks the bar index of that signal to ensure the cooldown is respected.

---

#### **5. Stop Loss and Take Profit Levels**
The script sets **stop loss** and **take profit** levels upon signal generation:
- **Stop Loss**: For a long position, the stop loss is set to a percentage below the entry price. For a short position, the stop loss is set to a percentage above the entry price.
- **Take Profit**: For a long position, the take profit is set to a percentage above the entry price. For a short position, it is set to a percentage below the entry price.

Once the price hits the stop loss or take profit levels, the entry price is reset, effectively closing the trade.

---

#### **6. Plotting the Signals and Lines**
The script plots the **linear regression line**, **buy** (green triangle), and **sell** (red triangle) signals on the chart. Additionally, it plots the **stop loss** (red line) and **take profit** (green line) levels when an active trade is ongoing.

---

#### **7. Alerts**
The script can send alerts when:
- A **buy signal** is triggered.
- A **sell signal** is triggered.
- The price approaches the **stop loss** or **take profit** levels, based on the **alert deviation** setting.

---

### Turkish Version:
#### Başlık: **Doğrusal Regresyon Al-Sat Stratejisi ile Zarar Durdurma ve Kar Alma Seviyeleri**
Bu betik, **TradingView** platformu için tasarlanmış olup, **doğrusal regresyon** tabanlı bir ticaret stratejisi sunmaktadır. Bu strateji, **al ve sat sinyalleri**, **zarar durdurma** ve **kar alma** seviyeleri ile **sinyaller arasında bekleme süreleri** sağlar. Amaç, yatırımcılara regresyon çizgisinin eğimine dayalı bir şekilde, ticaret kararlarını otomatikleştirerek giriş ve çıkış noktalarını belirlemelerine yardımcı olmaktır.

---

#### **1. Giriş Ayarları**
Betik, birkaç yapılandırılabilir girdi ile başlar:

- **Regresyon Periyodu** (`regression_period`): Regresyon çizgisinin hesaplanacağı bar sayısı. Bu, fiyatın trendini belirlemekte kullanılır.
- **Sinyal Hassasiyeti** (`signal_threshold`): Regresyon çizgisinin eğimine göre al ve sat sinyallerinin hassasiyetini ayarlar.
- **Zarar Durdurma Yüzdesi** (`stop_loss_percent`): Fiyatın belirli bir yüzdesi kadar hareket ettiğinde ticaretin kapatılacağı seviyeyi belirtir.
- **Kar Alma Yüzdesi** (`profit_target_percent`): Fiyatın belirli bir yüzdesi kadar hareket ettiğinde ticaretin kapatılacağı seviyeyi belirtir.
- **Bekleme Süresi** (`cooldown_period`): Yeni bir sinyalin oluşmadan önce beklenmesi gereken zaman (bar cinsinden).
- **Sapma Toleransı** (`alert_deviation`): Zarar durdurma ve kar alma seviyelerinde uyarı tetiklenmesi için belirli bir sapma toleransını ayarlamak için kullanılır.

---

#### **2. Doğrusal Regresyon Hesaplama**
**Doğrusal Regresyon Çizgisi**, `ta.linreg` fonksiyonu kullanılarak hesaplanır ve bu çizgi, belirli bir bar sayısı boyunca fiyatın trendini yumuşatarak gösterir. Bu çizginin **eğimi**, şu anki regresyon değeri ile önceki regresyon değeri karşılaştırılarak hesaplanır.

---

#### **3. Bekleme Süresi Kontrolü**
Bu bölüm, al ve sat sinyallerinin çok hızlı bir şekilde tekrarlanmaması için bir bekleme süresi ekler. Betik, son sinyalin bar indeksini takip eder ve yeni bir sinyalin verilmesi için bekleme süresinin geçmesini sağlar.

---

#### **4. Al ve Sat Sinyalleri**
Betik, regresyon çizgisinin eğimine dayalı olarak al ve sat sinyalleri üretir:
- **Al Sinyali**: Eğimin sinyal hassasiyetini (`signal_threshold`) aşması durumunda ve bekleme süresi tamamlandığında al sinyali verilir.
- **Sat Sinyali**: Eğimin negatif sinyal hassasiyetini geçmesi durumunda ve bekleme süresi tamamlandığında sat sinyali verilir.

Bir sinyal verildikten sonra, betik sinyalin bar indeksini kaydederek bekleme süresi koşulunu takip eder.

---

#### **5. Zarar Durdurma ve Kar Alma Seviyeleri**
Betik, sinyal oluşturulduğunda **zarar durdurma** ve **kar alma** seviyelerini belirler:
- **Zarar Durdurma**: Uzun pozisyon için, zarar durdurma seviyesi giriş fiyatının belirli bir yüzdesi kadar altında belirlenir. Kısa pozisyon için ise bu seviye, giriş fiyatının belirli bir yüzdesi kadar üstünde belirlenir.
- **Kar Alma**: Uzun pozisyon için, kar alma seviyesi giriş fiyatının belirli bir yüzdesi kadar üstünde belirlenir. Kısa pozisyon için ise bu seviye giriş fiyatının belirli bir yüzdesi kadar altında belirlenir.

Fiyat, zarar durdurma veya kar alma seviyelerine ulaşırsa, giriş fiyatı sıfırlanır ve ticaret kapatılır.

---

#### **6. Sinyalleri ve Çizgileri Görselleştirme**
Betik, **doğrusal regresyon çizgisini**, **al** (yeşil üçgen) ve **sat** (kırmızı üçgen) sinyallerini grafikte gösterir. Ayrıca, aktif bir ticaret varsa, **zarar durdurma** (kırmızı çizgi) ve **kar alma** (yeşil çizgi) seviyelerini de gösterir.

---

#### **7. Uyarılar**
Betik aşağıdaki durumlarda uyarılar gönderebilir:
- Bir **al sinyali** tetiklendiğinde.
- Bir **sat sinyali** tetiklendiğinde.
- Fiyat, **zarar durdurma** veya **kar alma** seviyelerine yaklaşırsa, belirlenen **sapma toleransı** çerçevesinde.

---

This script can be utilized by traders who prefer to automate their entry and exit points based on a regression-based trend analysis, while also setting predefined risk management levels through stop loss and take profit settings.
Bands and ChannelsChart patterns

Script de código aberto

No verdadeiro espírito do TradingView, o autor desse script o publicou como código aberto, para que os traders possam compreendê-lo e analisá-lo. Parabéns ao autor! Você pode usá-lo gratuitamente, mas a reutilização desse código em publicações é regida pelas Regras da Casa. Você pode favoritá-lo para usá-lo em um gráfico.

Quer usar esse script no gráfico?


t.me/trugurpala
Também em:

Aviso legal