fx5 fibospiral v1.2.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «fx5 fibospiral v1.2.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Пользовательский индикатор для MetaTrader 4, отображающий спираль Фибоначчи на графике. Индикатор строит опорный квадрат на основе выбранной свечи и радиуса, затем формирует набор линий, расходящихся от центра по спиральному пути. Цвет линий меняется в зависимости от направления отклонения от центра.
Настройки программы
| Настройка | Описание |
|---|---|
| note1 | Примечание — Текстовый комментарий, описывающий назначение параметра выбора центральной свечи. |
| CandleCenter | Центральная свеча — Номер свечи, используемой как точка центра спирали на графике. |
| radius | Радиус — Начальный радиус спирали, определяющий масштаб построения. |
| goldenSpiralCycle | Цикл золотой спирали — Параметр, задающий количество циклов спирального разворота. |
| clockWiseSpiral | Направление спирали — Переключатель направления построения спирали: по часовой стрелке или против. |
| spiralColor1 | Цвет спирали 1 — Цвет линий спирали в одном из направлений относительно центра. |
| spiralColor2 | Цвет спирали 2 — Цвет линий спирали в противоположном направлении относительно центра. |
Поиск по коду файла
#property indicator_chart_window
#define pi 3.14159265
#define phi 1.61803399
#define FX5_Square "FX5_Square"
#define FX5_Spiral "FX5_Spiral:#"
extern string note1="What candle do you want to draw the center?";
extern int CandleCenter = 75;
extern double radius = 11.8;
extern double goldenSpiralCycle = 1.5;
extern bool clockWiseSpiral = true;
extern color spiralColor1 = clrMagenta;
extern color spiralColor2 = clrPaleGreen;
double accurity = 0.25;
int OnInit()
{
// код доступен только после оплаты
}
int deinit()
{
DeleteSpiral();
ObjectDelete(FX5_Square);
Comment(" ");
return(0);
}
int start()
{
// код доступен только после оплаты
}
void DrawSpiral()
{
double squareTime_1 = ObjectGet(FX5_Square, OBJPROP_TIME1);
double squareTime_2 = ObjectGet(FX5_Square, OBJPROP_TIME2);
double squarePrice_1 = ObjectGet(FX5_Square, OBJPROP_PRICE1);
int squareShift_1 = iBarShift(NULL, 0, squareTime_1, false);
int squareShift_2 = iBarShift(NULL, 0, squareTime_2, false);
double r0 = MathAbs(squareShift_2 - squareShift_1);
double a = 0;
double x0 = squareShift_1;
double y0 = squarePrice_1;
double cotAlpha = (1/(2 * goldenSpiralCycle *pi)) * MathLog(phi);
double x1 = 0;
double y1 = 0;
for(int i = 0; i < 500; i++)
{
double Theta = a * pi / 4;
double r = r0 * MathExp(Theta * cotAlpha);
if (clockWiseSpiral == false)
Theta = -Theta;
double x2 = r * MathCos(Theta);
double y2 = r * MathSin(Theta);
a += accurity;
string label = FX5_Spiral + i;
DrawLine(x1, y1, x2, y2, label);
x1 = x2;
y1 = y2;
}
}
void DrawLine(double x1, double y1, double x2, double y2, string label)
{
double squareTime_1 = ObjectGet(FX5_Square, OBJPROP_TIME1);
double squareTime_2 = ObjectGet(FX5_Square, OBJPROP_TIME2);
double squarePrice_1 = ObjectGet(FX5_Square, OBJPROP_PRICE1);
double squarePrice_2 = ObjectGet(FX5_Square, OBJPROP_PRICE2);
int squareShift_1 = iBarShift(NULL, 0, squareTime_1, false);
int squareShift_2 = iBarShift(NULL, 0, squareTime_2, false);
double scale = ((squarePrice_2 - squarePrice_1) / PoiПоказано первые 50% кода (символов: 3385)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.