помогите доработать советника!

 

здравствуйте, помогите пожалуйста доработать советника. основан на параболике. открывает позицию при перевороте параболика, стоп лосс выставляет по тому же параболику (контр сигнал). тп нету. в нем есть глюк - пропускает bay сигналы, с sell все в порядке открывает, как часы!

хотелось, что бы этот глюк устранили.

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

спасибо.

Файлы:
 
chut писал (а) >>

здравствуйте, помогите пожалуйста доработать советника. основан на параболике. открывает позицию при перевороте параболика, стоп лосс выставляет по тому же параболику (контр сигнал). тп нету. в нем есть глюк - пропускает bay сигналы, с sell все в порядке открывает, как часы!

хотелось, что бы этот глюк устранили.

chut,Вы совершили поступок,который Вам ни один программист не простит...

Вы взяли из сети чужой советник (это не преступление) и уничтожили все ссылки на автора программы

...Вот это уже недопустимо...И сделали это сознательно,потому что стёрли не только шапку, а и текст в теле советника...

Не делайте такого больше НИКОГДА...Не надо...

Восстановим справедливость...Вот оригинал советника и вот что было в шапке...

Автор советника - FORTRADER.RU- так в шапке по крайней мере прописано...

Файлы:
 
chut писал (а) >>

здравствуйте, ... ...мне надо что бы он закрывал предыдущую позицию и тут же открывал в противоположном направлении в тот же момент когда поступил сигнал.

спасибо

//---- input parameters---------

extern string   _______= "Параметры Блока закрытия позиций"; 
extern bool     AutoClose = true;//Выключатель автозакрытия
extern double    Maximum_Parabollic   =0.29;
extern double     STEP_Parabollic =0.028;
static int prevtime = 0;



int start()
  {

if (Time[0] == prevtime) return(0); //ждем нового бара
   prevtime = Time[0]; //если появился новый бар

//=================== блок ЗАКРЫТИЯ ПОЗИЦИЙ =====================
if (AutoClose) {  //если выключатль включен
//----------------------------------------------------------------------
// for (int v=0; v<OrdersTotal(); v++)               { 
  for ( int v = OrdersTotal() - 1; v >= 0; v -- )             {       
      if (OrderSelect(v, SELECT_BY_POS, MODE_TRADES))            {           
        if (OrderSymbol()==Symbol())                                { 
//-----------------------------------------------------------------------        
     if ((OrderType() == OP_BUY) && (OrderMagicNumber()==Magic)) { 
            if  (//задаем условия закрытия длинных  позиций  
             (iSAR(NULL,0,STEP_Parabollic, Maximum_Parabollic  ,1)>Close[1]) 
       && (iSAR(NULL,0,STEP_Parabollic, Maximum_Parabollic  ,2)<Close[2])
                )  
            {//закрываем
        OrderClose(OrderTicket(),OrderLots(),Bid,3,Green);//закрываем позицию
            prevtime = Time[1];      // return(0); // выходим         
              }  }  
//-------------------------------------------------------------------------
         if ((OrderType() == OP_SELL)  && (OrderMagicNumber()==Magic)) {
         if        (//задаем условия закрытия коротких сделок
           (iSAR(NULL,0,STEP_Parabollic,Maximum_Parabollic ,1)<Close[1]) 
       && (iSAR(NULL,0,STEP_Parabollic,Maximum_Parabollic ,2)>Close[2])
                   )
           {//закрываем
        OrderClose(OrderTicket(),OrderLots(),Ask,3,Green);//закрываем позицию
             prevtime = Time[1];     // return(0); // выходим
              }  }  
//-------------------------------------------------------                       
   }  // Symbol()  
  } // select
 } //total
}//if (AutoClose)
//============ конец блока закрытия ========================
 

Доброе утро...

rid,я тоже интересуюсь параболиком (поэтому-то и знаю о советнике,выложенном chut...)...

Из параболика можно всё же попробовать что-то выжать,подобрав параметры и время применения...

Ваш вариант советника не компилируется,к сожалению...

Вот что выдаёт МТ -

2;75;C:\Program Files\FIBO Group\experts\ParabolicSarSystemRid.mq4;25:58;'Magic' - variable not defined
2;75;C:\Program Files\FIBO Group\experts\ParabolicSarSystemRid.mq4;35:64;'Magic' - variable not defined

Поправите ...??? Тогда можно будет его и погонять...

 
nemo-x писал (а) >>

Ваш вариант советника не компилируется,к сожалению...

Вот что выдаёт МТ -

2;75;C:\Program Files\FIBO Group\experts\ParabolicSarSystemRid.mq4;25:58;'Magic' - variable not defined
2;75;C:\Program Files\FIBO Group\experts\ParabolicSarSystemRid.mq4;35:64;'Magic' - variable not defined

Это не советник. Это блок закрытия позиций для вставки в ваш эксперт. Он только закрывает уже имеющиеся открытые позиции.

Вам нужно задать магик в вашем коде или убрать магик из моего.

ИЗ строчек

if ((OrderType() == OP_BUY) && (OrderMagicNumber()==Magic)) { 
... ...


if ((OrderType() == OP_SELL)  && (OrderMagicNumber()==Magic)) {

вам нужно удалить вот этот кусочек (внимательно) :

&& (OrderMagicNumber()==Magic)
 
rid писал (а) >>

Это не советник. Это блок закрытия позиций для вставки в ваш эксперт. Он только закрывает уже имеющиеся открытые позиции.

Вам нужно задать магик в вашем коде или убрать магик из моего.

ИЗ строчек

вам нужно удалить вот этот кусочек (внимательно) :

Спасибо,принял и сделал...Правда при компиляции пришлось удалить (методом тыка) и вот эти строки - они уже есть в советнике

int start()
{

Но в итоге всё заработало,как ни парадоксально...Как часы,великолепный код...

Но потом до меня дошло, что chut неверно сформулировал вопрос...

Зачем нужно, то о чём он просил - закрытия,если советник и так тянет стоп на последний текущий сигнал параболика (вот тебе закрытие по сигналу) и потом открывает новую позу ...

Другое дело,что на втором баре и что где-то в чём то может быть некорректность работы...

Rid,может быть Вы припишите к закрывающей части и торгующую.и будет тогда полноценный результат...???

Условия для торгующей части -

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

Выше параболика + спрэд+N = если нет открытой позы,то бай,если есть,то переворот со стопом с села на бай

Ниже параболика -N =если нет открытой позы,то селл,если есть,то переворот со стопом с бая на селл

В переменных пишем -

Лот по умолчанию 0.1

Значение параболика = по умолчанию штатные МТ

Спрэд =по умолчанию 0

N =(любое число,прибавляеться к показаниям параболика при бае и отнимается при селе,нужно будет для борьбы с ложными пробоями) по умолчанию=0

Профит по умолчанию =0

Стоп по умолчанию=0

Вот...Ну и конечно чтобы был мульти...На разных парах,тоесть работал одновременно...

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

Конечно нужно будет до упора подбирать оптимальный режим работы для разных пар и разных ТФ,но результат будет хороший...Точно...

Всё от rida сейчас только зависит...

Сотворит чудо или нет...

 
nemo-x писал (а) >>

Конечно нужно будет до упора подбирать оптимальный режим работы для разных пар и разных ТФ,но результат будет хороший...Точно...

Всё от rida сейчас только зависит...

Сотворит чудо или нет...

Вы слишком приувеличиваете мои способности. Я не профессинальный программист. А всего лишь скромный "любитель".

Выкладываю выше мою давнюю заготовку exp.PAR, - советник по параболлику. С которым я люблю иногда повозиться. Задавая доп. условия входа- выхода.

Эксперт работает по ценам открытия.

Длинные и короткие сделки выполнены независимыми. По сути здесь два эксперта в одном. Один работает только в бай.

Другой, - только в селл.

Их можно отключать опциями

Long = true/false; Short = true/false;

Оптимизировать обе версии обязательно следует по отдельности, - одну при отключенной другой.

Для одновременной работы на разных парах (графиках) нужно на каждом графике задавать разные магики.

MagicShort = 1456;
MagicLong = 1408;

Предусмотрен раздельный "пороговый" трейлинг стоп. Тож отключаемый, при необходимости.

UseTrailing = true/false ;// ВКЛ. трейлинг стопа

Блок закрытия позиций также предусматривает раздельные параметры для длинных и коротких сделок.

Код снабдил комментариями (по возможности)

//----------------------------------------------------------------------------------------------------------

Как то странно прикрепися эксперт. Почему-то сверху, перед моим сообщ. !

//--------------------------------------------------------------------------------------------------------------

Символ GBPUSD (Great Britain Pound vs US Dollar)
Период 1 Час (H1) 2007.11.01 00:00 - 2008.09.12 22:59 (2007.11.01 - 2008.09.14)
Модель По ценам открытия (только для советников с явным контролем открытия баров)
Параметры _=" Общие Параметры "; Lots=0.1; MagicShort=1456; MagicLong=1408; UseTrailing=true; _____="Параметры Длинных позиций"; Long=true; Maximum_Parabollic=0.1; STEP_Parabollic=0.017; TP=260; SL=105; lMinProfit=95; lTrailingStop=75; lTrailingStep=10; ____="Параметры Коротких позиций"; Short=true; Maximum_Parabollic_=0.1; STEP_Parabollic_=0.013; TP_=200; SL_=200; sMinProfit=85; sTrailingStop=45; sTrailingStep=20; _______="Параметры Блока закрытия позиций"; AutoClose=true; Maximum_Parabollic_Long=0.29; STEP_Parabollic_Long=0.028; Maximum_Parabollic_Short=0.1; STEP_Parabollic_Short=0.01;
Баров в истории 6324 Смоделировано тиков 11647 Качество моделирования n/a
Ошибки рассогласования графиков 0
Начальный депозит 10000.00
Чистая прибыль 2543.75 Общая прибыль 10682.24 Общий убыток -8138.49
Прибыльность 1.31 Матожидание выигрыша 12.41
Абсолютная просадка 209.05 Максимальная просадка 559.81 (4.44%) Относительная просадка 4.57% (498.65

Файлы:
exp_par_1.mq4  15 kb
 

несколько раз прикреплял и удалял файл. Но всё время он крепится перед сообщ. !

Это теперь всегда так?

 
rid писал (а) >>

Вы слишком приувеличиваете мои способности. Я не профессинальный программист. А всего лишь скромный "любитель".

Да...Знаете,тем кто не может,допустим,рисовать,художники всегда кажутся гениями...

Ну что,игрушка знатная...

Гонять буду только в среду,сейчас уже не успеваю...

Вопросы -

Работает ли на разных парах? (чтобы время не терять,проверяя...)

Работает ли на разных ТФ одной пары ?

Если поставить параметры профита и стопа = 0,будет сам переворачиваться по сигналам параболика ?А вот - нет,не переворачивается,будем в нарастающий профит играть...

Параметры параболика везде разные - это результат экспериментов ?Можно поставить одинаковые ?

И всё же,если найдёте на этой неделе минуту сделать по моему описанию советника - то будет здорово...

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

И переменная N тоже большое дело сделает против флэта...Я долго за параболиком смотрю...

Ну,ставлю Ваш советник,резюме - после среды...

...Параболик будет рулить...Точно...Только дорогу найти поровнее...

 
nemo-x писал (а) >>

-

Работает ли на разных парах? (чтобы время не терять,проверяя...)

Работает ли на разных ТФ одной пары ?

Если поставить параметры профита и стопа = 0, будет сам переворачиваться по сигналам параболика ?

Параметры параболика везде разные - это результат экспериментов ?Можно поставить одинаковые ?

Да ! Всё работает. Можно!

Стопы же поставте равными не 0, а побольше, где то = 1000

И отключите трал! Тогда позиции будут строго закрываться только по сигналам параболиика.

Такое Закрытие будет отображаться зелеными треугольниками. Как на графике в онлайне, так и в тестере на графике визуального режима.

И потом. Что значит "ЧТОБЫ НЕ ТЕРЯЯ ВРЕМЯ" ?

В тестере всё это проверяется за секунды...

Забыл добавить, что в эксперте закрытие идет по тф=н4.

В выложенной же ниже версии закрытие идет по текущему тф.

Файлы:
exp_par_mod.mq4  15 kb
 
2 nemo-x http://forum.fortrader.ru/showthread.php?t=2260
Причина обращения: