0 beğenilme 0 beğenilmeme
139 kez görüntülendi
Elliott dalga formüllerini Matrik'in borsa programına nasıl entegre edebilirim ki, bana dalga numarasını göstersin, yani dalgaları saysın? Explorer'da bunun için bir formül var mı? Aşağıdaki şekilde denedim. Ama işe yaramadı. Sonuç her zaman 0 oldu. Çözüm için teşekkür ederim.

 // Elliott Wave Explorer for Turkish Stocks (BIST)
// ------------------------------------------------------
swingStrength := 3; // Shorter window for volatile markets
minWave3Extension := 1.3; // 130% instead of 161.8% (adapted to BIST)
debugMode := 1; // Enable debug mode

// 1. Identify swing points (adapted to frequent price movements)
wave1Start := Trough(1, Low, swingStrength);
wave1End := Peak(1, High, swingStrength);
wave2End := Trough(2, Low, swingStrength);
wave3End := Peak(2, High, swingStrength);

// 2. Volatility adjustment (avoiding false signals during extreme movements)
wave1Length := If(wave1End - wave1Start > 0, wave1End - wave1Start, 1);
wave2Retrace := (wave1End - wave2End) / wave1Length;
wave3Extension := If(wave1Length > 0, (wave3End - wave2End) / wave1Length, 0);

// 3. Relaxed rules for Turkish stocks
isWave1 := wave1End > wave1Start AND wave1Length > (ATR(14) * 0.5); // Minimum movement = 0.5x ATR
isWave2 := wave2Retrace >= 0.2 AND wave2Retrace <= 1.0; // Retracement up to 100% allowed
isWave3 := wave3Extension >= minWave3Extension;

// 4. Debugging information
If debugMode = 1 Then Begin
AddColumn(wave1Start, "W1 Start", 2.2);
AddColumn(wave1End, "W1 End", 2.2);
AddColumn(wave2End, "W2 End", 2.2);
AddColumn(wave3Extension, "W3 Extension", 1.2);
AddColumn(ATR(14), "ATR(14)", 2.2); // Volatility check
End;

// 5. Wave phase
wavePhase := If(isWave3, 3, If(isWave2, 2, If(isWave1, 1, 0)));

// 6. Filter
Filter := wavePhase >= 1;
AddColumn(wavePhase, "Current Wave", 1.0);
Diğer Analizler kategorisinde (22 puan) tarafından | 139 kez görüntülendi

2 Cevaplar

0 beğenilme 0 beğenilmeme
Merhabalar,

Aşağıdaki şekilde numaralarını görebileceksiniz,

swingStrength := 3;
minWave3Extension := 1.3;
debugMode := 1;
wave1Start := Trough(1, Low, swingStrength);
wave1End := Peak(1, High, swingStrength);
wave2End := Trough(2, Low, swingStrength);
wave3End := Peak(2, High, swingStrength);
wave1Length := If(wave1End - wave1Start > 0, wave1End - wave1Start, 1);
wave2Retrace := (wave1End - wave2End) / wave1Length;
wave3Extension := If(wave1Length > 0, (wave3End - wave2End) / wave1Length, 0);

isWave1 := wave1End > wave1Start AND wave1Length > (ATR(14) * 0.5);
isWave2 := wave2Retrace >= 0.2 AND wave2Retrace <= 1.0;
isWave3 := wave3Extension >= minWave3Extension;

wavePhase := If(isWave3, 3, If(isWave2, 2, If(isWave1, 1, 0)));
wavePhase

iyi çalışmalar
(34,988 puan) tarafından
0 beğenilme 0 beğenilmeme
Merhabalar,

 

size çok teșekkür ederim.

Evet, hata göstermeden çalıșıyor. Ancak bu vaziyet çıkıș (UpTrend) zamanında. İniș esnasında (DownTrend) birinci dalga -1; üçüncü dalga -3 ve beșinci dalga -5 olması gerekir.

 

UpTrend için >mov(C,200,e) olabilir mi, DownTrend <mov(C,200,E)?

 

Denedim; olmadı. Göz atabilir misiniz? Yardımınız için yine teșekkür ederim. Formül șu gibi:

 

// Trend determination

isDowntrend := C < Mov(C, 200, E);

isUptrend := C > Mov(C, 200, E);

 

swingStrength := 3;

minWave3Extension := 1.3;

minWave4Retrace := 0.2;

maxWave4Retrace := 0.5;

minWave5Extension := 1.0;

debugMode := 1;

 

// Uptrend waves (1,3,5)

wave1StartUp := Trough(1, Low, swingStrength);

wave1EndUp := Peak(1, High, swingStrength);

wave2EndUp := Trough(2, Low, swingStrength);

wave3EndUp := Peak(2, High, swingStrength);

wave4EndUp := Trough(3, Low, swingStrength);

wave5EndUp := Peak(3, High, swingStrength);

 

// Downtrend waves (-1,-3,-5)

wave1StartDown := Peak(1, High, swingStrength);

wave1EndDown := Trough(1, Low, swingStrength);

wave2EndDown := Peak(2, High, swingStrength);

wave3EndDown := Trough(2, Low, swingStrength);

wave4EndDown := Peak(3, High, swingStrength);

wave5EndDown := Trough(3, Low, swingStrength);

 

// Calculations for Uptrend

wave1LengthUp := If(wave1EndUp - wave1StartUp > 0, wave1EndUp - wave1StartUp, 1);

wave2RetraceUp := (wave1EndUp - wave2EndUp) / wave1LengthUp;

wave3LengthUp := If(wave3EndUp - wave2EndUp > 0, wave3EndUp - wave2EndUp, 1);

wave3ExtensionUp := wave3LengthUp / wave1LengthUp;

wave4RetraceUp := (wave3EndUp - wave4EndUp) / wave3LengthUp;

wave5LengthUp := If(wave5EndUp - wave4EndUp > 0, wave5EndUp - wave4EndUp, 1);

wave5ExtensionUp := wave5LengthUp / wave1LengthUp;

 

// Calculations for downtrend

wave1LengthDown := If(wave1StartDown - wave1EndDown > 0, wave1StartDown - wave1EndDown, 1);

wave2RetraceDown := (wave2EndDown - wave1EndDown) / wave1LengthDown;

wave3LengthDown := If(wave2EndDown - wave3EndDown > 0, wave2EndDown - wave3EndDown, 1);

wave3ExtensionDown := wave3LengthDown / wave1LengthDown;

wave4RetraceDown := (wave4EndDown - wave3EndDown) / wave3LengthDown;

wave5LengthDown := If(wave4EndDown - wave5EndDown > 0, wave4EndDown - wave5EndDown, 1);

wave5ExtensionDown := wave5LengthDown / wave1LengthDown;

 

// Conditions for uptrend waves

isWave1Up := isUptrend AND wave1EndUp > wave1StartUp AND wave1LengthUp > (ATR(14)*0.5); isWave2Up := isUptrend AND wave2RetraceUp >= 0.2 AND wave2RetraceUp <= 1.0;

isWave3Up := isUptrend AND wave3ExtensionUp >= minWave3Extension;

isWave4Up := isUptrend AND wave4RetraceUp >= minWave4Retrace AND wave4RetraceUp <= maxWave4Retrace;

isWave5Up := isUptrend AND wave5ExtensionUp >= minWave5Extension AND wave5EndUp > wave3EndUp;

 

//Conditions for downtrend waves

isWave1Down := isDowntrend AND wave1StartDown > wave1EndDown AND wave1LengthDown > (ATR(14)*0.5);

isWave2Down := isDowntrend AND wave2RetraceDown >= 0.2 AND wave2RetraceDown <= 1.0;

isWave3Down := isDowntrend AND wave3ExtensionDown >= minWave3Extension;

isWave4Down := isDowntrend AND wave4RetraceDown >= minWave4Retrace AND wave4RetraceDown <= maxWave4Retrace;

isWave5Down := isDowntrend AND wave5ExtensionDown >= minWave5Extension AND wave5EndDown < wave3EndDown;

 

// Combined wave phases

wavePhase :=

If(isWave5Up, 5,

If(isWave5Down, -5,

If(isWave4Up, 4,

If(isWave4Down, -4,

If(isWave3Up, 3,

If(isWave3Down, -3,

If(isWave2Up, 2,

If(isWave2Down, -2,

If(isWave1Up, 1,

If(isWave1Down, -1, 0))))))))));

 

wavePhase

 

 

 

Denedim; olmadı. Göz atabilir misiniz? Yardımınız için yine teșekkür ederim.

 

Size iyi çalıșmalar
(22 puan) tarafından
9,447 soru
9,401 cevap
5,102 yorum
38,158 kullanıcı