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

asers1111

Активный участник
Ну вот у меня:

General_Profit = 500
TakeProfit = 100

Не так?

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

Karabas BARABAS

Директор Буратины
друзья, помогите страждущему

в МТФ машке отсутствуют цены 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:
 

Вложения

  • MA__MTF.mq4
    3,8 КБ · Просмотры: 29

Karabas BARABAS

Директор Буратины
друзья, помогите страждущему

в МТФ машке отсутствуют цены 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
 

Anoctoj1

Интересующийся
Внем прописаны валюты он может искать по ним, еще ТФ тоже может по ним искать
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 и всё, но и при тесте долго тест идет будто подвисает
 

LexLampard

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

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

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

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

Вложения

  • 3.jpg
    3.jpg
    262,2 КБ · Просмотры: 105

andiV

Интересующийся
Здравствуйте, друзья!

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

IYG

Местный знаток
Здравствуйте, друзья!

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

Присоединюсь.
 

AlanG

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

Вложения

  • LCS-MACD-Trader_1.9.mq4
    29,9 КБ · Просмотры: 53
  • LCS-MACD-Trader_1.9.ex4
    52,6 КБ · Просмотры: 35
Последнее редактирование:

Anoctoj1

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

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

AlanG

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

Anoctoj1

Интересующийся
LossTrailInitialStartPips всегда должен быть больше LossTrailPips это для стопов
profitWhenToSetNoLossStopPips всегда должен быть больше profitOfNoLossStopPips это для профита в бу при убытке



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

Вложения

  • Strategietest 1 h EUR-USD.zip
    41,8 КБ · Просмотры: 49
Последнее редактирование:

AlanG

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

Anoctoj1

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

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

Вложения

  • 9323.zip
    43,7 КБ · Просмотры: 76

osvit

Активный участник
Поправьте сову.

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

Вложения

  • Bulldozer_Lock_v1.3.mq4
    33 КБ · Просмотры: 54

expforex

Программиров
Здравствуйте, друзья!

Помогите, пожалуйста, написать простенький советник по принципам вот этой стратегии, но с настраиваемыми параметрами.
Суть в том этой стратегии, что она основана на выставление отложенных ордеров байстоп и селлстоп, на расстояние дельта от выше хай и ниже лоу свечи. Только эти ордера выставляются после закрытия свечи в конкретное время (допустим в 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

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

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

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

Вложения

  • Exp - MinMax TRADE v16042011.ex4
    58,6 КБ · Просмотры: 72

expforex

Программиров
Кому не трудно поправьте сову. Выдает 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
 

Вложения

  • Bulldozer_Lock_v1.3.mq4
    32,9 КБ · Просмотры: 79

andiV

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


настройки
  • 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

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

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

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

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

gek

Элитный участник
Ребята,подскажите,как настроить алерт по стрелкам?
А то у меня каракули.:nda:
 

Вложения

  • TTTTT_1.mq4
    5,6 КБ · Просмотры: 116
Верх