Форекс / Forex (Главная) Mini forex trading accounts in HSN
  Forex Форум | Форекс Евроклуб :: Тиковый индикатор \"Крестики-Нолики\" / Самый авторитетный Forex Forum
Вход Имя: Пароль:
Автоматически входить при каждом посещении    
Регистрация
Регистрация
Войти и проверить личные сообщения
Войти и проверить личные сообщения
Войти и проверить личные сообщения
Правила
Начать новую тему   Ответить на тему
Общие вопросы >  Тиковый индикатор \"Крестики-Нолики\"
Предыдущая тема :: Следующая тема  
Автор Сообщение
mandor
знатный пермяк


Зарегистрирован: 19.09.2005
Сообщения: 406

СообщениеДобавлено: Вт Окт 04, 2005 4:03 am    Заголовок сообщения: Тиковый индикатор \"Крестики-Нолики\" цитата

Решил поделиться с Вами моим индикатором Крестики-Нолики (Point & Figure) для MetaTrder 3. Чтобы получить возможность пользоваться этим индикатором, поместите файлы "Ticker Point & Figure.mlq" и "Ticker Point & Figure.exp" в папку experts\indikators. Всем желающим вышлю файлы по почте.

Особенность программы в том, что цены сравниваются с некоторым оклонением от точного значения, поскольку выяснено в ходе эксплуатации индикаторов, что цена Bid может иметь небольшие отклонения от сетки цен, кратных Point (в следующем разряде).

_________________
[color=indigo:82edf1fa85]По настоящему человек раскрывается только на операционном столе (Херург).[/color:82edf1fa85]
Вернуться к началу
[профиль] [сообщение] [письмо]
mandor
знатный пермяк


Зарегистрирован: 19.09.2005
Сообщения: 406

СообщениеДобавлено: Вт Окт 04, 2005 4:04 am    Заголовок сообщения: цитата

Исходный текст программы:
/*[[
Name := Point & Figure for Ticker
Author := Copyright © 2003-2005, Mandor
Link := mandor@mail.ru
Notes := Обрабатывает каждый тик цены Bid
Notes := Рисует график Point & Figure
Update on every tick := Yes
Separate Window := YES
First Color := Red
First Draw Type := Symbol
First Symbol := 159
Use Second Data := Yes
Second Color := Blue
Second Draw Type := Symbol
Second Symbol := 250
]]*/

Inputs : Turn(Cool;

Variables : nInit(0),nBars(0),nTurn(0);
Variables : nTick(0),nBid(0);
Variables : nValue(0),nCounter(0),nCounter2(0),nEndBar(0);

Variables : nVolume(0),nMaxVolume(2000);
Arrays : nPrice[2000](0);

Variables : nLengh(0),nMaxLengh(100);
Arrays : nDir[100](0),nMax[100](0),nMin[100](0);

_________________
[color=indigo:82edf1fa85]По настоящему человек раскрывается только на операционном столе (Херург).[/color:82edf1fa85]
Вернуться к началу
[профиль] [сообщение] [письмо]
mandor
знатный пермяк


Зарегистрирован: 19.09.2005
Сообщения: 406

СообщениеДобавлено: Вт Окт 04, 2005 4:05 am    Заголовок сообщения: цитата

SetLoopCount(0);

// Поменялась переменная Turn
If nTurn<>Turn Then Begin
nTurn=Turn;
// Очистка массивов
nLengh=0;
For nCounter=1 To nMaxLengh Begin
nDir[nCounter]=0;
nMax[nCounter]=0;
nMin[nCounter]=0;
End;
// Очистка графика
For nCounter=0 To nBars-1 Begin
SetIndexValue(nCounter,0);
SetIndexValue2(nCounter,0);
End;
End;

// Нарисовался новый бар
// Сместить график на 1 бар вправо
If nBars<Bars Then Begin
nBars=Bars;
For nCounter=0 To Bars-2 Begin
nValue=GetIndexValue(nCounter+1);
SetIndexValue(nCounter,nValue);
nValue=GetIndexValue2(nCounter+1);
SetIndexValue2(nCounter,nValue);
End;
// Очистка следов
SetIndexValue(Bars-1,0);
SetIndexValue2(Bars-1,0);
End;

// Установка начальных значений
If nInit=0 Then Begin
nInit=1;
// Очистка массивов
For nCounter=1 To nMaxLengh Begin
nDir[nCounter]=0;
nMax[nCounter]=0;
nMin[nCounter]=0;
End;
// Очистка графика
For nCounter=0 To Bars-1 Begin
SetIndexValue(nCounter,0);
SetIndexValue2(nCounter,0);
End;
nBars=Bars;
nBid=Bid;
nTick=1;
nVolume=1;
nPrice[1]=nBid;
nLengh=1;
nDir[1]=0;
nMax[1]=nBid;
nMin[1]=nBid;
SetIndexValue(0,nBid);
SetIndexValue2(0,0);
Exit;
End;

// Новая цена
If nBid=Bid Then Begin
Exit; // чужой тик
End;
nTick=nTick+1;
nBid=Bid;

// Сдвиг данных и запись новой цены
nVolume=nVolume+1;
If nVolume>nMaxVolume Then nVolume=nMaxVolume;
For nCounter=nVolume DownTo 2 Begin
nPrice[nCounter]=nPrice[nCounter-1];
End;
nPrice[1]=nBid;

_________________
[color=indigo:82edf1fa85]По настоящему человек раскрывается только на операционном столе (Херург).[/color:82edf1fa85]
Вернуться к началу
[профиль] [сообщение] [письмо]
mandor
знатный пермяк


Зарегистрирован: 19.09.2005
Сообщения: 406

СообщениеДобавлено: Вт Окт 04, 2005 4:06 am    Заголовок сообщения: цитата

// Формирование графика Point & Figure из массива nPrice
nLengh=1;
nDir[1]=1;
nMax[1]=nPrice[nVolume];
nMin[1]=nPrice[nVolume];
For nCounter=nVolume-1 DownTo 1 Begin
nValue=nPrice[nCounter];
// Обновление столбца 1
// Сдвиг верней границы
// Сдвиг нижней границы
If nValue>nMax[1] Then nMax[1]=nValue;
If nValue<nMin[1] Then nMin[1]=nValue;
// Был рост цен
If nDir[1]>=0 Then Begin
// Разница между максимальной ценой и текущей не менее поворотного цисла
// Поворот - смена роста цен на падение
If nMax[1]-nValue>(Turn-0.5)*Point Then Begin
// Сдвиг данных
nLengh=nLengh+1;
If nLengh>=nMaxLengh Then nLengh=nMaxLengh;
For nCounter2=nLengh DownTo 2 Begin
nDir[nCounter2]=nDir[nCounter2-1];
nMax[nCounter2]=nMax[nCounter2-1];
nMin[nCounter2]=nMin[nCounter2-1];
End;
// Новый столбец
nDir[1]=-1;
nMax[1]=nMax[2];
nMin[1]=nValue;
End;
// Было падение цен
End Else Begin
// Разница между текущей ценой и минимальной не менее поворотного цисла
// Поворот - смена падения цен на рост
If nValue-nMin[1]>(Turn-0.5)*Point Then Begin
// Сдвиг данных
nLengh=nLengh+1;
If nLengh>=nMaxLengh Then nLengh=nMaxLengh;
For nCounter2=nLengh DownTo 2 Begin
nDir[nCounter2]=nDir[nCounter2-1];
nMax[nCounter2]=nMax[nCounter2-1];
nMin[nCounter2]=nMin[nCounter2-1];
End;
// Новый столбец
nDir[1]=1;
nMax[1]=nValue;
nMin[1]=nMin[2];
End;
End;
End;

// График
If nDir[1]>=0 Then Begin
SetIndexValue(0,nBid);
SetIndexValue2(0,0);
End Else Begin
SetIndexValue(0,0);
SetIndexValue2(0,nBid);
End;
nCounter2=1;
For nCounter=1 To nLengh Begin
If nCounter2>Bars-1 Then Break;
If nDir[nCounter]>=0 Then Begin
nValue=nMax[nCounter];
While 1=1 Begin
SetIndexValue(nCounter2,nValue);
SetIndexValue2(nCounter2,0);
nCounter2=nCounter2+1;
nValue=nValue-Point;
If nCounter2>Bars-1 Then Break;
If nValue<nMin[nCounter]+0.5*Point Then Break;
End;
End Else Begin
nValue=nMin[nCounter];
While 1=1 Begin
SetIndexValue(nCounter2,0);
SetIndexValue2(nCounter2,nValue);
nCounter2=nCounter2+1;
nValue=nValue+Point;
If nCounter2>Bars-1 Then Break;
If nValue>nMax[nCounter]-0.5*Point Then Break;
End;
End;
End;

_________________
[color=indigo:82edf1fa85]По настоящему человек раскрывается только на операционном столе (Херург).[/color:82edf1fa85]
Вернуться к началу
[профиль] [сообщение] [письмо]
mandor
знатный пермяк


Зарегистрирован: 19.09.2005
Сообщения: 406

СообщениеДобавлено: Вт Окт 04, 2005 4:10 am    Заголовок сообщения: цитата

Требуется накопить несколько десятков тиков, чтобы стала получаться приемлимая картинка.
Индикатор можно перевести в формат MQL4.
Как нибудь возьмусь.
Чтобы от индикатора был толк, нужно знать техники использования этого индикатора.
Всё как обычно.

_________________
[color=indigo:82edf1fa85]По настоящему человек раскрывается только на операционном столе (Херург).[/color:82edf1fa85]
Вернуться к началу
[профиль] [сообщение] [письмо]
Strange
Студент


Зарегистрирован: 25.08.2004
Сообщения: 21

СообщениеДобавлено: Чт Ноя 03, 2005 8:10 am    Заголовок сообщения: цитата

Мда-а-аб людям халяву предлагают и то спасибо не услышишь...
Слушай Mandor. сотри код а я преложу за плату - железно желающие будутю
А пока спасибо то имени всех любителей кодов на халяву!
Вернуться к началу
[профиль] [сообщение]
mandor
знатный пермяк


Зарегистрирован: 19.09.2005
Сообщения: 406

СообщениеДобавлено: Пт Ноя 04, 2005 1:56 am    Заголовок сообщения: цитата

Способ истользования этого идикатора следующий.

Сигнал на покупку:
Последний столбик графика вниз.
Максимум последнего столбика вверх выше максимума предпоследнего столбика вверх.
Устанавливаем отложенный ордер на покупку по максимуму последнего столбика вверх.

Сигнал на продажу:
Последний столбик графика вверх.
Минимум последнего столбика вниз ниже минимума предпоследнего столбика вниз.
Устанавливаем отложенный ордер на продажу по минимуму последнего столбика вниз.

_________________
[color=indigo:82edf1fa85]По настоящему человек раскрывается только на операционном столе (Херург).[/color:82edf1fa85]
Вернуться к началу
[профиль] [сообщение] [письмо]
mandor
знатный пермяк


Зарегистрирован: 19.09.2005
Сообщения: 406

СообщениеДобавлено: Пт Ноя 04, 2005 2:10 am    Заголовок сообщения: цитата

Текст индикатора тут приведён в редакции 2003 года. В более современной редакции есть некоторые изменения, связанные с оптимизацией вычислений. В остальном, ничего не поменялось.

Приведённый выше способ использования индикатора особенно полезен, если надо удачно войти по тренду. Т.е., если уже мы определились с направлением торговли. Например по графику H4 или D1.

_________________
[color=indigo:82edf1fa85]По настоящему человек раскрывается только на операционном столе (Херург).[/color:82edf1fa85]
Вернуться к началу
[профиль] [сообщение] [письмо]
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Forex Форум | Форекс Евроклуб » Общие вопросы Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщению
Вы можете загружать файлы

Поддержка он-лайн
331-126-670








Forex / Форекс - главнаяTradingDesk Pro 5TradingDesk LiteForex EuroclubРублевый ФорексMini ForexАналитика, новости ForexКонкурс ФорексО рынке ForexФорумF.A.Q.Котировки ФорексФилиалы и агентыДоверительное управление 50X50WAP Форекс

© 1999-2008, Forex EuroClub. All rights reserved