Перейти к содержанию

Доработка советников: общая тема


Рекомендуемые сообщения

Доработка советников: общая тема Опубликовано

А почему он не должен открываться? Условия соблюдены: один ордер в рынке, условия на вход, видимо, тоже существуют..
Я изменения внес на скорую руку, буквально по заданным вопросам...
п.с. я про индикацию количества ордеров в рынке: а "нафига козе баян", если по условиям сетка не строится? Глазами сложно отличить? Или на одной паре разные совы работают? Изменения сделать не сложно, но зачем?

Цитата

Bar_analys = 800; // количество баров анализируемого периода.
ТФ не важен, важен отрезок времени. Просто подбирается количество баров под ТФ. пример На 1часе будет 200 баров, на 30мин 400 баров, на 15мин 800 на 5мин 2400 баров


В сове нет таких расчетов- чем выше ТФ, тем длиннее анализируемый период
Ссылка на сообщение
Поделиться на другие сайты

  • Ответов 2,5k
  • Создано
  • Последний ответ

Популярные авторы

Популярные авторы

Популярные посты

Версия с правками. Я немного свернул код, чтобы не перебирались ордера попусту и чтобы проверка красной/синей зоны делалась в одном месте. Прогнал в тесте с настройками по умолчанию. Ожидаемо лье

Перейти

Нате 1_2_3 _Fraktal.mq4

Перейти

Система маятника, или попрыгунчика, или фиг ее знает как ее еще назвать не намного младше сетки мартингейла. Мы в далеком 2017 писали по ней сов с индикатором на вход: https://tlap.com/forum/labo

Перейти
Доработка советников: общая тема Опубликовано
А почему он не должен открываться? Условия соблюдены: один ордер в рынке, условия на вход, видимо, тоже существуют..
советник работает на отбой от границ канала когда цена внутри. вверху селл, внизу бай, центр ТП.
за пределами канала ордера не должны открываться, мы ждем когда цена вернется в канал.
я про индикацию количества ордеров в рынке: а "нафига козе баян", если по условиям сетка не строится? Глазами сложно отличить? Или на одной паре разные совы работают? Изменения сделать не сложно, но зачем?
мне для работы с одним ордером не нужна
В сове нет таких расчетов- чем выше ТФ, тем длиннее анализируемый период
вы спросили про рабочий ТФ, я написал, что можно работать на любом ТФ, просто под каждый ТФ надо выставлять определенное количество баров в ручную, автоматом ничего не меняется.
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано


А почему он не должен открываться? Условия соблюдены: один ордер в рынке, условия на вход, видимо, тоже существуют..
советник работает на отбой от границ канала когда цена внутри. вверху селл, внизу бай, центр ТП.
за пределами канала ордера не должны открываться, мы ждем когда цена вернется в канал.


Эта логика соблюдалась ранее или я своим вмешательством ее нарушил?
Цитата


я про индикацию количества ордеров в рынке: а "нафига козе баян", если по условиям сетка не строится? Глазами сложно отличить? Или на одной паре разные совы работают? Изменения сделать не сложно, но зачем?
мне для работы с одним ордером не нужна


Убрать совсем?
Цитата

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


Ну, допустим, во время работы советника на реалы Вы захотели посмотреть другой ТФ. После переключения ТФ вся арифметика канала слетит.
Оно Вам надо?
п.с. не в "тему": почему при ответе, если вставляешь из буфера обмена кусок текста, он самопроизвольно принимает какие-то настройки шрифта. Приходится руками удалять тэги форматирования. Честно говоря, задолбался. И появился этот глюк/фича относительно недавно...
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано
Эта логика соблюдалась ранее или я своим вмешательством ее нарушил?
Эта логика соблюдалась ранее
Убрать совсем?
убирайте
Ну, допустим, во время работы советника на реалы Вы захотели посмотреть другой ТФ. После переключения ТФ вся арифметика канала слетит.Оно Вам надо?
у меня обычно 2 графика, 1чистый с совой, а другой со всякими индикаторами. мне не критично
не в "тему" это давно так, возможно такие настройки сайта.
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Покапаю.
А какие настройки оптимальные для параметра "Количество баров" и на каком ТФ?

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Еще раз прошелся по логике совы:
1. Определяется канал по, допустим, 800 барам.
2. Находим среднюю линию.
3. От Средней линии отступаем n-пунктов вверх/вниз. Параметр Dist=200. Вот с этим каналом и работаем.
4. Если цена находится ниже нижней границы канала, то появляется сигнал на покупку.
5. В исходном коде, если цена шла против ордера, строилась сетка, но при установке фиксированного СЛ все время будет открываться ордер в том же направлении, что и последний закрытый по стопу ордер.

Я вижу выход в анализе пересечения ценой границы канала:
а) если пересекает нижнюю границу снизу вверх, то открываем БАЙ.
б) если цена пересекает верхнюю границу сверху вниз, то открываем СЕЛЛ.
Либо проверять, находится ли цена между центром и границей, т.е внутри канала, при этом желательно, чтобы ближе к границе.
Короче, от исходника останется только рисовалка линий :))

И еще не очень понял Ваше объяснение с картинкой: там упомянаются лимитники на расстоянии от средней линии, но в сове их нет...

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано
1. Определяется канал по, допустим, 800 барам.
Да
2. Находим среднюю линию.
Да
3. От Средней линии отступаем n-пунктов вверх/вниз. Параметр Dist=200. Вот с этим каналом и работаем.
Да
4. Если цена находится ниже нижней границы канала, то появляется сигнал на покупку.

за пределами канала ничего не открываем, ждем когда зайдет в канал. работаем на отбой от границ канала
5. В исходном коде, если цена шла против ордера, строилась сетка, но при установке фиксированного СЛ все время будет открываться ордер в том же направлении, что и последний закрытый по стопу ордер.
если получили фикс СЛ- ничего не открываем. Сидим курим и ждем когда цена вернется во внутрь канала.
Я вижу выход в анализе пересечения ценой границы канала:
а) если пересекает нижнюю границу снизу вверх, то открываем БАЙ.

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

И еще не очень понял Ваше объяснение с картинкой: там упомянаются лимитники на расстоянии от средней линии, но в сове их нет...
это я вручную проверял, как работает стратегия. На границы канала ставил СеллЛимит на верхнюю(красная линия) и БайЛимит на нижнюю(синяя линия)
http://fxpics.ru/images/2017/06/15/KANAL.jpg
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано


п.с. не в "тему": почему при ответе, если вставляешь из буфера обмена кусок текста, он самопроизвольно принимает какие-то настройки шрифта. Приходится руками удалять тэги форматирования. Честно говоря, задолбался.
И появился этот глюк/фича относительно недавно...


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

Парни, вы бы сохраняли в боте имевшиеся возможности...
Улучшение/развитие полной версии бота может пригодиться многим, а усеченная пока нужна лишь одному.
Хотя бы не вырезайте, а комментируйте код...
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано



п.с. не в "тему": почему при ответе, если вставляешь из буфера обмена кусок текста, он самопроизвольно принимает какие-то настройки шрифта. Приходится руками удалять тэги форматирования. Честно говоря, задолбался.
И появился этот глюк/фича относительно недавно...


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

Парни, вы бы сохраняли в боте имевшиеся возможности...
Улучшение/развитие полной версии бота может пригодиться многим, а усеченная пока нужна лишь одному.
Хотя бы не вырезайте, а комментируйте код...

Старик, я не о предварительном просмотре, а о ситуации, когда тест вставляешь из буфера и, к нему применяется произвольное форматирование.
По коду: я ничего не вырезал, Как раз комментировал, а по перспективности его развития есть ощущение, что будет рождаться что то типа Генерика.


Добавлено: 16-06-2017 09:52:36



если получили фикс СЛ- ничего не открываем. Сидим курим и ждем когда цена вернется во внутрь канала.

Этого условия не было изначально. Добавлю.
Цитата


Я вижу выход в анализе пересечения ценой границы канала:
а) если пересекает нижнюю границу снизу вверх, то открываем БАЙ.

нет см. скрин
б) если цена пересекает верхнюю границу сверху вниз, то открываем СЕЛЛ.
нет см скрин


Ну, на Ваш графический комментарий посылаю графические вопросы. (см скрин).
Как определить касание и отличить его от пробоя, и учесть, с какой стороны относительно линии подошла цена...?
Цитата


Либо проверять, находится ли цена между центром и границей, т.е внутри канала, при этом желательно, чтобы ближе к границе.
проверять находится ли цена между границами канала


если просто "внутри канала", то открытие около центральной линии не будет противоречить правилам.
Не сочтите за занудство, но лучше сразу проговорить все детали, чем потом по мере внесения изменений исправлять...

Q.jpg

Изменено пользователем usver73
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано
Как определить касание и отличить его от пробоя, и учесть, с какой стороны относительно линии подошла цена...? неважно касание или пробой границы канала, главное чтоб это произошло из нутри канала. представьте, что на красной линии стоит СеллЛимит, а на сеней БайЛимит, что должно произойти чтоб они вошли в рынок. я не знаю как лучше обьяснить. Скрины с тестера










Сейчас только дошло, что я не могу увидеть в тестере, как цена входит в канал. У оригинала нет стопа и он закрывает ордера при касании белой линии(центра канала), то есть цена всегда находится внутри канала после закрытия ордера и перед открытием следующих ордеров. Если для вас будет проще, то можно выставлять лимитки на границах канала как только цена вошла в канал(свеча закрылась внутри канала и сразу ставятся лимитки как даст цена или допустим когда цена прошла 2-3(30новых)п от границы внутрь канала) главное чтоб они потом двигались вместе с каналом.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

неважно касание или пробой границы канала, главное чтоб это произошло из нутри канала.


Ну вот, докопались до истины :)
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Короче, попробовал по-разному: и с учетом направления движения цены и просто при касании ценой границы канала.
В первом случае было много пропусков: я так и не смог определиться с алгоритмом расчета направления цены. Пробовал сравнивать цену последнего закрытого бара на М1, пробовал сравнивать цену потиково. Либо медленно, либо пропуск момента касания ценой канала (если свечки на М1 маленькие, как правило меньше спрэда).
В случае просто касания границы канала (+/- 10 пп ) получился практически такой же результат, но гораздо быстрее.
ИМХО, без глобального изменения стратегии советник бестолковый.

AUDNZD_Flat_Lock.v3.1.mq4

  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

  • 2 weeks later...
Доработка советников: общая тема Опубликовано
usver73, вы писали, что индикация в окне не влияет на работу советника. Вчера при 2 открытых чужих ордерах, сов не открывал сделки. После их закрытия, открыл.


Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано


usver73, вы писали, что индикация в окне не влияет на работу советника. Вчера при 2 открытых чужих ордерах, сов не открывал сделки. После их закрытия, открыл.




Вы не поверите, но индикатор действительно не влияет на работу советника :))
Он просто отражает текущую ситуацию.
А вот наличие "чужих" ордеров, действительно, может ограничить работу советника.
Поправлю...

Добавлено: 27-06-2017 06:58:45

Вроде поправил, но проверить не могу- надо на демо гонять.
Если что, пишите..
И еще, sever51, Вы торгуете этим советником или есть результаты в тестере?
Поделитесь, может действительно стоящая идея? ;)

AUDNZD_Flat_Lock.v3.2.mq4

Изменено пользователем usver73
  • Лайк 3
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

А Вы пробовали другие советники, торгующие в канале? Тема, в общем то "избитая"...

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано
usver73, большая часть построена на ББ или ТМА, этот сов привлек внимание оригинальностью построения канала.
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Ну не знаю, что в нем оригинального...
1. запаздывает за счет большого кол-ва баров для анализа.
2. Ширина т.н. "рабочего" канала -жесткая и никак не коррелируется с основным торговым диапазоном, от которого строится. Т.е. цена вышла за "рабочий" канал и пошла к границе своего диапазона, от которого скорее всего и будет отбой (это если мы во флэте), а мы поймали стоплосс...

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

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

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

Заранее благодарю!

MACD_Cross_Martingale_EA_v301.mq4

Изменено пользователем remembaaa
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Здравствуйте. Есть индикатор от советника Август Голем. Ломанный соаетник перестал работать. Помогите написать советник. Входы по сигналу. ПО одному сигналу на бар. При повторе сигнала, если идем не в нашу сторону так же открываем ордера. В общем делаем сетку, которую закрываем по обратному сигналу или по Общему ТП. ТФ 1 минута.
Можно вообще в советнике http://tlap.com/forum/sovetniki-foreks/11/sovetnik-martingeyl-survivor/15463/
заменить параметры входа на входы по прилагаемому индикатору, ну или добавить.
Сами сигналы появляются только пр прогоне в тестере. Нет стрелочек, только рисует какие-то кружочки.

AugustForexGolem_v2-i1.ex4

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Здравствуйте, уважаемые!
Споткнулся на, казалось бы, обкатанной теме выставления общего ТП у всех ордеров сетки = Цена БУ+ nn - пипсов. На коротких сетках (1-2-3-4 ордера) ТП ставится правильно. Если сетка 8 и более ордеров, то результат - ТП от 3-5 пп до отрицательной величины. Какую-то зависимость выявить не смог. Свопы и комиссии ни при чем.
Вызывается установка ТП после открытия ордера:

int ticket=OpenOrder(Type_order,nextLots,OrderPrice,comment,Magic,clrLime);
if (ticket>0) SetTakeProfit(OP_BUY, false);

Функция SetTakeProfit:
void SetTakeProfit(int orderType, bool Zero)
{
double newTakeProfit =0;
int rezModif =false;
double PriceBE = GetPriceBE(orderType); //получение цены БУ
GetPriceBE_773(orderType); //вызов еще одной функции расчета БУ для сравнения результатов.
if (!Zero) //если не обнуление, то считаем новый ТП. Обнуление ТП работает при включении трала
{
int Base_TP = 0;//Base_TP;
int result = 0;
int Count_ord=0;
if (orderType==OP_BUY) {Count_ord=countBUY; Base_TP=TakeProfitB;}
if (orderType==OP_SELL) {Count_ord=countSELL;Base_TP=TakeProfitS;}
result = Base_TP;// не обращайте внимание на "лишние" переменные. Часть кода (не имеющего отношения к вопросу) вырезана для форума
if (orderType==OP_BUY ) newTakeProfit=NormalizeDouble(PriceBE + result*Point,Digits);
if (orderType==OP_SELL) newTakeProfit=NormalizeDouble(PriceBE - result*Point,Digits);
}
PutHLine(0,StringConcatenate("Beline",orderType),PriceBE,Color(orderType),0,2,false,"comment"); //рисуем линию БУ
//в цикле устанавливаем новый ТП для всех ордеров
for (int order=OrdersTotal()-1; order>=0; order--)
{
returnvalue=OrderSelect(order, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType()==orderType)
{
rezModif=ModifyOrder (OrderOpenPrice(),OrderStopLoss(),newTakeProfit, CLR_NONE);
}
}
}
//=========================================================================================


И, наконец, два варианта функции GetPriceBE (расчет цены БУ):
//=========================================================================================     
double GetPriceBE(int orderType)//расчет цены безубытка. Отдельно для БАЙ и СЕЛЛ
{
double TotalLots=0;
double TotalProfit=0;
double Price=0;
double avgPrice = 0;

for (int i=OrdersTotal()-1;i>=0;i--)
{
if (OrderSelect(i,SELECT_BY_POS))
{
if (OrderSymbol()==Symbol() && OrderType()==orderType && OrderMagicNumber()==Magic)
{
TotalLots += OrderLots();
TotalProfit += OrderProfit()+OrderCommission()+OrderSwap();
avgPrice += OrderOpenPrice()*OrderLots();
}
}
}
double TickValue=MarketInfo(Symbol(),MODE_TICKVALUE);
if (orderType==OP_BUY && TotalLots>0) Price = NormalizeDouble(Bid-(TotalProfit/(TickValue*TotalLots)*Point),Digits);
if (orderType==OP_SELL && TotalLots>0) Price = NormalizeDouble(Ask+(TotalProfit/(TickValue*TotalLots)*Point),Digits);
Print(__FUNCTION__ , " : Price BE ", DoubleToStr(Price,Digits));
return(Price);
}

И вторая:
//===========расчет цены безубытка. Из версии 7.7.3 =================================== 
void GetPriceBE_773(int orderType)
{
double avgPrice = 0;
double sumLots = 0;
for (int order=OrdersTotal()-1; order >= 0; order--)
{
returnvalue=OrderSelect(order, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol() && OrderType()==orderType && OrderMagicNumber()==Magic)
{
avgPrice += OrderOpenPrice()*OrderLots();
sumLots += OrderLots();
}
}
double newTakeProfit=avgPrice/sumLots;
Print(__FUNCTION__ , ": Price BE ", DoubleToStr(newTakeProfit,Digits));
}

Если в первой функции БУ убрать учет свопов и комиссии, то обе функции дают абсолютно одинаковый результат (по крайней мере на EURUSD).
Вот, прошу помощи у опытных программистов.
На всякий случай сова во вложении.
Заранее спасибо

Spring_V8.12.2.mq4

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Здравствуйте!
Вторая функция расчета уровня безубытка выглядит правильно. В первой функции подсчитывается переменная double avgPrice, но после нигде в расчетах не участвует, за то в расчетах присутствует TickValue, который меняется по мере изменения курса пары. Думаю весь Ваш вопрос сводится к тому, что уровень безубытка на момент расчета правильный, но по мере того как изменяется курс пары, то изменяется и стоимость пункта инструмента (TickValue). Отсюда и неточность расчета уровня нулевого профита. И дальнейшая неточность расчета уровня общего тейка сетки. Видится выход в периодической корректировке этого уровня.

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано


Здравствуйте!
Вторая функция расчета уровня безубытка выглядит правильно. В первой функции подсчитывается переменная double avgPrice, но после нигде в расчетах не участвует, за то в расчетах присутствует TickValue, который меняется по мере изменения курса пары. Думаю весь Ваш вопрос сводится к тому, что уровень безубытка на момент расчета правильный, но по мере того как изменяется курс пары, то изменяется и стоимость пункта инструмента (TickValue). Отсюда и неточность расчета уровня нулевого профита. И дальнейшая неточность расчета уровня общего тейка сетки. Видится выход в периодической корректировке этого уровня.


avgPrice- это наследие из второй функции, когда методом "научного тыка" таскал куски кода отовсюду, забыл почистить. Во втором способе расчета БУ не учитывается своп. И если в первой закомментировать своп и комиссию, то обе функции дают одинаковый результат (специально Принты в конце прописаны).
Что касается TickValue, то Ваше утверждение справедливо для кроссов и пар с прямой(?) котировкой (В тестере вообще не меняется, специально проверил). Косяк же проявляется на всех парах, в т.ч. где TickValue не меняется вообще (например, EURUSD). И перерасчет ТП по-сути происходит каждый раз при выставлении очередного ордера. В советнике можно включить ежесуточный пересчет ТП для компенсации свопов....не помогает.
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано
DreamWorks ТП модифицируется практически в момент расчёта БУ, поэтому дальнейший курс роли не играет, имхо...
Я не нашёл ошибок, сам считаю по текущей просадке и стоимости пипса.
Немного смущает сам вопрос - при сетке более 8 ордеров становится неправильным расчёт БУ (в обоих случаях)? или косяк в дальнейшем расчёте ТП, или при модификации ордера? как Вы узнали о неправильном ТП у ордеров?
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

  • idinesh changed the title to Assae Elite Pro tlap version source code need i have plan convert this mt4 to mt5 and it possible mt4 dll file modified mt5 version
  • Pavel888 pinned this тема

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Специальное предложение


  • ×
    ×
    • Создать...