Если Вы хотите заказать советник или индикатор, то публикуйте в эту группу тех. задание. Если Ваш заказ не очень сложный, то велика вероятность, что Вам его смогут сделать даже бесплатно
Программистам MQL: подпишитесь на группу, чтобы получать уведомления о заказах.
ТЗ в то что бы оставить все как есть.
Но нужно что бы открытие ордера было не по маркету, создание стопового ордера.
Другой советник который переносит ордера, поможет не летящий нож поймать, а хотя бы выйти с прибылью из отскока.
п.с.
Долго ждал что б это написать, извините что не понятно.
Попробуйте написать очень-очень-очень подробно, расписать каждый шаг работы советника. Отложенный ордер от Ма-шки? Параметры ТФ и параметры МА- не надо указывать, это будут параметры советника.
Когда цена выходит за границу встроенного индикатора enelopes
сразу открывается ордер в обратном направлении.
Далее по стандарту, ставится заранее настроенные TP, SL.
То что не работает безубыток и трал, это можно пережить.
Проблема в том что цена иногда очень сильно разгонятся, то срывает стопы, а если их нет, то можно маржин-колл поймать.
В советнике необходимо сделать открытие отложенного ордера на расстоянии от цены, и что бы расстояние можно было отрегулировать в пунктах.
Судя по Вашему выражению :«Приделайте плиз стопоывые ордера.
Я вижу что только на этом ресурсе смогут сделать. На остальных дилетанты, которым не простота, а извращенная вычурность нужна.»
Вы относите себя как минимум к профессионалам?
Тогда зачем Вы здесь со своей просьбой?
Специально использовал решения Андрея. Все взято из советников из базы файлов.
Вам уже и ссылки давали, а Вы все игнорировали.
Лень было искать? Или халява слаще?
С таким подходом Вам здесь вряд ли кто то поможет в дальнейшем.
Редактирован: 21 мая 2020, 18:40
Каждый силен в своей сфере. с кодом я никак не дружу «смотрю в „книгу вижу фигу“. Могу только нормально настроить готовый продукт.
Не прошу каких то жизненных поучений. Первый раз вижу тут „поучения“
Советник взял с другого форума, но там автор сказал что это слишком геморно доработать и не будет.
Вот и обращаюсь сюда, где наблюдал нормальное отношение.
Те ссылки которые тут выложили, они ни на что не влияют.
Поэтому прошу по человечески просто сделать открытие STOP ордера на расстоянии от цены.
Так Вам я уже сделал то что Вы хотите. Как я понял из Ваших сумбурных пожеланий.Скопируйте блоки что я выложил и замените ими такие же блоки из Вашего советника. Это всего три блока:
-внешние настройки,
-функция открытия позиций и ордеров (void PutOrder(int type,double price)),
-функция void OnTick().
Просто уберите (за комментируйте) старые и добавьте те, что я выложил.
Советник будт по сигналу открывать позицию бай(селл) и сразу выставлять ордер селлстоп(байстоп)
//--- стоповые в обратную сторону первой позиции
if(CountTrades()<1 && TimeSession(StartHour,StartMin,EndHour,EndMin,TimeCurrent()) && TimeBar<Time[0])
{
if(Ask<EDN)
{
PutOrder(0,Ask); TimeBar=Time[0]+Period()*TaimOut*60;
if(Sellstop) PutOrder(5,Bid-Step_stop*_Point);
}
if(Bid>EUP)
{
PutOrder(1,Bid); TimeBar=Time[0]+Period()*TaimOut*60;
if(Buystop)PutOrder(4,Ask+Step_stop*_Point);
}
}
//---
Цена идет в нужную сторону получаете закрытие по тейку.
Цена пойдет не в сторону открытой позиции стоповый ордер заблокирует размер убытка.Получиться лок.
В настройках стоят триггеры использовать или не использовать стоповые ордера (оба или каждого по отдельности), кроме этого есть триггер использовать или нет усреднение.
С этим Вы надеюсь разберетесь: " Могу только нормально настроить готовый продукт."
А советник из другого форума, но состоит он из функции Андрея!
Так, что «гонит» Ваш «автор». И весь «гимор» в добавлении одной переменной в настройках — extern int Expiration = 5; // истечение
и двух строчек в главной функции
Slava78, спасибо!
Я просто сделал то, что хотел nixepace.Как я понял ему был нужен страховочный ордер для фиксации убытка (лок).
Это очередной канальный советник со всеми его плюсами и минусами.
Еще можно и так
<code>//--- стоповые в обратную сторону первой позиции
if(CountTrades()<1 && TimeSession(StartHour,StartMin,EndHour,EndMin,TimeCurrent()) && TimeBar<Time[0])
{
if(Ask<EDN)
{
PutOrder(0,Ask); TimeBar=Time[0]+Period()*TaimOut*60;
if(Buylimit)PutOrder(2,Ask-Step_stop*_Point);
if(Sellstop) PutOrder(5,Bid-Step_stop*_Point);
}
if(Bid>EUP)
{
PutOrder(1,Bid); TimeBar=Time[0]+Period()*TaimOut*60;
if(Selllimit)PutOrder(3,Bid+Step_stop*_Point);
if(Buystop) PutOrder(4,Ask+Step_stop*_Point);
}
}
//--- </code>
Комментарии (23)
35 AM2 Сообщений: 16665 - Андрей
ТЗ в то что бы оставить все как есть.
Но нужно что бы открытие ордера было не по маркету, создание стопового ордера.
Другой советник который переносит ордера, поможет не летящий нож поймать, а хотя бы выйти с прибылью из отскока.
п.с.
Долго ждал что б это написать, извините что не понятно.
5 nixepace Автор Сообщений: 41 - ОН
Пишите подробное техзадание и внятным языком.
Скриншоты с примерами очень желательны.
24 ShamanHand Сообщений: 1092 - Наношу добро, причиняю пользу.
5 nixepace Автор Сообщений: 41 - ОН
20 Boris54 Сообщений: 827 - ПенSионер
Когда цена выходит за границу встроенного индикатора enelopes
сразу открывается ордер в обратном направлении.
Далее по стандарту, ставится заранее настроенные TP, SL.
То что не работает безубыток и трал, это можно пережить.
Проблема в том что цена иногда очень сильно разгонятся, то срывает стопы, а если их нет, то можно маржин-колл поймать.
В советнике необходимо сделать открытие отложенного ордера на расстоянии от цены, и что бы расстояние можно было отрегулировать в пунктах.
5 nixepace Автор Сообщений: 41 - ОН
zakaz.opentraders.ru/52712.html
20 Boris54 Сообщений: 827 - ПенSионер
12 Slava78 Сообщений: 598
Всё это не походит
5 nixepace Автор Сообщений: 41 - ОН
12 Slava78 Сообщений: 598
12 Slava78 Сообщений: 598
Я вижу что только на этом ресурсе смогут сделать.
Редактирован: 22 мая 2020, 00:11
5 nixepace Автор Сообщений: 41 - ОН
12 Slava78 Сообщений: 598
16 ssg Сообщений: 817
16 ssg Сообщений: 817
<code>//+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { double ma=iMA(NULL,0,MAPeriod,0,0,0,Shift); double EUP=iEnvelopes(Symbol(),0,EPeriod,Method,Shift,Price1,Dev,1,1); double EDN=iEnvelopes(Symbol(),0,EPeriod,Method,Shift,Price1,Dev,2,1); if(BULevel>0) BU(); if(TrailingStop>0) Trailing(); if(AllProfit()>Profit && Profit>0) CloseAll(); if(AllProfit()<-Loss && Loss>0) CloseAll(); //--- стоповые в обратную сторону первой позиции if(CountTrades()<1 && TimeSession(StartHour,StartMin,EndHour,EndMin,TimeCurrent()) && TimeBar<Time[0]) { if(Ask<EDN) { PutOrder(0,Ask); TimeBar=Time[0]+Period()*TaimOut*60; if(Sellstop) PutOrder(5,Bid-Step_stop*_Point); } if(Bid>EUP) { PutOrder(1,Bid); TimeBar=Time[0]+Period()*TaimOut*60; if(Buystop)PutOrder(4,Ask+Step_stop*_Point); } } //--- if(Usredn) { if(CountTrades()>0 && CountTrades()<Count) { if(FindOrderType()==0 && (FindLastBuyPrice()-Ask)/_Point>=Step) PutOrder(0,Ask); if(FindOrderType()==1 && (Bid-FindLastSellPrice())/_Point>=Step) PutOrder(1,Bid); } } if(CloseSig>0) { if(Bid>ma) CloseAll(0); if(Ask<ma) CloseAll(1); } Comment("\n Lot: ",Lot(), "\n Trades: ",CountTrades(), "\n Profit: ",AllProfit()); } //+------------------------------------------------------------------+ </code>Редактирован: 21 мая 2020, 18:2516 ssg Сообщений: 817
Я вижу что только на этом ресурсе смогут сделать. На остальных дилетанты, которым не простота, а извращенная вычурность нужна.»
Вы относите себя как минимум к профессионалам?
Тогда зачем Вы здесь со своей просьбой?
Специально использовал решения Андрея. Все взято из советников из базы файлов.
Вам уже и ссылки давали, а Вы все игнорировали.
Лень было искать? Или халява слаще?
С таким подходом Вам здесь вряд ли кто то поможет в дальнейшем. Редактирован: 21 мая 2020, 18:40
16 ssg Сообщений: 817
Не прошу каких то жизненных поучений. Первый раз вижу тут „поучения“
Советник взял с другого форума, но там автор сказал что это слишком геморно доработать и не будет.
Вот и обращаюсь сюда, где наблюдал нормальное отношение.
Те ссылки которые тут выложили, они ни на что не влияют.
Поэтому прошу по человечески просто сделать открытие STOP ордера на расстоянии от цены.
5 nixepace Автор Сообщений: 41 - ОН
-внешние настройки,
-функция открытия позиций и ордеров (void PutOrder(int type,double price)),
-функция void OnTick().
Просто уберите (за комментируйте) старые и добавьте те, что я выложил.
Советник будт по сигналу открывать позицию бай(селл) и сразу выставлять ордер селлстоп(байстоп)
Цена идет в нужную сторону получаете закрытие по тейку.
Цена пойдет не в сторону открытой позиции стоповый ордер заблокирует размер убытка.Получиться лок.
В настройках стоят триггеры использовать или не использовать стоповые ордера (оба или каждого по отдельности), кроме этого есть триггер использовать или нет усреднение.
С этим Вы надеюсь разберетесь: " Могу только нормально настроить готовый продукт."
А советник из другого форума, но состоит он из функции Андрея!
Так, что «гонит» Ваш «автор». И весь «гимор» в добавлении одной переменной в настройках — extern int Expiration = 5; // истечение
и двух строчек в главной функции
16 ssg Сообщений: 817
12 Slava78 Сообщений: 598
Я просто сделал то, что хотел nixepace.Как я понял ему был нужен страховочный ордер для фиксации убытка (лок).
Это очередной канальный советник со всеми его плюсами и минусами.
Еще можно и так
<code>//--- стоповые в обратную сторону первой позиции if(CountTrades()<1 && TimeSession(StartHour,StartMin,EndHour,EndMin,TimeCurrent()) && TimeBar<Time[0]) { if(Ask<EDN) { PutOrder(0,Ask); TimeBar=Time[0]+Period()*TaimOut*60; if(Buylimit)PutOrder(2,Ask-Step_stop*_Point); if(Sellstop) PutOrder(5,Bid-Step_stop*_Point); } if(Bid>EUP) { PutOrder(1,Bid); TimeBar=Time[0]+Period()*TaimOut*60; if(Selllimit)PutOrder(3,Bid+Step_stop*_Point); if(Buystop) PutOrder(4,Ask+Step_stop*_Point); } } //--- </code>Иногда захожу на форум где вы с Маратом канальные индикаторы пытаете. Редактирован: 22 мая 2020, 16:50
16 ssg Сообщений: 817
12 Slava78 Сообщений: 598
Сразу не понял что за коды.
Однажды уже пытался сделать подобное, ничего не вышло.
5 nixepace Автор Сообщений: 41 - ОН
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий