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