Присоединяйтесь к нашему инвестиционному форуму, на котором уже 395,069 пользователей. Чтобы получить доступ ко многим закрытым разделам и начать общение -  .
Вход через:  
Обсуждение индикаторов.
При поддержке
AdamantFinance - качественно новый международный брокер
Важная информация
Стартовала бессрочная акция "Оплата за сообщения".
Уважаемый гость, стартовал новый этап конкурса "Путь к успеху" ($500) подробнее...
Открылся магазин MMGP
Ответить
 
Первый пост Опции темы
Сообщения прочитаны и/или просмотрены Сегодня, 14:23
Старый 19.11.2016, 11:25
#1
 
Пол: Мужской
Инвестирую в: Форекс
Регистрация: 19.11.2016
Сообщений: 1
Благодарностей: 0
КП: 0.000
Ищу советника или индикатор по импульсу 2х свечей

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

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

З.Ы. Хотел прикрепить картинку, для более подробного понимания, но тут надо 5 сообщений написать, если что, могу выслать в ЛС
Баннер: {{ slide.title }}
pixes вне форума  
Старый 23.11.2016, 11:28
#2
Мастер
 
Имя: Влад
Пол: Мужской
Возраст: 40
Инвестирую в: Свой бизнес
Регистрация: 10.04.2011
Сообщений: 2,116
Благодарностей: 1,804
КП: 0.584

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

Цитата:
Сообщение от 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х свечей
Слишком многое неясно с позиций написания эксперта (советника). Например, условия открытия позиций, условия выхода из позиций, управление деньгами счета, управление рисками и т.п.
__________________

На третий день Бог создал брокера, а Сатана подумал и создал еще одного.
Учись, ибо не умеющий написать индикатор и советника не напишет.
А пока вы учитесь, я вкладываю в водку! Ну, где еще можно получить 40%?

Последний раз редактировалось Владислав Сергеев; 23.11.2016 в 12:25.
Владислав Сергеев вне форума  
Старый 23.11.2016, 20:19
#3
Мастер
 
Имя: Влад
Пол: Мужской
Возраст: 40
Инвестирую в: Свой бизнес
Регистрация: 10.04.2011
Сообщений: 2,116
Благодарностей: 1,804
КП: 0.584

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

Если условия такие, как я описал, то вот этот, написанный мной "на коленках", код реализует то самое:
PHP код:
//+------------------------------------------------------------------+
//|                                                  two_candles.mq4 |
//|                                                     Vlad Sergeev |
//|                                         http://moneyinnetwork.ru |
//+------------------------------------------------------------------+
#property copyright "Vlad Sergeev"
#property link      "http://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 openclosehighlowbody//цены
     
bool bullishbeardojibig//вид свечи: бычья, медвежья, доджи (без тела), большая белая/черная
     
datetime t//время свечи
     
double up_shadowdown_shadowshadow//верхняя и нижняя тени
     //функция инициализирует параметры свечи, принимая в качестве аргумента индекс значения из таймсерии 
     
void load (int i) { 
        
bullish=falsebear=falsedoji falsebig 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 0MaxBari++ )   { 
      if ( 
ObjectFind ("candle1"IntegerToString(i)) >=)   { 
             
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 c1c2;
   for ( 
int i 0MaxBari++ )   
   {
       if ( 
ObjectFind ("candle1"IntegerToString(i)) >=)   
       { 
            
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.bodyi+2Depth) || Search_Big_Body(c2.bodyi+2Depth) ) &&
            ( ( 
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 Bodyint Start_Indexint Length)
{
   
candle c;
   
int i 0;
   while ( 
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
          
5
          break; 
          case 
PERIOD_M5
          
15
          break; 
          case 
PERIOD_M15
          
25
          break; 
          case 
PERIOD_M30
          
40
          break; 
          case 
PERIOD_H1
          
60
          break; 
          case 
PERIOD_H4
          
90
          break; 
          case 
PERIOD_D1
          
220
          break; 
          case 
PERIOD_W1
          
500
          break; 
          case 
PERIOD_MN1
          
2000
          break; 
          default:  
          break; 
     } 
     return (
i); 

Выглядит в работе вот так:

Во вложении можно скачать файл с индикатором. Назвал я его "Две свечи"
Вложения
Тип файла: zip two_candles.zip (2.1 Кб, 6 просмотров)
__________________

На третий день Бог создал брокера, а Сатана подумал и создал еще одного.
Учись, ибо не умеющий написать индикатор и советника не напишет.
А пока вы учитесь, я вкладываю в водку! Ну, где еще можно получить 40%?

Последний раз редактировалось Владислав Сергеев; 23.11.2016 в 21:32.
Владислав Сергеев вне форума  
Старый 24.11.2016, 22:12
#4
Мастер
 
Имя: Влад
Пол: Мужской
Возраст: 40
Инвестирую в: Свой бизнес
Регистрация: 10.04.2011
Сообщений: 2,116
Благодарностей: 1,804
КП: 0.584

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

В общем, советника я написал, добавив фильтр входа (ADX). Тейкпрофит фиксированный. Стоп по хай-лоу свечей плюс фильтр. На 30-минутках (EURUSD) оптимизировал на двухлетней истории по двум параметрам (Body_Size и тейкпрофиту), и он не слил на тесте за 17 лет (2000 по 2016) на тех же параметрах (естественно, спред учитывался). Но...
Прибыльность 1.12, что обычное явление для "свечных" советников, да еще на таких больших временных исторических интервалах. "Выхлоп" весьма скучный. В банке за 17 лет больше бы вышло
"Копать" здесь надо в сторону тейкпрофита. Америку не открою, если напишу, что он должен быть динамическим. Но это актуальная задача большинства (если не всех) ТС.
Также понятно, что параметр индикатора Body_Size привязан к таймфрейму (старше таймфрейм - больше Body_Size). Учитывая, что рынок изменчив, этот параметр в идеале также должен быть динамическим и определяться из истории по некому несложному алгоритму. Но это совсем другая история.
__________________

На третий день Бог создал брокера, а Сатана подумал и создал еще одного.
Учись, ибо не умеющий написать индикатор и советника не напишет.
А пока вы учитесь, я вкладываю в водку! Ну, где еще можно получить 40%?

Последний раз редактировалось Владислав Сергеев; 24.11.2016 в 22:22.
Владислав Сергеев вне форума  
Ответить
Войдите, чтобы оставить комментарий.
Сообщения прочитаны и/или просмотрены Сегодня, 14:23
Опции темы

Быстрый переход
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Видео - Обзор индикатор "Promo_Custom". Достойный стрелочный индикатор. Alexsey91 Популярные индикаторы для торговли. Видеообзоры 0 25.09.2016 18:27
Прибыльный стрелочный индикатор. Видео - Обзор индикатор "Signal_Reload_Pro" Alexsey91 Популярные индикаторы для торговли. Видеообзоры 0 22.09.2016 21:25
Fortune: Bitcoin готов к большому импульсу в 2015 году pilot10 Новости криптовалют 0 24.01.2015 13:34
При свете японских свечей ХЫШНИК Видео-уроки 36 07.08.2010 23:07
Стратегия на основе свечей Heikin-Ashi olegnov Торговые стратегии 1 30.06.2009 20:52


Случайные темы
Аватар VIPMonitor
Profit start - profit-start.com
От VIPMonitor в разделе «Архив: Список проблемных/неактивных/закрытых программ»
Аватар clipman77
Apple iOS 10 обогнала по популярности iOS 9
От clipman77 в разделе «Новости технологий и интернета»
Аватар venetonn
ПАММ-счет Litva: 10459 (ForexTrend)
От venetonn в разделе «Архив: Инвестирование в ПАММ-счета»
Аватар Monitorer
sport-bettings.ru - Sport Bettings
От Monitorer в разделе «Архив: Список проблемных/неактивных/закрытых программ»
Аватар Satyr
WmRuletka - WmRuletka.info
От Satyr в разделе «Список проблемных/неактивных/закрытых программ»
Аватар Alex356
Топ-8 самых дорогих продуктов в мире
От Alex356 в разделе «Политика и экономика»
.     
Пользователей
395,069
Тем
442,364
Сообщений
10,727,299