[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 6«123456»
Форум Трейдеров » Разное » Архив советников » 11 торговых стратегий для UTS (Прибыльные стратегии обсуждаются ЗДЕСЬ!!!)
11 торговых стратегий для UTS
Дата: Суббота, 21.08.2010, 15:06 | Сообщение # 1 Написал: expforex
Трейдер - Генералиссимус
Группа: Администраторы
Сообщений: 27
Награды: 0
Статус: Offline
11Торговых стратегий для UTS по 11стандартным индикаторам

Предисловие:

Много сил и времени ушло на создание универсальнйо системы торговли, включающей все известные методы торговли в 1 удобный пакет. Много дороботок произошло с 1 дня выпуска системы. Но теперь Дорогие друзья пришло время программировать те самые прибыльные стратегии, о которых мы так долго здесь говорим.

Прибыльную стратегию нельзя / неправильно строить на неизвестных индикаторах.

В этой ветке я попробую воссаздать те "11 торговых стратегий" которые были известны еще со времен образования Forex рынка.

Все эти стратегии будут заключены в файл стратегий для последующей обработки. Все стратегии будут протестированы на специальном тестере стратегий для ЮТС.


Мы лучшие
 
Дата: Вторник, 14.09.2010, 15:54 | Сообщение # 11 Написал: expforex
Трейдер - Генералиссимус
Группа: Администраторы
Сообщений: 27
Награды: 0
Статус: Offline
блин делал тактики, 11 индикаторов и заменил файл стратегий.... Извиняюсь.

Мы лучшие
 
Дата: Вторник, 14.09.2010, 19:54 | Сообщение # 12 Написал: SIP
Группа: Удаленные





Вот за сегодня на реале по стратегии с индикатором ARON, немного я функцию переделал

if (NumberStrategy==25)// M30

{
//+------------------------------------------------------------------+
//| Инициализируем значения внешнего индикатора |
//+------------------------------------------------------------------+
//-----------------------------------------
double Support_1_25=iCustom(Symbol(),PERIOD_M30,"Profit20",1,1); // поддерж
double Resistant_1_25=iCustom(Symbol(),PERIOD_M30,"Profit20",2,1); //сопротивл
double Support_2_25=iCustom(Symbol(),PERIOD_M30,"Profit20",3,1);
double Resistant_2_25=iCustom(Symbol(),PERIOD_M30,"Profit20",4,1);
double Support_3_25=iCustom(Symbol(),PERIOD_M30,"Profit20",5,1);
double Resistant_3_25=iCustom(Symbol(),PERIOD_M30,"Profit20",6,1);
//------------------------------
int Aroon_Period=10;
int ShiftAH;
for (ShiftAH=2;ShiftAH<=3;ShiftAH++)

double AroonHorn_UP0_25=iCustom(Symbol(),PERIOD_M5,"Aroon Horn",Aroon_Period,0,0);
double AroonHorn_UP1_25=iCustom(Symbol(),PERIOD_M5,"Aroon Horn",Aroon_Period,0,1);
double AroonHorn_UP2_25=iCustom(Symbol(),PERIOD_M5,"Aroon Horn",Aroon_Period,0,ShiftAH);

double AroonHorn_DN0_25=iCustom(Symbol(),PERIOD_M5,"Aroon Horn",Aroon_Period,1,0);
double AroonHorn_DN1_25=iCustom(Symbol(),PERIOD_M5,"Aroon Horn",Aroon_Period,1,1);
double AroonHorn_DN2_25=iCustom(Symbol(),PERIOD_M5,"Aroon Horn",Aroon_Period,1,ShiftAH);

//--------------M15------------
double AroonHorn_UP1_M15_25=iCustom(Symbol(),PERIOD_M15,"Aroon Horn",Aroon_Period,0,1);
double AroonHorn_UP2_M15_25=iCustom(Symbol(),PERIOD_M15,"Aroon Horn",Aroon_Period,0,ShiftAH);

double AroonHorn_DN1_M15_25=iCustom(Symbol(),PERIOD_M15,"Aroon Horn",Aroon_Period,1,1);
double AroonHorn_DN2_M15_25=iCustom(Symbol(),PERIOD_M15,"Aroon Horn",Aroon_Period,1,ShiftAH);

//-----------H1--------------------
double AroonHorn_UP1_M30_25=iCustom(Symbol(),PERIOD_M30,"Aroon Horn",Aroon_Period,0,0);
double AroonHorn_UP2_M30_25=iCustom(Symbol(),PERIOD_M30,"Aroon Horn",Aroon_Period,0,ShiftAH);

double AroonHorn_DN1_M30_25=iCustom(Symbol(),PERIOD_M30,"Aroon Horn",Aroon_Period,1,0);
double AroonHorn_DN2_M30_25=iCustom(Symbol(),PERIOD_M30,"Aroon Horn",Aroon_Period,1,ShiftAH);

//+------------------------------------------------------------------+
//| Указываем Сигналы: |
//+------------------------------------------------------------------+

//сопрот //поддерж
// if ((Bid>Support_1_25 ) || (Bid>Resistant_1_25)|| (Bid>Resistant_2_25 )||(Bid>Resistant_3_25) ) //UP
// было 50
if (AroonHorn_DN2_25>AroonHorn_DN1_25 && AroonHorn_DN1_M30_25>40 && AroonHorn_UP2_25<100 && AroonHorn_UP1_25==100 ) //Up
// if (AroonHorn_DN2_M15_25>AroonHorn_DN1_M15_25)
if (AroonHorn_DN2_M30_25>AroonHorn_DN1_M30_25)

return(1);

// if ((Bid<Resistant_1_25 ) || (Bid<Support_1_25 ) || (Bid<Support_2_25)|| (Bid<Support_3_25) ) //DN

if (AroonHorn_UP2_25>AroonHorn_UP1_25 && AroonHorn_UP1_M30_25>40 && AroonHorn_DN2_25<100 && AroonHorn_DN1_25==100 ) //DN
// if (AroonHorn_UP2_M15_25>AroonHorn_UP1_M15_25)
if (AroonHorn_UP2_M30_25>AroonHorn_UP1_M30_25)

return(2);

}


Есть только две проблемы одна со стратегией другая с установкой отложки качелей. В принципе если решить одну из двух то будет достаточно. Одна заключается в том, что если идет небольшое движение, то последняя сделка открывается часто на Хае цены М30 бара или рядом и естественно цена идет в обратку. Другая промлема в установке дистанции качелей. я использую как лок. Тоесть если цена пошла не в нашу сторону, то по отложке качелей обе сделки должны закрытся. Вот тут и начинается проблема. В определении дистанции для установки отложки. Владимир в соседней ветке поведал, я этого незнал раньше, что если пробивается цена предыдущего фрактала, то она идет дальше. Да действительно, я сегодня это увидел на т.ф М15. И вот если устанавливать отложку качелей на такую дистанцию, то ошибочная сделка обязательно закроется на обратном движении.
У кого какие есть мысли? и как бы это реализовать, т.к эта стратегия вполне хорошая.
Прикрепления: 2778601.jpg(103Kb)
 
Дата: Среда, 15.09.2010, 01:03 | Сообщение # 13 Написал: iviv
Группа: Удаленные





Quote (SIP)
и как бы это реализовать, т.к эта стратегия вполне хорошая

СИП , согласен . Во-первых твоя с ААроном неплохая. Попробуй на нее фрактал примерь.
А вообще с АО+CCI+SSRC и BB+Vol+SSRC тоже неплохие , особенно последняя ( я там немного подрулил ) - она открывает , как серпантин , ордера. Я ее даже с предложенной Володей , спутал - такие же гирлянды открытий. Но у всех обсуждаемых одна БОЛЬШУЩАЯ ПРОБЛЕМА. Они сливают из-за ГЛУБОКОЙ ПРОСАДКИ. У меня укоренилась ( может преувеличиваю ) , что только ЛОКОМ можно решить данную проблему. Так , как я описывал.
Но с фракталами - попробуй реализовать , посмотрим , мож чо толковое выйдет.


Сообщение отредактировал iviv - Среда, 15.09.2010, 01:10
 
Дата: Среда, 15.09.2010, 13:31 | Сообщение # 14 Написал: SIP
Группа: Удаленные





Quote (iviv)
Но с фракталами - попробуй реализовать , посмотрим , мож чо толковое выйдет.

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

Добавлено (15.09.2010, 13:31)
---------------------------------------------
Вот еще одна стратегия по барам, открытию, закрытию и хаю и лоу цены. Тестирую на EURUSD М15 и тактика качели.

if (NumberStrategy==26)// M30

{
//+------------------------------------------------------------------+
//| Инициализируем значения внешнего индикатора |
//+------------------------------------------------------------------+

double Close_bar1_26=iClose(Symbol(),PERIOD_M5,1);
double Close_bar2_26=iClose(Symbol(),PERIOD_M5,2);
double Close_bar3_26=iClose(Symbol(),PERIOD_M5,3);

double Low_bar1_M5_26=iLow(Symbol(),PERIOD_M5,1);
double Low_bar2_M5_26=iLow(Symbol(),PERIOD_M5,2);
double Low_bar3_M5_26=iLow(Symbol(),PERIOD_M5,3);

double High_bar1_M5_26=iHigh(Symbol(),PERIOD_M5,1);
double High_bar2_M5_26=iHigh(Symbol(),PERIOD_M5,2);
double High_bar3_M5_26=iHigh(Symbol(),PERIOD_M5,3);
//+------------------------------------------------------------------+
//| Указываем Сигналы: |
//+------------------------------------------------------------------+

if ( High_bar3_M5_26<High_bar2_M5_26 && High_bar2_M5_26< High_bar1_M5_26 )
if ( Close_bar1_26> High_bar3_M5_26 && Close_bar1_26>High_bar2_M5_26)
return(1);

if ( Low_bar3_M5_26>Low_bar2_M5_26 && Low_bar2_M5_26> Low_bar1_M5_26 )
if ( Close_bar1_26 < Low_bar3_M5_26 && Close_bar1_26<Low_bar2_M5_26)
return(2);

}
//------------------------------------------------------------------

Сообщение отредактировал SIP - Среда, 15.09.2010, 13:33
 
Дата: Среда, 15.09.2010, 17:12 | Сообщение # 15 Написал: expforex
Трейдер - Генералиссимус
Группа: Администраторы
Сообщений: 27
Награды: 0
Статус: Offline
Quote
Есть только две проблемы одна со стратегией другая с установкой отложки качелей. В принципе если решить одну из двух то будет достаточно. Одна заключается в том, что если идет небольшое движение, то последняя сделка открывается часто на Хае цены М30 бара или рядом и естественно цена идет в обратку. Другая промлема в установке дистанции качелей. я использую как лок. Тоесть если цена пошла не в нашу сторону, то по отложке качелей обе сделки должны закрытся. Вот тут и начинается проблема. В определении дистанции для установки отложки. Владимир в соседней ветке поведал, я этого незнал раньше, что если пробивается цена предыдущего фрактала, то она идет дальше. Да действительно, я сегодня это увидел на т.ф М15. И вот если устанавливать отложку качелей на такую дистанцию, то ошибочная сделка обязательно закроется на обратном движении.
У кого какие есть мысли? и как бы это реализовать, т.к эта стратегия вполне хорошая.

я попробую помочь в проблеме открытия сделок на хае,

Quote
Прикрутил фрактал, но похоже неправильно, никак не реагирует, сейчас эксперементирую, что бы фильтровать открытиями и закрытиями баров и хай и лоу. В принципе стратегию можно на этом даже строить, по открытиям и закрытиям баров. Вот только цену еще туда надо добавлять. Дальше идет сложное програмирование, похоже с массивами , я такое не потяну.

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


bool FractalOpen(string sy="",int TF=0,int type=0)

{
int numFR,i;
if(type==1)// пробитие верхнего фрактала
{
for(i=0; i!=100; i++)
{
if(iFractals(sy,TF,MODE_UPPER,i)!=NULL) numFR=i;
}

if(Ask>iFractals(Symbol(),0,MODE_UPPER,numFR))return(true);

}

if(type==2)// пробитие нижнего фрактала
{
for(i=0; i!=100; i++)
{
if(iFractals(sy,TF,MODE_LOWER,i)!=NULL) numFR=i;
}

if(Ask<iFractals(Symbol(),0,MODE_LOWER,numFR))return(true);

}
return(false);
}
//+------------------------------------------------------------------+

параметры: FractalOpen(символ,period,type)
символ - символ фрактала по умолчанию Symbol()
period - Период Таймфрейм, по умолчанию = 0 текущий
type - тип пробития, 1 = пробитие верхнего фрактала 2 - пробитие нижнего фрактала.
Если пробит возвращает true

Например:

if(FractalOpen(Symbol(),0,1)) // пробит верхний фрактал
if(FractalOpen(Symbol(),0,2)) // пробит нижний фрактал


Мы лучшие
 
Дата: Среда, 15.09.2010, 17:28 | Сообщение # 16 Написал: dpm
Группа: Удаленные





Когда мы уже увидим нормально работающую стратегию? wink

Добавлено (15.09.2010, 17:28)
---------------------------------------------

Quote (SIP)
Вот еще одна стратегия по барам, открытию, закрытию и хаю и лоу цены. Тестирую на EURUSD М15 и тактика качели. if (NumberStrategy==26)// M30

Можно эту стратегию файлом выложить?
 
Дата: Среда, 15.09.2010, 17:47 | Сообщение # 17 Написал: SIP
Группа: Удаленные





Quote (expforex)
могу помочь с внедрением функции определения пробития фракталов.

Эту функцию куда помещать? туда где расположена стратегия или за пределы?

Добавлено (15.09.2010, 17:47)
---------------------------------------------

Quote (dpm)
Можно эту стратегию файлом выложить?

Елки палки, ну неужели ты не можешь скопировать и в свой файл вставить.
 
Дата: Среда, 15.09.2010, 18:06 | Сообщение # 18 Написал: dpm
Группа: Удаленные





Quote (SIP)
Елки палки, ну неужели ты не можешь скопировать и в свой файл вставить.

Я не знаю куда именно и как это делать. sad
Научите пожалуйста кото нибудь, в место того, чтобы ругаться. cry
 
Дата: Среда, 15.09.2010, 19:33 | Сообщение # 19 Написал: expforex
Трейдер - Генералиссимус
Группа: Администраторы
Сообщений: 27
Награды: 0
Статус: Offline
Quote
Эту функцию куда помещать? туда где расположена стратегия или за пределы?

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

тут Юрий еще дал индикатор фракталов, но я ж как всегда без автора не могу ничего выставить, там функция тоже на фракталах, разрешит я выложу.

Quote
Можно эту стратегию файлом выложить?

Все делается элементарно просто:

открываем файл стратегий, в папке libraries который, если не знаем где - на рабочем стале - UTS первый запуск. - открыть файл стратегий.

далее после:

Code
[b]int CreateYourStrategy(int NumberStrategy=1)
       
      {[/b]

Вставляем стратегии, котоыре выкладываются, например стратегию Sip

Code
if (NumberStrategy==26)// M30

{
//+------------------------------------------------------------------+
//| Инициализируем значения внешнего индикатора |
//+------------------------------------------------------------------+

double Close_bar1_26=iClose(Symbol(),PERIOD_M5,1);
double Close_bar2_26=iClose(Symbol(),PERIOD_M5,2);
double Close_bar3_26=iClose(Symbol(),PERIOD_M5,3);

double Low_bar1_M5_26=iLow(Symbol(),PERIOD_M5,1);
double Low_bar2_M5_26=iLow(Symbol(),PERIOD_M5,2);
double Low_bar3_M5_26=iLow(Symbol(),PERIOD_M5,3);

double High_bar1_M5_26=iHigh(Symbol(),PERIOD_M5,1);
double High_bar2_M5_26=iHigh(Symbol(),PERIOD_M5,2);
double High_bar3_M5_26=iHigh(Symbol(),PERIOD_M5,3);
//+------------------------------------------------------------------+
//| Указываем Сигналы: |
//+------------------------------------------------------------------+

if ( High_bar3_M5_26<High_bar2_M5_26 && High_bar2_M5_26< High_bar1_M5_26 )
if ( Close_bar1_26> High_bar3_M5_26 && Close_bar1_26>High_bar2_M5_26)
return(1);

if ( Low_bar3_M5_26>Low_bar2_M5_26 && Low_bar2_M5_26> Low_bar1_M5_26 )
if ( Close_bar1_26 < Low_bar3_M5_26 && Close_bar1_26<Low_bar2_M5_26)
return(2);

}


Мы лучшие
 
Дата: Среда, 15.09.2010, 19:46 | Сообщение # 20 Написал: SIP
Группа: Удаленные





Quote (expforex)
я попробую помочь в проблеме открытия сделок на хае,

Quote (expforex)
могу помочь с внедрением функции определения пробития фракталов. Так -как сам когда-то мучался с реализацией данной функции.

Владислав, помогите пож. Не получается. Добавьте к 26 стратегии.
Вызов то как сделать?

bool type;

if(type==1)// пробитие верхнего фрактала
if ( High_bar3_M5_26<High_bar2_M5_26 && High_bar2_M5_26< High_bar1_M5_26 )
if ( Close_bar1_26> High_bar3_M5_26 && Close_bar1_26>High_bar2_M5_26)

return(1);

Так? Если так, то у меня перестают открыватся сделки

Сообщение отредактировал SIP - Среда, 15.09.2010, 19:50
 
Форум Трейдеров » Разное » Архив советников » 11 торговых стратегий для UTS (Прибыльные стратегии обсуждаются ЗДЕСЬ!!!)
Страница 2 из 6«123456»
Поиск: