203 lines
4.8 KiB
Markdown
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 ...
|
|
//
|
|
``` |