Помогите создать советника или изменить готовый

 

Открытие отложенных ордеров позиций на Bay и на Sel по закрытию дневной свечи.

Возможность задать отступ от начала свечи.

Возможность открытия отложенных ордеров либо по Hig-Low либо по Open-Close.!!!!

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

Возможность установки объема, уровней тейка и стопа, а так же наличие трейлинг стопа так же задаться в настройках и его уровень.

Возможность запуска на разных парах с одного счета.

Возможность установки ордера в безубыток

вот пример готового но он не совсем то что нужно, помогите изменить его пожалйста!!!

Файлы:
 
Помочь создать - пожалуйста. Опишите в чём у Вас проблема. Изменять готового вряд ли кто-то захочет. Народ тут не любит копаться в чужих кодах. Проще создать свой с нуля.
 
В этом советнике меня все устраивает кроме способа открытия позиций в нем необходимо задавать время конца торгового дня по текущей паре, а я хочу что бы он не смотрел на время а открывал по закрытию дневного бара, тогда его можно будет использовать на любой паре и время задавать не нужно.
 

описываю алгоритм моей стратегии

на дневном графике (одна свеча один день) по закрытию текущего бара выставляются ордера на Buy и Sel, в советнике должно быть предусмотрен режим выставления ордеров либо по HIGH-LOW, либо по Open-Close,так же должен задаваться отступ на пример 10 пунктов от HIGH и LOW или от Open-Close. Так же должно быть доступно выставление объемов лотов, тейки и стопы. И еще если вдруг после срабатывания ордера рынок не пошел в нужном направлении и сработал стоп, на следующий день выставляются лоты объёмом в два раза больше (так же объем должен задаваться в настройках советника). А так же наличие трейлинг стопа так же задаться в настройках и его уровень. Возможность запуска на разных парах с одного счета. Возможность установки ордера в безубыто.

 
выставляються отложенные ордера на Buy и Sel
 

Ну, Ваши требования к Вашему будущему советнику вполне ясны. А проблема-то в чём?

P.S. 

Насколько я понял ситуацию, Если за день ни кто не подез в код советника, которого Вы приложили к посту, то вряд ли уже кто-то будет его править. Значит выход у Вас такой - либо подождать ещё какое-то время - мож желающие так-и появятся. Если этого не произойдёт, то сделать кода самостоятельно. Как я Вам и сказал, помочь - помогут. Но вот делать вместо Вас будут вряд ли.

 
я не могу понять как написать процедуру выставления ордера по закрытию текущего бара
 
tianja >>:
я не могу понять как написать процедуру выставления ордера по закрытию текущего бара


Перед блоком инициализации объявляем целочисленную переменную. Например, int MyBars;

В блоке инициализации присваиваем ей значение числа свеч на графике. MyBars=Bars;

В старте советника пишем

 

if(MyBars<Bars){// появилась новая свеча
  // блок установки ордеров

  // после этого блока пришем
  MyBars=Bars;// это чтоб ордера ставились только 1 раз
}
Поскольку советник работает на Д1, то запускать его в работу нужно в конце дня. Советник на первом тике новой свечи обнаружит, что день закончился (число баров стало на 1 больше) и установит ордера. А по прошествии ещё суток, он снова обнаружит, что число свеч на грфике увеличилось на 1 и снова поставит свои отложки.
 
ок спасибо попробую, хотелось бы узнать ваше мнение насчет стратегии, я вот думаю ввести анализ в систему введя в нее такой алгоритм как отслеживание тренда по скользящей средней, и если например рынок находиться под скользящей средней и на рынке медвежье настроение то ордер на Buy отодвигается еще дальше например на 50 пунктов таким образом фильтруя ложные срабатывания
 
tianja >>:
ок спасибо попробую, хотелось бы узнать ваше мнение насчет стратегии, я вот думаю ввести анализ в систему введя в нее такой алгоритм как отслеживание тренда по скользящей средней, и если например рынок находиться под скользящей средней и на рынке медвежье настроение то ордер на Buy отодвигается еще дальше например на 50 пунктов таким образом фильтруя ложные срабатывания


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

Самое активное движение происходит когда в рынке не 1, а два региона. 

 

int MyBars; // Перед блоком инициализации объявляем целочисленную переменную. Например, int MyBars;

int start()

{

MyBars=Bars;

int total, cnt, OpenOrder, DefOrder, pos;
double max, min, SL;
datetime time;
//----

// Устанавливаем время выставления ордеров для различных валютных пар
if(Symbol()=="USDCAD")
time=StrToTime("12:00");
else
time=StrToTime("09:00");

// Считаем количество открытых и отложенных ордеров по текущему инструменту
total=OrdersTotal();
OpenOrder=0;
DefOrder=0;
for(cnt=0;cnt<total;cnt++)
{
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==true && OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
OpenOrder++; // количество открытых ордеров
else
DefOrder++; // количество закрытых ордеров
}
}

// Проверяем не пора ли устанавливать отложенные ордера
if(TimeHour(CurTime())==TimeHour(time) && TimeMinute(CurTime())<5 && OpenOrder==0 && DefOrder==0)
{
total=24*60/Period()+1;
max=High[0];
min=Low[0];
for(pos=0; pos<total; pos++)
{
if (TimeDayOfYear(Time[pos])==TimeDayOfYear(CurTime()))
{
if(High[pos]>max)
max=High[pos]; // Дневной экстремум
if(Low[pos]<min)
min=Low[pos]; // Дневной экстремум
}
}
OrderSend(Symbol(),OP_BUYSTOP,Lots,max+Order_Point*Point,3,max-(SL_Point-Order_Point)*Point,0,"BUY Scalping",16384,0,CLR_NONE);
OrderSend(Symbol(),OP_SELLSTOP,Lots,min-Order_Point*Point,3,min+(SL_Point-Order_Point)*Point,0,"SELL Scalping",16384,0,CLR_NONE);

}


А как ввести выбор открытия по дневному High или Open я так полагаю необходимо ввести в начале extern bool HL_OC=0; //где "0" это открытие по Huy а 1 по Open и ввести условие если переменная HL_OC равна 0 то открываем по Huy и Low если переменная равна 1 то открываем по Open и Close.

Простите за мою не грамотность но я только начинаю осваивать язык.

Причина обращения: