Files
xMQL4/Docs/Samples/DrawFibonnaciTemplate.md
T
2024-01-25 04:03:36 +03:30

203 lines
4.8 KiB
Markdown

# DrawFibonnaci
```mq4
//
// START Draw Fibonachi Retracement Object ...
//
// //
// int fibIndex = 0;
// int fibLevelsCount = 6;
// int fibLevelWidths[6];
// color fibLevelColors[6];
// double fibLevelValues[6];
// string fibLevelDescriptions[6];
// ENUM_LINE_STYLE fibLevelStyles[6];
// //
// // Level 1 ...
// // 0.0
// // clrGray ...
// fibLevelValues[fibIndex] = 0.0;
// fibLevelColors[fibIndex] = clrGray;
// fibLevelStyles[fibIndex] = STYLE_DOT;
// fibLevelWidths[fibIndex] = 1;
// fibLevelDescriptions[fibIndex] = "0.0 @ %$";
// fibIndex++;
// //
// // Level 2 ...
// // 0.236
// // clrOliveDrab ...
// fibLevelValues[fibIndex] = 0.236;
// fibLevelColors[fibIndex] = clrOliveDrab;
// fibLevelStyles[fibIndex] = STYLE_DOT;
// fibLevelWidths[fibIndex] = 1;
// fibLevelDescriptions[fibIndex] = "0.236 @ %$";
// fibIndex++;
// //
// // Level 3 ...
// // 0.382
// // clrYellow ...
// fibLevelValues[fibIndex] = 0.382;
// fibLevelColors[fibIndex] = clrYellow;
// fibLevelStyles[fibIndex] = STYLE_DASHDOTDOT;
// fibLevelWidths[fibIndex] = 1;
// fibLevelDescriptions[fibIndex] = "0.382 @ %$";
// fibIndex++;
// //
// // Level 4 ...
// // 0.5
// // clrLime ...
// fibLevelValues[fibIndex] = 0.5;
// fibLevelColors[fibIndex] = clrLime;
// fibLevelStyles[fibIndex] = STYLE_DASHDOT;
// fibLevelWidths[fibIndex] = 1;
// fibLevelDescriptions[fibIndex] = "0.5 @ %$";
// fibIndex++;
// //
// // Level 5 ...
// // 0.618
// // clrYellow ...
// fibLevelValues[fibIndex] = 0.618;
// fibLevelColors[fibIndex] = clrYellow;
// fibLevelStyles[fibIndex] = STYLE_DASHDOTDOT;
// fibLevelWidths[fibIndex] = 1;
// fibLevelDescriptions[fibIndex] = "0.618 @ %$";
// fibIndex++;
// //
// // Level 6 ...
// // 1
// // clrGray ...
// fibLevelValues[fibIndex] = 1.0;
// fibLevelColors[fibIndex] = clrGray;
// fibLevelStyles[fibIndex] = STYLE_DOT;
// fibLevelWidths[fibIndex] = 1;
// fibLevelDescriptions[fibIndex] = "1.0 @ %$";
// fibIndex++;
// //
// string fibName = StringConcatenate(
// signalPrefix,
// "_[", totalSignals, "]_",
// "[Fibo]"
// );
// //
// double fibDestPrice = hasLongSignal ?
// slInfo.longSL :
// slInfo.shortSL;
// //
// // Draw Fibonacci on Signal Propposed Area ...
// DrawCustomFibonacci(
// fibLevelsCount,
// fibLevelValues,
// fibLevelColors,
// fibLevelStyles,
// fibLevelWidths,
// fibLevelDescriptions,
// 0, // Chart ID ...
// fibName, // Object Name ...
// 0, // SubWindow ...
// zigZagHighTime, // Time 1 ...
// zigZagHigh, // Price 1 ...
// time, // Time 2 ...
// fibDestPrice, // Price 2 ...
// clrCadetBlue // Fib Aroow Color ...
// );
//
// TODO: now we have to analyse Entry Point (price), using Fib ...
// string fibLevel3Description = "";
// fibLevel3Description = ObjectGetFiboDescription(fibName, 2);
// string message = StringConcatenate(
// "Fib Level 3 Desc: ",
// fibLevel3Description
// );
// LogMessage(fibLevel3Description);
// //
// //
// string fibLevel5Description = "";
//
double fibDestPrice = hasLongSignal ?
slInfo.longSL :
slInfo.shortSL;
//
datetime fibTime1 = iTime(
_Symbol,
_Period,
1
);
//
datetime fibTime2 = iTime(
_Symbol,
_Period,
0
);
//
double minFibLevelValue = 0.382;
double minFibLevel = GetFibonacciLevel(
zigZagHigh, // Up ...
fibDestPrice, // Down ...
minFibLevelValue, // Level ...
X_DOWN // Direction ...
);
string minFibLevelName = StringConcatenate(
signalPrefix,
"_[", totalSignals, "]_",
"[Fibo_0.382]"
);
//
// Draw minFibLevel ...
DrawTrendLine(
0,
minFibLevelName,
0,
fibTime1,
minFibLevel,
fibTime2,
minFibLevel,
clrYellow
);
//
double maxFibLevelValue = 0.618;
double maxFibLevel = GetFibonacciLevel(
zigZagHigh, // Up ...
fibDestPrice, // Down ...
maxFibLevelValue, // Level ...
X_DOWN // Direction ...
);
string maxFibLevelName = StringConcatenate(
signalPrefix,
"_[", totalSignals, "]_",
"[Fibo_0.618]"
);
//
// Draw minFibLevel ...
DrawTrendLine(
0,
minFibLevelName,
0,
fibTime1,
maxFibLevel,
fibTime2,
maxFibLevel,
clrYellow
);
//
// END Draw Fibonachi Retracement Object ...
//
```