MMGP logo
Присоединяйтесь к нашему инвестиционному форуму, на котором уже 641,972 пользователей. Чтобы получить доступ ко многим закрытым разделам и начать общение - зарегистрируйтесь прямо сейчас.
Обсуждение индикаторов.
Старый 19.11.2016, 11:25
#1
 
Регистрация: 18.11.2016
Сообщений: 1
Благодарностей: 0
Сумма размера тел 2х свечей от 10п.
Тень последней свечи не более 35% от размера ее тела
Одна из этих свечей не менее 40% от общего размера (сумм тел) этих 2х свечей
Тело одной из этих 2 свечей в пунктах больше, чем тело одной из последних 21 свечи
Закрытие последней свечи больше тела предыдущей свечи.

На этих свечах нужны пометки, что-то типа символов, точка например и чтоб это помечалось в реал-тайме до закрытия текущей свечи(последней свечи).

З.Ы. Хотел прикрепить картинку, для более подробного понимания, но тут надо 5 сообщений написать, если что, могу выслать в ЛС
pixes вне форума
Старый 23.11.2016, 11:28
#2
Мастер
 
Имя: Владислав
Пол: Мужской
Возраст: 48
Инвестирую в: Свой бизнес
Регистрация: 09.04.2011
Сообщений: 2,330
Благодарностей: 1,862

награды Волшебный горшочек 
Цитата:
Сообщение от pixes Посмотреть сообщение
Сумма размера тел 2х свечей от 10п.
Соседних свечей имеется ввиду? Т. е. Tело[i+1]+Tело[i] >= 10 пунктов ?
Цитата:
Сообщение от pixes Посмотреть сообщение
Тень последней свечи не более 35% от размера ее тела
Т.е. Тень[i] <= 0.35*Тело[i] ?
Цитата:
Сообщение от pixes Посмотреть сообщение
Одна из этих свечей не менее 40% от общего размера (сумм тел) этих 2х свечей
"Одна из этих свечей" имеется ввиду размер свечи (high-low) или размер тела свечи (close-open) ? Если расчет по телу, то так?
Тело[i]>=0.4*(Тело[i+1]+Тело[i]) || Тело[i+1]>=0.4*(Тело[i+1]+Тело[i])
Цитата:
Сообщение от pixes Посмотреть сообщение
Тело одной из этих 2 свечей в пунктах больше, чем тело одной из последних 21 свечи
Т.е. Тело[i]>ВыборкаМакс(Тело[i+22],...., Тело[i+2]) || Тело[i+1]>ВыборкаМакс(Тело[i+22],...., Тело[i+2])
Цитата:
Сообщение от pixes Посмотреть сообщение
Закрытие последней свечи больше тела предыдущей свечи.
Это как размер тела с ценой закрытия сравнивать? Надо бы как-то корректнее выражаться, для правильного понимания, так сказать. Наверное, имелось ввиду, что цена закрытия последней свечи расположена выше тела предыдущей свечи (тело предыдущей свечи не поглощает тело последней).
Наверное так: Close[i]>Close[i+1] && Close[i]>Open[i+1]

Цитата:
Сообщение от pixes Посмотреть сообщение
чтоб это помечалось в реал-тайме до закрытия текущей свечи(последней свечи)
Т.е. в данном случае индекс i шагает от 0 (0 - индекс текущей свечи на ценовом графике).
Цитата:
Сообщение от pixes Посмотреть сообщение
но тут надо 5 сообщений написать
проблема написать 5 сообщений, если нужен индикатор или помощь по его написанию?
Цитата:
Сообщение от pixes Посмотреть сообщение
Ищу советника или индикатор по импульсу 2х свечей
Слишком многое неясно с позиций написания эксперта (советника). Например, условия открытия позиций, условия выхода из позиций, управление деньгами счета, управление рисками и т.п.
Владислав Сергеев вне форума
Старый 23.11.2016, 20:19
#3
Мастер
 
Имя: Владислав
Пол: Мужской
Возраст: 48
Инвестирую в: Свой бизнес
Регистрация: 09.04.2011
Сообщений: 2,330
Благодарностей: 1,862

награды Волшебный горшочек 
Если условия такие, как я описал, то вот этот, написанный мной "на коленках", код реализует то самое:
PHP код:
Код:
 
Код:
//+------------------------------------------------------------------+
//|**************************************************two_candles.mq4*|
//|*****************************************************Vlad*Sergeev*|
//|*****************************************https://moneyinnetwork.ru*|
//+------------------------------------------------------------------+
#property*copyright*"Vlad*Sergeev"
#property*link******"https://moneyinnetwork.ru"
#property*version***"1.00"
#property*strict
#property*indicator_chart_window

input*int******TextSize*=*8;*//размер*шрифта*
input*color****TextColor*=*clrRed;*//цвет*текста*
input*int******TextAngle*=*0;*//угол*поворота*текста*
input*int******MaxBar*=*200;**//количество*последних*баров,*для*которых*рассчитывается*индикатор*
input*int******Body_Size*=*100;*//минимальная*сумма*тел*двух*соседних*свечей*(пунктов)
input*double***Percent1*=*35;*//тень*последней*свечи*в*процентах*от*размера*тела
input*double***Percent2*=*40;**//
input*int******Depth*=*21;*//глубина*выборки*

//структура*будет*описывать*свечу
struct*candle*{
*****//параметры*свечи
*****double*open,*close,*high,*low,*body;*//цены
*****bool*bullish,*bear,*doji,*big;*//вид*свечи:*бычья,*медвежья,*доджи*(без*тела),*большая*белая/черная
*****datetime*t;*//время*свечи
*****double*up_shadow,*down_shadow,*shadow;*//верхняя*и*нижняя*тени
*****//функция*инициализирует*параметры*свечи,*принимая*в*качестве*аргумента*индекс*значения*из*таймсерии*
*****void*load*(int*i)*{*
********bullish=false;*bear=false;*doji*=*false;*big*=*false;
********open**=*NormalizeDouble(iOpen(Symbol(),Period(),i),*Digits);**//цена*открытия
********close*=*NormalizeDouble(iClose(Symbol(),Period(),i),*Digits);*//цена*закрытия
********high**=*NormalizeDouble(iHigh(Symbol(),Period(),i),*Digits);**//максимальная*цена
********low***=*NormalizeDouble(iLow(Symbol(),Period(),i),*Digits);***//минимальная*цена*
********t*****=*iTime(Symbol(),Period(),i);*//время*закрытия
********body**=*MathAbs(close-open);*//размер*тела
********//проверка*на*"бычье*тело"
********if*(*close*>*open*)**{
************bullish*=*true;*********//бычье*тело
************up_shadow*=*high-close;*//верхняя*тень
************down_shadow*=*open-low;*//нижняя*тень
********}
********//проверка*на*"медвежье*тело"
********if*(*close*<*open*)**{
************bear*=*true;*************//медвежье*тело
************up_shadow*=*high-open;***//верхняя*тень
************down_shadow*=*close-low;*//нижняя*тень
********}
********//проверка*на*доджи*-*свеча*без*тела
********if*(*close*==*open*)**{
************doji*=*true;************//счеча*без*тела*-*доджи
************up_shadow*=*high-close;*//верхняя*тень
************down_shadow*=*open-low;*//нижняя*тень
********}
********//проверка*на*большую*свечу*(размер*тела*минимум*в*2*раза*больше*размера*теней)
********if*(*body>=2*(up_shadow+down_shadow)*)*big*=*true;*
********shadow*=*up_shadow+down_shadow;
*****}***
};

int*OnInit()*
{*
***return(INIT_SUCCEEDED);*
}*

void*OnDeinit(const*int*reason)*
{*
***for*(*int*i*=*0;*i*<*MaxBar;*i++*)***{*
******if*(*ObjectFind*("candle1"+*IntegerToString(i))*>=0*)***{*
*************ObjectDelete("candle1"+*IntegerToString(i));*
*************ObjectDelete("candle2"+*IntegerToString(i));*
******}
***}
}

int*OnCalculate(const*int*rates_total,
****************const*int*prev_calculated,
****************const*datetime*&time[],
****************const*double*&open[],
****************const*double*&high[],
****************const*double*&low[],
****************const*double*&close[],
****************const*long*&tick_volume[],
****************const*long*&volume[],
****************const*int*&spread[])
{
***candle*c1,*c2;
***for*(*int*i*=*0;*i*<*MaxBar;*i++*)***
***{
*******if*(*ObjectFind*("candle1"+*IntegerToString(i))*>=0*)***
*******{*
************ObjectDelete("candle1"+*IntegerToString(i));*
************ObjectDelete("candle2"+*IntegerToString(i));*
*******}*
*******c1.load(i);
*******c2.load(i+1);
*******if*(*c1.body+c2.body*>*Body_Size*Point*&&
************c1.shadow*<=*Percent1*c1.body/100**&&
************(*c1.body>=Percent2*(c1.body+c2.body)/100*||*c2.body>=Percent2*(c1.body+c2.body)/100*)*&&
************(*Search_Big_Body(c1.body,*i+2,*Depth)*||*Search_Big_Body(c2.body,*i+2,*Depth)*)*&&
************(*(*c1.close>c2.close*&&*c1.close>c2.open*)*||*(*c1.close<c2.close*&&*c1.close<c2.open*)*)
**********)***
*******{
***********ObjectCreate*("candle1"+*IntegerToString(i),**
*************************OBJ_TEXT,**
*************************0,**
*************************time[i],**
*************************high[i]+StepPer()*Point);*
***********ObjectCreate*("candle2"+*IntegerToString(i),**
*************************OBJ_TEXT,**
*************************0,**
*************************time[i+1],**
*************************high[i+1]+StepPer()*Point);
***********ObjectSet*("candle1"+IntegerToString(i),**
**********************OBJPROP_ANGLE,**
**********************TextAngle);*
***********ObjectSet*("candle2"+IntegerToString(i),**
**********************OBJPROP_ANGLE,**
**********************TextAngle*);********
***********ObjectSetText("candle1"+IntegerToString(i),**
*************************"2",**
*************************TextSize,**
*************************NULL,**
*************************TextColor);**
***********ObjectSetText*("candle2"+IntegerToString(i),**
**************************"1",**
**************************TextSize,**
**************************NULL,**
**************************TextColor);
******}**
***}*
***return(rates_total);
}

bool*Search_Big_Body*(double*Body,*int*Start_Index,*int*Length)
{
***candle*c;
***int*i*=*0;
***while*(*i*<*Length*)*
***{
*******c.load(i+Start_Index);
*******if*(*Body<c.body*)*
*******{
**********return*false;
*******}
*******i++;
***}
***return*true;
}

int*StepPer*()*
{*
*****int*i*=*0;*
*****switch*(Period())*
*****{*
**********case*PERIOD_M1:*
**********i*=*5;*
**********break;*
**********case*PERIOD_M5:*
**********i*=*15;*
**********break;*
**********case*PERIOD_M15:*
**********i*=*25;*
**********break;*
**********case*PERIOD_M30:*
**********i*=*40;*
**********break;*
**********case*PERIOD_H1:*
**********i*=*60;*
**********break;*
**********case*PERIOD_H4:*
**********i*=*90;*
**********break;*
**********case*PERIOD_D1:*
**********i*=*220;*
**********break;*
**********case*PERIOD_W1:*
**********i*=*500;*
**********break;*
**********case*PERIOD_MN1:*
**********i*=*2000;*
**********break;*
**********default:**
**********break;*
*****}*
*****return*(i);*
}*
Выглядит в работе вот так:

Во вложении можно скачать файл с индикатором. Назвал я его "Две свечи"
Владислав Сергеев вне форума
Старый 24.11.2016, 22:12
#4
Мастер
 
Имя: Владислав
Пол: Мужской
Возраст: 48
Инвестирую в: Свой бизнес
Регистрация: 09.04.2011
Сообщений: 2,330
Благодарностей: 1,862

награды Волшебный горшочек 
В общем, советника я написал, добавив фильтр входа (ADX). Тейкпрофит фиксированный. Стоп по хай-лоу свечей плюс фильтр. На 30-минутках (EURUSD) оптимизировал на двухлетней истории по двум параметрам (Body_Size и тейкпрофиту), и он не слил на тесте за 17 лет (2000 по 2016) на тех же параметрах (естественно, спред учитывался). Но...
Прибыльность 1.12, что обычное явление для "свечных" советников, да еще на таких больших временных исторических интервалах. "Выхлоп" весьма скучный. В банке за 17 лет больше бы вышло
"Копать" здесь надо в сторону тейкпрофита. Америку не открою, если напишу, что он должен быть динамическим. Но это актуальная задача большинства (если не всех) ТС.
Также понятно, что параметр индикатора Body_Size привязан к таймфрейму (старше таймфрейм - больше Body_Size). Учитывая, что рынок изменчив, этот параметр в идеале также должен быть динамическим и определяться из истории по некому несложному алгоритму. Но это совсем другая история.
Владислав Сергеев вне форума
Старый 23.01.2017, 10:59
#5
Заблокированный
 
Регистрация: 21.07.2016
Сообщений: 761
Благодарностей: 131
Re: Ищу советника или индикатор по импульсу 2х свечей

Цитата:
Сообщение от pixes Посмотреть сообщение
Сумма размера тел 2х свечей от 10п.
Тень последней свечи не более 35% от размера ее тела
Одна из этих свечей не менее 40% от общего размера (сумм тел) этих 2х свечей
Тело одной из этих 2 свечей в пунктах больше, чем тело одной из последних 21 свечи
Закрытие последней свечи больше тела предыдущей свечи.

На этих свечах нужны пометки, что-то типа символов, точка например и чтоб это помечалось в реал-тайме до закрытия текущей свечи(последней свечи).

З.Ы. Хотел прикрепить картинку, для более подробного понимания, но тут надо 5 сообщений написать, если что, могу выслать в ЛС
Приветствую. Если все еще интересен советник то могу предложить услуги по его написанию.
Forex Mafia Group вне форума
Старый 31.01.2017, 21:56
#6
Мастер
 
Имя: Владислав
Пол: Мужской
Возраст: 48
Инвестирую в: Свой бизнес
Регистрация: 09.04.2011
Сообщений: 2,330
Благодарностей: 1,862

награды Волшебный горшочек 
Re: Ищу советника или индикатор по импульсу 2х свечей

Цитата:
Сообщение от Forex Mafia Grou... Посмотреть сообщение
Приветствую. Если все еще интересен советник то могу предложить услуги по его написанию.
Ничего его не интересует. Зашел. Отметился темой и ушел восвояси. Даже не вернулся тему обсуждать.
Владислав Сергеев вне форума
Старый 20.10.2017, 15:29
#7
 
Пол: Мужской
Инвестирую в: Интернет-биржи
Регистрация: 01.05.2015
Сообщений: 3
Благодарностей: 0
Привет! для центового счета есть какие совы ? если не жалко дай погонять ?))
sapog7878 вне форума
Войдите, чтобы оставить комментарий.
Опции темы

Быстрый переход