Описание программы "Headge"

3. Описание программы

«Headge» совершает математические операции с уже известными длинами волнам, опираясь на эти данные, прогнозирует длины будущих волн.


Как пользоваться программой?

  1. Выбрать акции для анализа.
  2. Посчитать количество волн и их длины(подробнее об этом в главе I и в книге «Волновой принцип Эллиотта ключ к пониманию рынка») для выбранных акций.
  3. В «Headge» ввести количество волн (не меньше 1 и не больше 4х).
  4. Ввести длины этих волн.
  5. На основе полученных данных принимать решение

Опираясь на введенное количество волн, программа совершает разные действия.

Если дана только 1 волна, тогда программа подсчитывает все возможные варианты будущих волн.

1. Если волна 1 самая большая, тогда волна 2 = волна 1*0.382, волна 3 = волна 1* 0.618, волна 4 = волна 3*0.618, волна 5 = волна 1*0.382. (Если волна 2 будет = волна 1* 0.618, тогда волна 4 окажется на территории волны 1, что невозможно, поэтому мы убираем этот вариант)

2. Если волна 3 самая большая, тогда волна 2 = волна 1*0.618, волна 3 = волна 1 *2.618, волна 4 = волна 3*0.382, волна 5 = волне 1*1.618. Или волна 2 = волна 1*0.618, волна 3 = волна 1 *1.618, волна 4 = волна 3*0.382, волна 5 = волне 1.

3. Если волна 5-ая самая большая, тогда волна 2 = волна 1*0.618, волна 3 = волна 1 *1.618, волна 4 = волна 3*0.382, волна 5 = волне 1*2.618. Или волна 2 = волна 1*0.382, волна 3 = волна 1 *1.618, волна 4 = волна 3*0.382, волна 5 = волне 1*2.618.

Если даны волна 1 и волна 2, тогда программа проверяет является ли вторая волна резкой коррекцией. Если 0.48<=волна 2/ волну 1<= 0.90. Тогда рассчитывает варианты:

Если волна 3 самая большая:


1. Волна 3 = волна 1* 2.618, волна 4 = волна 3* 0.382, волна 5 = волне 1.

2. Волна 3 = волна 1* 1.618, волна 4 = волна 3* 0.382, волна 5 = волне 1.

3. Волна 3 = волна 1* 2.618, волна 4 = волна 3* 0.382, волна 5 = волне 1*0.618.

4. Волна 3 = волна 1* 1.618, волна 4 = волна 3* 0.382, волна 5 = волне 1*0.618.

5. Волна 3 = волна 1* 2.618, волна 4 = волна 3* 0.382, волна 5 = волне 1*1.618.

Если волна 5 самая большая:

1. Волна 3 = волне 1, волна 4 = волна 3*0.382, волна 5 = (волна 3+ волна 1- волна 2)*1.618.

2. Волна 3 = волне 1 *1.618, волна 4 = волна 3*0.382, волна 5 = (волна 3+ волна 1- волна 2)*1.618.

3. Волна 3 = волне 1, волна 4 = волна 3*0.382, волна 5 = волна 1*1.618

4. Волна 3 = волне 1*1.618, волна 4 = волна 3*0.382, волна 5 = волна 1*2.618.

Но если волна 2/ волну 1< 0.48, тогда :

Если волна 3 самая большая:

1. Волна 3 = волна 1 * 2.618, волна 4 = волна 3 * 0.618, волна 5 = волне1.

2. Волна 3 = волна 1 * 1.618, волна 4 = волна 3 * 0.618, волна 5 = волне1.

3. Волна 3 = волна 1 * 2.618, волна 4 = волна 3 * 0.618, волна 5 = волна1*0.618.

4. Волна 3 = волна 1 * 1.618, волна 4 = волна 3 * 0.618, волна 5 = волне1 * 0.618.

Если волна 5 самая большая:

1. Волна 3 = волне 1, волна 4 = волна 3*0.618, волна 5 = (волна 3+ волна 1- волна 2)*1.618.

2. Волна 3 = волне 1 *1.618, волна 4 = волна 3*0. 618, волна 5 = (волна 3+ волна 1- волна 2)*1.618.

3. Волна 3 = волне 1, волна 4 = волна 3*0. 618, волна 5 = волна 1*1.618.

4. Волна 3 = волне 1*1.618, волна 4 = волна 3*0. 618, волна 5 = волна 1*2.618.

Если даны волна 1, волна 2, волна 3: тогда программа проверяет является ли вторая волна резкой коррекцией. Если 0.48<=волна 2/ волну 1<= 0.90. Потом программа проверяет во сколько волна 3 больше волны 1, если волна 3 / волну 1 => 1.3, тогда:

1. Волна 4 = волна 3 *0.382, волна 5 = волне 1.

2. Волна 4 = волна 3 *0.382, волна 5 = волне 1*0.618.

Если 1<=волна 3/ волну 1 <1.3, тогда:

1. Волна 4 = волна 3 *0.382, волна 5 = волне 1*1.618.

2. Волна 4 = волна 3 *0.382, волна 5 = волне 1*2.618.

Если волна 2 – вертикальная коррекция (волна 2/ волну 1< 0.48), тогда программа проверяет во сколько волна 3 больше волны 1, если волна 3 / волну 1 => 1.3, тогда:

1. Волна 4 = волна 3 *0.618, волна 5 = волне 1.

2. Волна 4 = волна 3 *0.618, волна 5 = волне 1*0.618.

Если 1<=волна 3/ волну 1 <1.3, тогда:

1. Волна 4 = волна 3 *0.618, волна 5 = волне 1*1.618.

2. Волна 4 = волна 3 *0.618, волна 5 = волне 1*2.618.

Если даны волна 1, волна 2, волна 3, волна 4, программа проверяет во сколько волна 3 больше волны 1, если волна 3 / волну 1 => 1.3, тогда:

1. Волна 5 = волне 1.

2. Волна 5 = волне 1*0.618.

Иначе:

1. Волна 5 = волне 1*1.618.

2. Волна 5 = волне 1*2.618.

Скачать программу

Для Windows7 и выше https://drive.google.com/open?id=1uYdn2iNIRZIofQ-CPLDdMvO6iIR9x5PN

Код программы

Программа написана мной на Visual Studio 2017 на языке программирования C++.

#include "pch.h"

#include <iostream>

using namespace std;

void main()

{

setlocale(0, "");

double v1, v2, v3, v4;

int n;

for (; ;)

{

cout << "Введите кол-во волн: ";

cin >> n;

switch (n)

{

case 1: cout << "Введите длину волны 1: ";

cin >> v1;

cout << "Если 1-ая волна самая большая: " << endl;

cout << "1)волна 2= " << v1 * 0.382 << " (v1*0.382) " << " волна 3= " << v1 * 0.618 << " (v1*0.618) " << "(общий прирост " << v1 * 0.618 - v1 * 0.382 << ")" << "волна 4= " << v1 * 0.618*0.618 << " (v3*0.618) " << "волна 5= " << v1 * 0.382 << " (v1*0.382) " << "(общий прирост " << (v1 + v1 * 0.618 + v1 * 0.382) - (v1 *0.618* 0.618 + v1 * 0.382) << ")" << endl;

cout << "Если 3-ая волна самая большая: " << endl;

cout << "1)волна 2= " << v1 * 0.618 << " (v1*0.618) " << " волна 3= " << v1 * 2.618 << " (v1*2.618) " << "(общий прирост " << v1 * 2.618 - v1 * 0.618 << ")" << "волна 4= " << v1 * 2.618*0.382 << " (v3*0.382) " << "волна 5= " << v1*1.618 << " (v1*1.618) " << "(общий прирост " << (v1 + v1 * 1.618 + v1 * 2.618) - (v1 * 2.618*0.382 + v1 * 0.618) << ")" << endl;

cout << "2)волна 2= " << v1 * 0.618 << " (v1*0.618) " << " волна 3= " << v1 * 1.618 << " (v1*1.618) " << "(общий прирост " << v1 * 1.618 - v1 * 0.618 << ")" << "волна 4= " << v1 * 1.618*0.382 << " (v3*0.382) " << "волна 5= " << v1 << " (v1) " << "(общий прирост " << (v1 + v1 + v1 * 1.618) - (v1 * 1.618*0.382 + v1 * 0.618) << ")" << endl;

cout << "Если 5-ая волна самая большая: " << endl;

cout << "1)волна 2= " << v1 * 0.618 << " (v1*0.618) " << " волна 3= " << v1 * 1.618 << " (v1*1.618) " << "(общий прирост " << v1 * 1.618 - v1 * 0.618 << ")" << "волна 4= " << v1 * 1.618*0.382 << " (v3*0.382) " << "волна 5= " << v1*2.618 << " (v1) " << "(общий прирост " << (v1 + v1 * 1.618 + v1 * 2.618) - (v1 * 1.618*0.382 + v1 * 0,681) << ")" << endl;

cout << "2)волна 2= " << v1 * 0.382 << " (v1*0.382) " << " волна 3= " << v1 * 1.618 << " (v1*1.618) " << "(общий прирост " << v1 * 1.618 - v1 * 0.382 << ")" << "волна 4= " << v1 * 1.618*0.681 << " (v3*0.382) " << "волна 5= " << v1 * 2.618 << " (v1) " << "(общий прирост " << (v1 + v1 * 1.618 + v1 * 2.618) - (v1 * 1.618*0.618 + v1 * 0.382) << ")" << endl;

break;


case 2: cout << "Введите длину волны 1: ";

cin >> v1;

cout << "Введите длину волны 2: "; cin >> v2;

if ((v2 / v1) <= 0.90 && (v2 / v1) >= 0.48)

{

cout << " Если 3-ая волна самая большая: " << endl;

cout << "1)Волна 3= " << v1 * 2.618 << " (v1*2.618) " << "(общий прирост " << v1 * 2.618 - v2 << ")" << " волна 4= " << v1 * 2.618*0.382 << " (v3*0.382) " << " волна 5= " << v1 << " (v1) " << "(общий прирост " << (v1 + v1 + v1 * 2.618) - (v2 + v1 * 0.382) << ")" << endl;

cout << "2)Волна 3= " << v1 * 1.618 << " (v1*1.618) " << "(общий прирост " << v1 * 1.618 - v2 << ")" << " волна 4= " << v1 * 1.618*0.382 << " (v3*0.382) " << " волна 5= " << v1 << " (v1) " << "(общий прирост " << (v1 + v1 + v1 * 1.618) - (v2 + v1 * 0.382) << ")" << endl;

cout << "3)Волна 3= " << v1 * 2.618 << " (v1*2.618) " << "(общий прирост " << v1 * 2.618 - v2 << ")" << " волна 4= " << v1 * 2.618*0.382 << " (v3*0.382) " << " волна 5= " << v1 *0.618 << " (v*0.618) " << "(общий прирост " << (v1 + v1 * 0.618 + v1 * 2.618) - (v2 + v1 * 0.382) << ")" << endl;

cout << "4)Волна 3= " << v1 * 1.618 << " (v1*1.618) " << "(общий прирост " << v1 * 1.618 - v2 << ")" << " волна 4= " << v1 * 1.618*0.382 << " (v3*0.382) " << " волна 5= " << v1 *0.618 << " (v1*0.618) " << "(общий прирост " << (v1 + v1 * 1.618 + v1 * 0.618) - (v2 + v1 * 0.382) << ")" << endl;

cout << "5)Волна 3= " << v1 * 2.618 << " (v1*2.618) " << "(общий прирост " << v1 * 2.618 - v2 << ")" << " волна 4= " << v1 * 2.618*0.382 << " (v3*0.382) " << " волна 5= " << v1 * 1.618 << " (v1*1.618) " << "(общий прирост " << (v1 + v1 * 1.618 + v1 * 2.618) - (v2 + v1 * 0.382) << ")" << endl;

cout << endl<< " Если 5-ая волна самая большая: " << endl ;

cout << "1)Волна 3= " << v1 << " (v1) " << "(общий прирост " << v1 - v2 << ")" << " волна 4= " << v1 * 0.382 << " (v3*0.382) " << " волна 5= " << ((v1*2)-v2)*1.68 << " ((v1+v3-v2)*1.618) " << "(общий прирост " << (v1 + v1 + ((v1 * 2) - v2)*1.68) - (v2 + v1 * 0.382) << ")" << endl;

cout << "2)Волна 3= " << v1 * 1.618 << " (v1*1.618) " << "(общий прирост " << v1 * 1.618 - v2 << ")" << " волна 4= " << v1 * 1.618*0.382 << " (v3*0.382) " << " волна 5= " << (v1+v1*1.618-(v1 * 1.618*0.382))*1.68 << " ((v1+v3-v2)*1.68) " << "(общий прирост " << (v1 + (v1 + v1 - (v1 * 1.618*0.382))*1.68 + v1 * 1.618) - (v2 + v1 * 0.382) << ")" << endl;

cout << "3)Волна 3= " << v1 << " (v1) " << "(общий прирост " << v1 - v2 << ")" << " волна 4= " << v1 *0.382 << " (v3*0.382) " << " волна 5= " << v1*2.618 << " (v1*1.618) " << "(общий прирост " << (v1 + v1 + v1 * 1.618) - (v2 + v1 * 0.382) << ")" << endl;

cout << "4)Волна 3= " << v1 * 1.618 << " (v1*1.618) " << "(общий прирост " << v1 * 1.618 - v2 << ")" << " волна 4= " << v1 * 1.618*0.382 << " (v3*0.382) " << " волна 5= " << v1 *2.618 << " (v1*1.618) " << "(общий прирост " << (v1 + v1 * 1.618 + v1 * 1.618) - (v2 + v1 * 0.382) << ")" << endl;

break;

}

else

{

cout << "Если 3-ая волна самая большая: " << endl;

cout << "1)Волна 3= " << v1 * 2.618 << " (v1*2.618) " << "(общий прирост " << v1 * 2.618 - v2 << ")" << " волна 4= " << v1 * 2.618*0.618 << " (v3*0.618) " << " волна 5= " << v1 << " (v1) " << "(общий прирост " << (v1 + v1 + v1 * 2.618) - (v2 + v1 * 0.618) << ")" << endl;

cout << "2)Волна 3= " << v1 * 1.618 << " (v1*1.618) " << "(общий прирост " << v1 * 1.618 - v2 << ")" << " волна 4= " << v1 * 1.618*0.618 << " (v3*0.618) " << " волна 5= " << v1 << " (v1) " << "(общий прирост " << (v1 + v1 + v1 * 1.618) - (v2 + v1 * 0.618) << ")" << endl;

cout << "3)Волна 3= " << v1 * 2.618 << " (v1*2.618) " << "(общий прирост " << v1 * 2.618 - v2 << ")" << " волна 4= " << v1 * 2.618*0.618 << " (v3*0.618) " << " волна 5= " << v1 * 0.618 << " (v1*0.618) " << "(общий прирост " << (v1 + v1 * 0.618 + v1 * 2.618) - (v2 + v1 * 0.618) << ")" << endl;

cout << "4)Волна 3= " << v1 * 1.618 << " (v1*1.618) " << "(общий прирост " << v1 * 1.618 - v2 << ")" << " волна 4= " << v1 * 1.618*0.618 << " (v3*0.618) " << " волна 5= " << v1 * 0.618 << " (v1*0.618) " << "(общий прирост " << (v1 + v1 * 1.618 + v1 * 0.618) - (v2 + v1 * 0.618) << ")" << endl;

cout << "Если 5-ая волна самая большая: " << endl;

cout << "1)Волна 3= " << v1<< " (v1) " << "(общий прирост " << v1 - v2 << ")" << " волна 4= " << v1 *0.618 << " (v3*0.618) " << " волна 5= " << (v1 + v1 - (v1*0.382))*1.68 << " ((v1+v3-v2)*1.68) " << "(общий прирост " << (v1 + v1 + (v1 + v1 - (v1*0.382))*1.68) - (v2 + v1 * 0.618) << ")" << endl;

cout << "2)Волна 3= " << v1 * 1.618 << " (v1*1.618) " << "(общий прирост " << v1 * 1.618 - v2 << ")" << " волна 4= " << v1 * 1.618*0.618 << " (v3*0.618) " << " волна 5= " << (v1 + v1 * 1.618 - (v1 * 1.618*0.382))*1.68 << " ((v1+v3-v2)*1.68) " << "(общий прирост " << (v1 + (v1 + v1 - (v1 * 1.618*0.382))*1.68 + v1 * 1.618) - (v2 + v1 * 0.382) << ")" << endl;

cout << "3)Волна 3= " << v1 << " (v1) " << "(общий прирост " << v1 - v2 << ")" << " волна 4= " << v1 * 0.618 << " (v3*0.382) " << " волна 5= " << v1 * 2.618 << " (v1*1.618) " << "(общий прирост " << (v1 + v1 + v1 * 1.618) - (v2 + v1 * 0.382) << ")" << endl;

cout << "4)Волна 3= " << v1 * 1.618 << " (v1*1.618) " << "(общий прирост " << v1 * 1.618 - v2 << ")" << " волна 4= " << v1 * 1.618*0.618 << " (v3*0.618) " << " волна 5= " << v1 * 2.618 << " (v1*1.618) " << "(общий прирост " << (v1 + v1 * 1.618 + v1 * 1.618) - (v2 + v1 * 0.382) << ")" << endl;

break;

}case 3: cout << "Введите длину волны 1: ";

cin >> v1;

cout << "Введите длину волны 2: ";

cin >> v2;

cout << "Введите длину волны 3: ";

cin >> v3;

if ((v2 / v1) <= 0.99 && (v2 / v1) >= 0.48)

{

if (v3 / v1 >= 1.3 && v3 / v1 <= 3.0)

{

cout << "Вариынты : " << endl;

cout << "1)Волна 4= " << v3 * 0.382 << " (v3*0.382) " << " волна 5= " << v1 << " (v1) " << "(общий прирост " << (v1 + v1 + v3) - (v2 + v1 * 0.382) << ")" << endl;

cout << "2)олна 4= " << v3 * 0.382 << " волна 5= " << v1 * 0.618 << " (v1*0.618) " << "(общий прирост " << (v1 + v1 * 0.618 + v3) - (v2 + v1 * 0.382) << ")" << endl;

break;

}

else

{

cout << "Вариынты : " << endl;

cout << "1)Волна 4= " << v3 * 0.382 << " (v3*0.382) " << " волна 5= " << v1 * 1.618 << " (v1*1.618) " << "(общий прирост " << (v1 + v1 * 1.618 + v3) - (v2 + v1 * 0.382) << ")" << endl;

cout << "2)Волна 4= " << v3 * 0.382 << " (v3*0.382) " << " волна 5= " << v1 * 2.618 << " (v1*2.618) " << "(общий прирост " << (v1 + v1 * 1.618 + v3) - (v2 + v1 * 0.382) << ")" << endl;

break;

}

}

else

if (v3 / v1 >= 1.3 && v3 / v1 <= 3.0)

{

cout << "Вариынты : " << endl;

cout << "1)Волна 4= " << v3 * 0.618 << " (v3*0.618) " << " волна 5= " << v1 << " (v1) " << "(общий прирост " << (v1 + v1 + v3) - (v2 + v1 * 0.618) << ")" << endl;


cout << "2)олна 4= " << v3 * 0.618 << " (v3*0.618) " << " волна 5= " << v1 * 0.618 << " (v1*0.618) " << "(общий прирост " << (v1 + v1 * 0.618 + v3) - (v2 + v1 * 0.618) << ")" << endl;

break;

}

else

{

cout << "Вариынты : " << endl;

cout << "1)Волна 4= " << v3 * 0.618 << " (v3*0.618) " << " волна 5= " << v1 * 1.618 << " (v1*1.618) " << "(общий прирост " << (v1 + v1 * 1.618 + v3) - (v2 + v3 * 0.618) << ")" << endl;

cout << "2)Волна 4= " << v3 * 0.618 << " (v3*0.618) " << " волна 5= " << v1 * 2.618 << " (v1*2.618) " << "(общий прирост " << (v1 + v1 * 2.618 + v3) - (v2 + v3 * 0.618) << ")" << endl;

break;

}

break;

case 4: cout << "Введите длину волны 1: ";

cin >> v1;

cout << "Введите длину волны 2: ";

cin >> v2;

cout << "Введите длину волны 3: ";

cin >> v3;

cout << "Введите длину волны 4: ";

cin >> v4;

if (v1 / v2 >= 1.3 && v3 / v1 <= 3.0)

{

cout << "Вариынты : " << endl;

cout << "1)Волна 5= " << v1 << " (v1) " << "(общий прирост " << (v1 + v1 + v3) - (v2 + v4) << ")" << endl;

cout << "1)Волна 5= " << v1*0.618 << " (v1*0.618) " << "(общий прирост " << (v1 + v1*0.618 + v3) - (v2 + v4) << ")" << endl;

break;

}

else

{

cout << "Вариынты : " << endl;

cout << "1)Волна 5= " << v1 * 1.618 << " (v1*1.618) " << "(общий прирост " << (v1 + v1 * 1.618 + v3) - (v2 + v4) << ")" << endl;

cout << "2)Волна 5= " << v1 * 2.618 << " (v1*2.618) " << "(общий прирост " << (v1 + v1 * 2.618 + v3) - (v2 + v4) << ")" << endl;

break;

}

break;

}

}

system("pause>>int");

}

Апробация

Самый наглядный пример отношения Фибоначчи - акции компании

Alphabet(google) с мая по август 2018 года(рис 2-1).

компания фибоначи


Рис 2-1.



Это уже проанализированные котировки. На графике выделены все волны и их длины.

Волна2 /Волну 1 = 0.4(близко к 0.382) или 40% от волны 1-горизонтальная коррекция.

Волна 4/Волну 3 = 0.62(близко к 0.618) или 62% от волны 3-резкая коррекция.

Волна 3/Волну 5 = 0.65 (близко к 0.618).

волна


Рис 2-2.

В программу (рис 2-2) вводим кол-во волн длины, которых мы знаем(для примера ввели 3). Вводим длины первой, второй, третей волн, которые равны 93,37,116.

И программа выдает первым наиболее вероятный вариант развития событий. Т.е по прогнозу волна 4=71.68, волна 5=187.68. Это означает то, что точность прогноза больше 95%(чем больше волн известно, тем больше точность).

Вывод

Когда я начал пользоваться программой(осень 2018), на моем брокерском счету было 500$. За 2.5 месяца торгов с помощью «Headge» я заработал 96$ (прибыль 23%). Точность прогноза «Headge» больше 90%.

Один пример из моих сделок – акции Apple.

программа и волны

На тот момент мне была только известна 1-ая и 2-ая волна.

волны програмы

На основе этих данных я принял решение(т.к акции будут падать как минимум на 19 долларов) шортить акции “Apple”, на этом я заработал 45 долларов.

Глоссарий

Акция – ценная бумага, подтверждающая вашу долю в компании. Покупая акцию, вы фактически становитесь совладельцем предприятия, то есть обладателем определенной его доли. Заработать на акции можно, продав её в тот момент, когда она ценится значительно дороже, чем на момент покупки.

Фондовая биржа – это организованный и регулярно функционирующий рынок по купле-продаже ценных бумаг: акций, облигаций и т.п. На фондовых биржах формируется курс ценных бумаг.

Брокер – лицензированный участник рынка ценных бумаг, совершает сделки от имени и за счет инвестора.

Шортить — это игра на понижение. Суть механизма выглядит следующим образом: трейдер, понимая, что стоимость актива в скором времени упадет, берет в долг определенное количество ценных бумаг у брокера. Затем он продает их на бирже, ожидая, когда цена снизиться до конкретной отметки. Как только она достигает необходимого минимума, трейдер выкупает актив и возвращает его брокеру. Заработок получается из разницы между первоначальной ценой и конечной.

Литература

  1. Книга Роберта Пректера, Альфреда Фроста. Волновой принцип Эллиотта ключ к пониманию рынка.
  2. Интернет