Доработка ботов (советников, индикаторов) vol. 2

Ну вот у меня:

General_Profit = 500
TakeProfit = 100

Не так?

Да-да,все так...Только если мартиновскую идеологию использовать.А если анти-мартиновскую,то все наоборот должно быть.Самый большой ордер идет сначала,потом все меньше и меньше.К концу тренда должен оставаться открытым ордер с минимальным лотом,а все остальные должны быть закрыты с прибылью.А этот последний - он уже может быть и с минусом закрыт.Ну хотябы нельзя ли сделать,чтоб ордер закрывался при открытии следующего ордера ?
 
  • Like
Реакции: osa
друзья, помогите страждущему

в МТФ машке отсутствуют цены HLC/3 & HLCC/4, (выделенное жирным)


switch(price){
case 0 : return (Close);
case 1 : return (iMA(0,tf,1,0,0,1,iBarShift(0,tf,Time)));
case 2 : int kol_vo_pois=iBarShift(0,0,iTime(0,tf, iBarShift(0,tf,Time)))-i;
if(kol_vo_pois==0) return ( High);
return ( High[iHighest(0,0,MODE_HIGH,kol_vo_pois,i)]);
case 3 : kol_vo_pois=iBarShift(0,0,iTime(0,tf, iBarShift(0,tf,Time)))-i;
if(kol_vo_pois==0) return ( Low);
return ( Low[iLowest(0,0,MODE_LOW,kol_vo_pois,i)]);
case 4 : kol_vo_pois=iBarShift(0,0,iTime(0,tf, iBarShift(0,tf,Time)))-i;
if(kol_vo_pois==0) return ( (High+Low)/2);
return ( (High[iHighest(0,0,MODE_HIGH,kol_vo_pois,i)]+Low[iLowest(0,0,MODE_LOW,kol_vo_pois,i)])/2);
case 5 : Print("Price not valide"); Comment("Price not valide"); return(0);
case 6 : Print("Price not valide"); Comment("Price not valide"); return(0);


выделенное отсутствует, а мне как раз эти цены и нужны

:please:
 

Вложения

друзья, помогите страждущему

в МТФ машке отсутствуют цены HLC/3 & HLCC/4, (выделенное жирным)


switch(price){
case 0 : return (Close);
case 1 : return (iMA(0,tf,1,0,0,1,iBarShift(0,tf,Time)));
case 2 : int kol_vo_pois=iBarShift(0,0,iTime(0,tf, iBarShift(0,tf,Time)))-i;
if(kol_vo_pois==0) return ( High);
return ( High[iHighest(0,0,MODE_HIGH,kol_vo_pois,i)]);
case 3 : kol_vo_pois=iBarShift(0,0,iTime(0,tf, iBarShift(0,tf,Time)))-i;
if(kol_vo_pois==0) return ( Low);
return ( Low[iLowest(0,0,MODE_LOW,kol_vo_pois,i)]);
case 4 : kol_vo_pois=iBarShift(0,0,iTime(0,tf, iBarShift(0,tf,Time)))-i;
if(kol_vo_pois==0) return ( (High+Low)/2);
return ( (High[iHighest(0,0,MODE_HIGH,kol_vo_pois,i)]+Low[iLowest(0,0,MODE_LOW,kol_vo_pois,i)])/2);
case 5 : Print("Price not valide"); Comment("Price not valide"); return(0);
case 6 : Print("Price not valide"); Comment("Price not valide"); return(0);


выделенное отсутствует, а мне как раз эти цены и нужны

:please:


просьба снимается, исправил сам :D
 
Внем прописаны валюты он может искать по ним, еще ТФ тоже может по ним искать
int isymbol = 0;
if (symbol == "EURUSD") isymbol = 1;
else if (symbol == "GBPUSD") isymbol = 2;
else if (symbol == "USDJPY") isymbol = 3;
else if (symbol == "USDCHF") isymbol = 4;
else if (symbol == "AUDUSD") isymbol = 5;
else if (symbol == "USDCAD") isymbol = 6;
else if (symbol == "EURGBP") isymbol = 7;
else if (symbol == "EURJPY") isymbol = 8;
else if (symbol == "EURCHF") isymbol = 9;
else if (symbol == "EURAUD") isymbol = 10;
else if (symbol == "EURCAD") isymbol = 11;
else if (symbol == "GBPUSD") isymbol = 12;
else if (symbol == "GBPJPY") isymbol = 13;
else if (symbol == "GBPCHF") isymbol = 14;
else if (symbol == "GBPAUD") isymbol = 15;
else if (symbol == "GBPCAD") isymbol = 16;
else if (symbol == "AUDCAD") isymbol = 17;
else if (symbol == "AUDCHF") isymbol = 18;
else if (symbol == "AUDJPY") isymbol = 19;
else if (symbol == "AUDNZD") isymbol = 20;
else if (symbol == "CHFJPY") isymbol = 21;
else if (symbol == "EURNZD") isymbol = 22;
else if (symbol == "GBPNZD") isymbol = 23;
else if (symbol == "NZDCHF") isymbol = 24;
else if (symbol == "NZDJPY") isymbol = 25;
else if (symbol == "NZDUSD") isymbol = 26;
else if (symbol == "USDCAD") isymbol = 27;
else if (symbol == "USDSGD") isymbol = 28;
else if (symbol == "USDZAR") isymbol = 29;
else isymbol = 30;
Хотя хз посмотри что в журнале пишет
или вот убрал 4 ошибки остальные оставил
так по пробуй
теперь открывает только 2buy и всё, но и при тесте долго тест идет будто подвисает
 
Да-да,все так...Только если мартиновскую идеологию использовать.А если анти-мартиновскую,то все наоборот должно быть.Самый большой ордер идет сначала,потом все меньше и меньше.К концу тренда должен оставаться открытым ордер с минимальным лотом,а все остальные должны быть закрыты с прибылью.А этот последний - он уже может быть и с минусом закрыт.Ну хотябы нельзя ли сделать,чтоб ордер закрывался при открытии следующего ордера ?

Ну если, как ты сам писал:

Шаг увеличения лота 0.7
Лот 0.1

Ну, а над закрытием каждого отдельного ордера, надо подумать.
 

Вложения

  • 3.jpg
    3.jpg
    262,2 КБ · Просмотры: 108
Здравствуйте, друзья!

Помогите, пожалуйста, написать простенький советник по принципам вот этой стратегии, но с настраиваемыми параметрами.
Суть в том этой стратегии, что она основана на выставление отложенных ордеров байстоп и селлстоп, на расстояние дельта от выше хай и ниже лоу свечи. Только эти ордера выставляются после закрытия свечи в конкретное время (допустим в 00:00) , выставленное в настройках советника. Когда ордер срабатывает выставляется стоплосс и тейкпрофит. А при достижении определенного профита в пунктах, стоплосс переноситься в безубыток по цене сработанного ордера или немного выше этой цены и потом включается трал ордера. Если ордер не сработал до свечи (допустим в 00:00) следующего дня, то ордер удаляется и цикл повторяется.
Настройки советника:
1). выбор таймфрейма
2). выставление времени той свечи, которую будем торговать
3). тейк, стоп, трал
4). перенос в безубыток
5). Выставление лота ордера
6). настройка под ДЦ пяти и четырёх знак.
Я думаю, что советник с настраиваемыми параметрами был бы интересен многим пользователям именно своей возможностью применения под каждую конкретную стратегию.
Заранее огромное спасибо.
 
Здравствуйте, друзья!

Помогите, пожалуйста, написать простенький советник по принципам вот этой стратегии, но с настраиваемыми параметрами.
Суть в том этой стратегии, что она основана на выставление отложенных ордеров байстоп и селлстоп, на расстояние дельта от выше хай и ниже лоу свечи. Только эти ордера выставляются после закрытия свечи в конкретное время (допустим в 00:00) , выставленное в настройках советника. Когда ордер срабатывает выставляется стоплосс и тейкпрофит. А при достижении определенного профита в пунктах, стоплосс переноситься в безубыток по цене сработанного ордера или немного выше этой цены и потом включается трал ордера. Если ордер не сработал до свечи (допустим в 00:00) следующего дня, то ордер удаляется и цикл повторяется.
Настройки советника:
1). выбор таймфрейма
2). выставление времени той свечи, которую будем торговать
3). тейк, стоп, трал
4). перенос в безубыток
5). Выставление лота ордера
6). настройка под ДЦ пяти и четырёх знак.
Я думаю, что советник с настраиваемыми параметрами был бы интересен многим пользователям именно своей возможностью применения под каждую конкретную стратегию.
Заранее огромное спасибо.

Присоединюсь.
 
теперь открывает только 2buy и всё, но и при тесте долго тест идет будто подвисает
eurusd-m15-e-global-trade-3.png
так по пробуй там все на функцию return зациклили:facepalm: видать что то добавляю или убираю не то
 

Вложения

Последнее редактирование:
eurusd-m15-e-global-trade-3.png
так по пробуй там все на функцию return зациклили:facepalm: видать что то добавляю или убираю не то

теперь не виснет, и баев много, но и шелл в десятки раз болше канешь, но впринципе вроде неплохо, спс еще не поможешь разобраться с параметрами трала? там их четыре непойму какой стоп какой степ
 
Последнее редактирование:
теперь не виснет, и баев много, но и шелл в десятки раз болше канешь, но впринципе вроде неплохо, спс еще не поможешь разобраться с параметрами трала? там их четыре непойму какой стоп какой степ
LossTrailInitialStartPips всегда должен быть больше LossTrailPips это для стопов
profitWhenToSetNoLossStopPips всегда должен быть больше profitOfNoLossStopPips это для профита в бу при убытке
 
Последнее редактирование:
LossTrailInitialStartPips всегда должен быть больше LossTrailPips это для стопов
profitWhenToSetNoLossStopPips всегда должен быть больше profitOfNoLossStopPips это для профита в бу при убытке



вот из источника совы через поиск в браузере ставлю buy находит чото около 250 ордеров, ставлю поиск sell находит примерно также, то есть баланс между открытием есть, я подумал может стоит использовать те же настройки и ту же дату теста, ОПРОБОВАЛ, то же самое несколько баев и остальные селл...... значит все таки что то в сове не так. А так вроде норм сова
 

Вложения

Последнее редактирование:
вот из источника совы через поиск в браузере ставлю buy находит чото около 900 ордеров, ставлю поиск sell находит примерно также, то есть баланс между открытием есть, я подумал может стоит исползьвать те же настройки и ту же дату теста, ОПРОБОВАЛ, то же самое несколько баев и остальные селл...... значит все таки что то в сове не так. А так вроде норм сова
там ошибок еще чтук десять на функцию завязаны в старой версии может и нормально но в новой это критическая ошибка все заново нужно функции переписывать я так думаю
 
там ошибок еще чтук десять на функцию завязаны в старой версии может и нормально но в новой это критическая ошибка все заново нужно функции переписывать я так думаю

вот архив с исходником и файлом настроек как на тестере. Может что то получится?
 

Вложения

  • 9323.zip
    9323.zip
    43,7 КБ · Просмотры: 82
Поправьте сову.

Кому не трудно поправьте сову. Выдает 7 ошибок. Заранее большое спасибо.
 

Вложения

Здравствуйте, друзья!

Помогите, пожалуйста, написать простенький советник по принципам вот этой стратегии, но с настраиваемыми параметрами.
Суть в том этой стратегии, что она основана на выставление отложенных ордеров байстоп и селлстоп, на расстояние дельта от выше хай и ниже лоу свечи. Только эти ордера выставляются после закрытия свечи в конкретное время (допустим в 00:00) , выставленное в настройках советника. Когда ордер срабатывает выставляется стоплосс и тейкпрофит. А при достижении определенного профита в пунктах, стоплосс переноситься в безубыток по цене сработанного ордера или немного выше этой цены и потом включается трал ордера. Если ордер не сработал до свечи (допустим в 00:00) следующего дня, то ордер удаляется и цикл повторяется.
Настройки советника:
1). выбор таймфрейма
2). выставление времени той свечи, которую будем торговать
3). тейк, стоп, трал
4). перенос в безубыток
5). Выставление лота ордера
6). настройка под ДЦ пяти и четырёх знак.
Я думаю, что советник с настраиваемыми параметрами был бы интересен многим пользователям именно своей возможностью применения под каждую конкретную стратегию.
Заранее огромное спасибо.

прикрепил советник торгующий по хай лоу - предыдущего закрытого дня


настройки
  • extern string aa6="----------------------------------------------------------------------------";
  • extern string trade_="Настройки торговли";
  • extern bool CorectStopLevelwServers=true; // Корректировка значений стопов StopLoss TakeProfit StopOrderDeltaifUSE TrailingStop на минимально возможный уровень, при этом параметры следует установить на -1
  • extern int Magic2=777; // Магический номер
  • extern int StopLoss=0; // Стоплосс, 0 - не используется
  • extern int TakeProfit=0; // Тейкпрофит , 0 - не используется
  • extern int Slippage=0; // Проскальзывание
  • extern bool MarketWatch=false; // Режим торговли по MarketWatch true = сначала выставляются позиции/ордера без стопов, потом происходит модификация - для некоторых брокеров
  • extern int StopOrderDeltaifUSE=100; // Дистанция для отложенных ордеров
  • extern bool ClosePosifChange=true; // Закрывать позиции при обратном сигнале
  • extern string aa7="----------------------------------------------------------------------------";
  • extern string autolot_="Настройки автолота";
  • extern double Lots=0.1; // Фиксирвоанный лот
  • extern bool DynamicLot=false; // Динамический лот
  • extern double LotBalancePcnt=20; // % от депозита
  • extern double MinLot = 0.1; // Минимальный лот при расчете
  • extern double MaxLot = 5; // Максимальный лот при расчете
  • extern double Martin=1; // Если 1 то не используется, Коэффициент мартина на следующую сделку после убытончой
  • extern string aa8="----------------------------------------------------------------------------";
  • extern string timetrade_="Настройки времени торговли";
  • extern int OpenHour=0; // Час открытия торгов
  • extern int OpenMinute=0; // Минута открытия торгов
  • extern int CloseHour=23; // Час закрытия торгов
  • extern int CloseMinute=59; // Минута закрытия торгов
  • extern string aa9="----------------------------------------------------------------------------";
  • extern string Trailing_="Настройки трейлингстопа";
  • extern bool TrailingStopUSE=false; // Использовать трейлингстоп
  • extern bool IfProfTrail=false; // Использовать только дял профитных позиций - режим безубытка
  • extern int TrailingStop=0; // Дистанция трейлинга = 0 - минимально допустимый
  • extern int TrailingStep=1; // Шаг дистанции
  • extern string aa5="----------------------------------------------------------------------------";
  • extern bool NFPuse=true;
  • extern int Dist=0; // Дистанция ордера,
  • extern int kolOrder=5;// Колличество ордеров вверх вниз - сетка
  • extern double MnLot=2; // Множитель лотов


MinMax Trade
Принцип Работы Эксперта:
При запуске Эксперта — Эксперт выставляет 2 отложенных ордера Sellstop на Low прошлого дня и Buystop на High прошлого дня с дистанцией StopOrderDeltaifUSE С Тейкпрофитом TakeProfit

Если ни один ордер не сработал в конце дня — отложенники удаляются и ставятся новые отложенники на новые уровни

После того как 1 ордер ( Или sellstop или Buystop ) сработают и станут активными — второй несработавший ордер удалиться и на сработавшую позицию выставяться лимитные ордера Selllimit или Buylimit соответственно с дистанцией Dist в количестве kolOrder и с множителем лотов: MnLot

Как только активиируется лимитник — ТейкПрофит всех позиций переносится на Тейкпрофит этого лимитника.

Как только Позиция с большим лотом закрывается по ТП — все остальные позиции и ордера удаляются — и мы получаем профит.

Принцип эксперта заключается в пробое уровней прошлого дня.
 

Вложения

Кому не трудно поправьте сову. Выдает 7 ошибок. Заранее большое спасибо.

Функция switсh в качестве выражения может принимать только Целые числа
Если раньше через switсh можно было перебирать любые значения, то теперь данный оператор может принимать только целые числа в качестве сравнения, для того чтобы Ваша функция работала дальше, Вам необходимо заменить ее на операторы сравнения if else
Было:
int Testswitchdouble()
{
double k1=1.432;
int y;
switch(k1)
{
case 1.432:y=1;break;
case 1.433:y=2;break;
case 1.434:y=3;break;
}
}
Стало:
int Testswitchdouble()
{
double k1=1.432;
int y;
if(k1== 1.432)y=1;
if(k1== 1.433)y=2;
if(k1== 1.434)y=3;
return(y);
}

Ошибка, которая возникает при неправильном коде: 'k1' - illegal switch expression type и '1.432' - constant expression is not integral
 

Вложения

прикрепил советник торгующий по хай лоу - предыдущего закрытого дня


настройки
  • extern string aa6="----------------------------------------------------------------------------";
  • extern string trade_="Настройки торговли";
  • extern bool CorectStopLevelwServers=true; // Корректировка значений стопов StopLoss TakeProfit StopOrderDeltaifUSE TrailingStop на минимально возможный уровень, при этом параметры следует установить на -1
  • extern int Magic2=777; // Магический номер
  • extern int StopLoss=0; // Стоплосс, 0 - не используется
  • extern int TakeProfit=0; // Тейкпрофит , 0 - не используется
  • extern int Slippage=0; // Проскальзывание
  • extern bool MarketWatch=false; // Режим торговли по MarketWatch true = сначала выставляются позиции/ордера без стопов, потом происходит модификация - для некоторых брокеров
  • extern int StopOrderDeltaifUSE=100; // Дистанция для отложенных ордеров
  • extern bool ClosePosifChange=true; // Закрывать позиции при обратном сигнале
  • extern string aa7="----------------------------------------------------------------------------";
  • extern string autolot_="Настройки автолота";
  • extern double Lots=0.1; // Фиксирвоанный лот
  • extern bool DynamicLot=false; // Динамический лот
  • extern double LotBalancePcnt=20; // % от депозита
  • extern double MinLot = 0.1; // Минимальный лот при расчете
  • extern double MaxLot = 5; // Максимальный лот при расчете
  • extern double Martin=1; // Если 1 то не используется, Коэффициент мартина на следующую сделку после убытончой
  • extern string aa8="----------------------------------------------------------------------------";
  • extern string timetrade_="Настройки времени торговли";
  • extern int OpenHour=0; // Час открытия торгов
  • extern int OpenMinute=0; // Минута открытия торгов
  • extern int CloseHour=23; // Час закрытия торгов
  • extern int CloseMinute=59; // Минута закрытия торгов
  • extern string aa9="----------------------------------------------------------------------------";
  • extern string Trailing_="Настройки трейлингстопа";
  • extern bool TrailingStopUSE=false; // Использовать трейлингстоп
  • extern bool IfProfTrail=false; // Использовать только дял профитных позиций - режим безубытка
  • extern int TrailingStop=0; // Дистанция трейлинга = 0 - минимально допустимый
  • extern int TrailingStep=1; // Шаг дистанции
  • extern string aa5="----------------------------------------------------------------------------";
  • extern bool NFPuse=true;
  • extern int Dist=0; // Дистанция ордера,
  • extern int kolOrder=5;// Колличество ордеров вверх вниз - сетка
  • extern double MnLot=2; // Множитель лотов


MinMax Trade
Принцип Работы Эксперта:
При запуске Эксперта — Эксперт выставляет 2 отложенных ордера Sellstop на Low прошлого дня и Buystop на High прошлого дня с дистанцией StopOrderDeltaifUSE С Тейкпрофитом TakeProfit

Если ни один ордер не сработал в конце дня — отложенники удаляются и ставятся новые отложенники на новые уровни

После того как 1 ордер ( Или sellstop или Buystop ) сработают и станут активными — второй несработавший ордер удалиться и на сработавшую позицию выставяться лимитные ордера Selllimit или Buylimit соответственно с дистанцией Dist в количестве kolOrder и с множителем лотов: MnLot

Как только активиируется лимитник — ТейкПрофит всех позиций переносится на Тейкпрофит этого лимитника.

Как только Позиция с большим лотом закрывается по ТП — все остальные позиции и ордера удаляются — и мы получаем профит.

Принцип эксперта заключается в пробое уровней прошлого дня.

Спасибо, что откликнулись на просьбу, но это чуть-чуть не то. :) Так как по стратегии, которую я предложил для разработки советника, отложенный ордер должен выставляться на хай и лоу конкретной свечи по времени.
 
Ребята,подскажите,как настроить алерт по стрелкам?
А то у меня каракули.:nda:
 

Вложения

Посмотрели (2208) Посмотреть

Смотрят сейчас (8) Посмотреть

Отслеживают (1864) Посмотреть

Назад
Верх