Whale Speed Volatility Divergence
- Uzman Danışmanlar
- Mustafa Ozkurkcu
- Sürüm: 1.0
-
Divergence tespiti (tetikleyici):
-
TPS (ticks-per-second / bar tick_volume) anlık olarak geçmiş ortalamasına göre yüksek olmalı (TPS_Multiplier),
-
Volatilite (bar high-low) ise geçmiş ortalamasına göre düşük olmalı (Volatility_Multiplier).
Bu kombinasyon, “sessiz aralıkta hacim akışı” → yakın kırılım sinyali verir.
-
-
Yön ve filtre:
-
Sinyal barı yeşilse (close > open) BUY, kırmızıysa SELL düşünür.
-
İsteğe bağlı MA trend filtresi ile (Use_TrendFilter) barın MA’nın üstünde→BUY, altında→SELL olması şartı eklenir.
-
-
Emir parametreleri:
-
SL, sinyal barının low’u (BUY) veya high’ı (SELL).
-
TP = SL * TakeProfit_Multiplier (oransal risk/ödül).
-
Lot büyüklüğü, RiskPercentage ile hesaplanır; marja sığmazsa lot iteratif küçültülür (Reduce_On_Margin_Or_Limit, Open_Retry_*).
-
-
Yürütme korumaları (broker gerçekleri):
-
Emir öncesi spread, stop/freeze level, tick size ve latency buffer kontrol edilir.
-
SL modifiyesi için throttle, freeze yakınsa atla, pre-modify tick tazeleme ve slack pips ile “close to market” retleri azaltılır.
-
Açılış/modify başarısız olursa cooldown uygular, spam log ve gereksiz denemeleri keser.
-
-
Trailing stop motoru:
-
Fiyat, girişe göre ilerledikçe SL’i pip bazlı öne alır (TrailingStop_Pips),
-
Her modifiyede minimum adım (Trailing_Min_Step_Pips) şartı ve stop/freeze+buffer mesafeleri korunur.
-
-
Veri/warmup & tester uyumluluğu:
-
Yeterli bar yoksa bekler (Require_History_Warmup) veya fallback TF’e geçer.
-
Tester’da TPS için tick_volume emülasyonu kullanabilir (Use_TickVolume_Emulation) ve sinyali bar[1] ile sabitler (Use_Closed_Bar) — stabil/tekrarlanabilir backtest.
-
-
OnTimer (her 1 sn): Gerçek zamanlı TPS sayacı → tps_history[] ; 5 barın high-low ortalaması → vol_history[] .
-
OnTick:
-
Warmup ve sembol/TF hazır mı? Değilse bekle veya fallback.
-
TPS_now / TPS_avg ve Vol_now / Vol_avg hesaplanır (tester’da emülasyon).
-
Koşul: TPS_now > TPS_avg * TPS_Multiplier VE Vol_now < Vol_avg * Volatility_Multiplier .
-
Bar rengi + opsiyonel MA filtresi yönü belirler.
-
SL/TP üret, lotu riskten hesapla, spread & stop/freeze kontrolü, marj iteratif kontrol → emri aç.
-
Açık pozisyon varsa trailing çalışır; modify öncesi tick tazele + slack ile limiti güvene al.
-
Risk & Trade Controls
-
TakeProfit_Multiplier
TP’yi, SL mesafesinin kaç katı yapacağını belirler (RR oranı). Örn. 2.0 = RR 1:2. -
Max_Spread_Pips
Anlık spread bunun üstündeyse hiç sinyal işlenmez (kötü likiditede giriş yok). -
InpMagicNumber
Bu EA’nın açtığı pozisyonları ayırt etmek için magic. Netting hesapta sembol başına tek pozisyon. -
RiskPercentage
İşlem başı bakiyenin % kaçı risklensin. Lot, SL mesafesi ve tick value ile buradan türetilir. -
TrailingStop_Pips
Trailing devredeyse SL, fiyata bu pip mesafesiyle taşınır (stop/freeze + buffer kurallarına uyar). -
Max_Lots_Per_Trade
Emniyet tavanı: risk formülü büyük lot üretse bile bu değeri aşmaz. -
Reduce_On_Margin_Or_Limit
Açılışta marja sığmaz veya hacim limiti hatası alırsa lotu küçülterek tekrar dene. -
Open_Retry_Attempts
Lot küçülterek kaç kez daha denesin. -
Open_Retry_Factor
Her denemede lot *= bu katsayı (örn. 0.75 → %25 küçült).
Trend Filter (MA)
-
Use_TrendFilter
Açıkken bar yönü MA yönüyle uyumlu değilse sinyal atlanır. -
MA_Period, MA_Method, MA_Price
Trend filtresi için MA parametreleri (SMA/EMA/WMA vb., close/hlc3 vs.).
Signal Logic (TPS & Vol)
-
TPS_Multiplier
TPS (hacim akışı) eşiği. Ne kadar büyükse, “normalin üstünde akış” aralığı o kadar seçici olur. -
Volatility_Multiplier
Volatilite (bar aralığı) eşiği. Ne kadar küçükse, “sakinlikte akış” şartı o kadar sert. -
HistorySize
TPS/Vol geçmişinin kaç saniye/örnek saklanacağı (canlıda 1 saniyelik timerla dolar).
Backtest & Robustness
-
Use_TickVolume_Emulation
Tester’da gerçek TPS yerine barın tick_volume verisini kullanarak TPS emülasyonu yapar. -
Use_Closed_Bar
Sinyali bar kapandıktan sonra hesapla (bar[1]) → repaint/geriye bakma etkisini azaltır. -
TPS_Lookback_Bars / Vol_Lookback_Bars
TPS ve Vol ortalamalarının kaç bar üzerinden alınacağı (tester yolu için).
Execution Safeguards
-
Modify_Throttle_Sec
SL modifiyeleri arasında minimum süre. Spam ve gereksiz denemeler azalır. -
Trailing_Min_Step_Pips
SL’i hareket ettirmek için en az bu kadar pip ilerleme şartı. -
Modify_Extra_Buffer_Pips
Broker’ın stop level ve freeze level mesafelerine ek emniyet payı. -
Enable_CloseToMarket_Backoff
Modifiye “close to market”/“invalid stops” hatası verirse tek seferlik daha geniş mesafeyle tekrar dene. -
Backoff_Extra_Pips
O tek seferlik yeniden denemede eklenecek ekstra mesafe. -
Freeze_Skip_Pips
Mevcut SL, freeze level’a bu kadar yakınsa modifiye atlanır (ret almamak için). -
Modify_Latency_Margin_Pips
Canlı fiyatın anlık sıçramasına karşı ek gecikme marjı. -
Modify_Failure_Cooldown_Sec
Modifiye başarısızsa, yeniden denemeden önce beklenecek süre. -
PreModify_Refetch_Tick
Modifiye öncesi tick’i yeniden okur; limitleri o anki fiyata göre sıkıştırır. -
PreModify_Slack_Pips
Modifiye limitinin bir tık daha uzağına SL koymak için ekstra tampon—“close to market” hatalarını ciddi azaltır. -
Open_Failure_Cooldown_Sec
Açılış başarısızsa (No money, limit volume) tekrar denemeden önce bekleme—log temizliği ve risk disiplini.
Data & Warmup
-
Auto_Select_Symbol
Sembol panelde seçili değilse otomatik seçer. -
Require_History_Warmup
Yeterli bar yoksa işleme başlamaz. -
Auto_Find_Available_TF
Ana TF’de veri yoksa, ilk uygun TF’ye otomatik düşer. -
Warmup_Min_Bars
İşe başlamadan önce gerekli minimum bar sayısı. -
Fallback_Timeframe
Veri yetersizliğinde düşülecek yedek zaman dilimi. -
Preload_Bars
Başlangıçta kaç barı önceden yüklemeyi denesin.
-
Pozisyon büyüklüğü: RiskPercentage ile SL mesafesine göre dinamik lot.
-
Marj kontrolü: Açılışta OrderCalcMargin ile free margin karşılaştırması; sığmazsa lot iteratif küçültülür.
-
Spread filtresi: Max_Spread_Pips üstü durumlarda giriş yok.
-
Broker seviye korumaları: Stop/freeze level + ekstra buffer + latency margin.
-
Retry mantığı: Hacim/para kaynaklı retlerde lot küçülterek tekrar dene; diğer retlerde ısrar etmez.
-
Cooldown: Açılış ve modifiye hatalarında bekleme, gereksiz riskten kaçınma.
-
Önce sinyal parametrelerini (TPS_Multiplier, Volatility_Multiplier, Lookback’lar) kalibre et; sonra trailing ve pre-modify slack ile icrayı parlat.
-
Majörler (EURUSD H1/M30): Max_Spread_Pips düşük tut; PreModify_Slack_Pips 0.4–0.8 arası iyi başlar.
-
XAUUSD (D1/H1): pip/point farkı büyük; TrailingStop_Pips aralığını geniş tut, Modify_Latency_Margin_Pips ve Backoff_Extra_Pips ’i bir tık artır.
-
Scalp (M1/M5): Use_Closed_Bar = true ile başlayıp stabil sonuç al; sonra Use_Closed_Bar = false denemek istersen riskin arttığını bil.
Bu EA/strateji:
-
Yatırım tavsiyesi değildir.
-
Kâr garantisi yoktur; backtest/optimizasyon sonuçları geleceği temsil etmez.
-
Piyasa koşulları (haber akışı, likidite daralması, slipaj, bağlantı gecikmesi, broker kısıtları) performansı olumsuz etkileyebilir.
-
Yanlış ayarlar, yetersiz sermaye, yüksek kaldıraç veya uygunsuz risk yüzdeleri sermaye kaybına yol açabilir.
-
Botu demo/forward testte denemeden canlı kullanma; RiskPercentage ’ı düşük (örn. %0.1–0.5) başlat, kademeli artır.
-
Stop/freeze level ve sembol sözleşme şartları brokerdan brokera değişir—kendi koşullarını kontrol etmeden agresif parametre kullanma.

This could be great but a lack of proven sets AND control of LS is very dangerous.
On M5 this EA took a trade with LS 2. (TWO!?!?!) despite risk % set at 0.1% of balance.
Trade ended up at -330.
This will kill accounts.
Author can improve this EA with proven sets.