Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Проблема с безубытком и трейлинг-стопом
Здравствуйте,
Я изучаю кодинг по учебнику MQL4 от Codersguru, и я работаю над "My_First_EA". Это действительно мой первый советник. Он работает очень хорошо, но я пытаюсь написать безубыточный стоп и не могу понять, как это сделать. Проблема в том, что безубыточный стоп следует за ценой так же, как и трейлинг-стоп. Я хочу, чтобы начальный стоплосс двигался, чтобы сохранить 1 пункт прибыли, когда я делаю 15 пунктов (например), затем я хочу, чтобы стоплосс оставался на уровне безубыточного стопа (1 пункт прибыли), пока трейлинг-стоп не начнет работать при прибыли в 25 пунктов. Затем я хочу, чтобы трейлинг-стоп работал как обычно, перемещаясь с каждым пунктом прибыли. Я думаю, что проблема может быть в "OrderStopLoss()", но я больше ничего не знаю. Мой мозг превратился в кашу. Спасибо
Вот соответствующий код, который я сделал:
extern double TrailingStop=25.0;
extern double BreakEvenProfit=15;
extern double BreakEvenStop=1;
......................
мой код входа и открытия ордеров здесь работает нормально
......................
for (cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderType()<=OP_SELL&&OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)//Длинная позиция открыта
{
//должна ли она быть закрыта?
if (FSAR > FMA) //мой сигнал на выход
{
//---- ЗАКРЫТЬ ДЛИННУЮ ПОЗИЦИЮ
OrderClose(OrderTicket(),OrderLots(),Bid,3,Magenta);
return(0);//выход
}
////////////////////ЭТО ПРОБЛЕМНАЯ ОБЛАСТЬ НИЖЕ/////////
//---- ПРОВЕРКА НА БЕЗУБЫТОЧНОСТЬ СТОП ДЛИННОЙ ПОЗИЦИИ------
if (Bid-OrderOpenPrice() > BreakEvenProfit*Point)
{
if (OrderStopLoss() < OrderOpenPrice()+ BreakEvenStop*Point)
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice() + BreakEvenStop*Point,OrderTakeProfit(),0,Yellow);
return(0);
}
}
//----- ЗДЕСЬ ВСЕ РАБОТАЕТ КАК ТИПИЧНЫЙ ТРЕЙЛИНГ-СТОП.
//---- проверка трейлинг-стопа ДЛИННАЯ ПОЗИЦИЯ
if(TrailingStop>0){
if (Bid-OrderOpenPrice()>Point*TrailingStop)
{
if (OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Yellow);
return(0);
}
}
}
}
else//переход в короткую позицию
RSI (гистограмма) с цветовой индикацией
Я ищу RSI (гистограмму), цвет которой будет меняться, когда значение больше или меньше предыдущего бара. У кого-нибудь есть такая программа? Заранее спасибо.
Установить осцилляцию.
Я сделал индикатор, в котором значение гистограммы основано на пунктах. Мне интересно, как я могу заставить ее колебаться между -50 и 50, чтобы она была основана на процентах.
Интересный пост!!!
Привет, ребята...
Я нашел это сообщение на другом форуме:
If you have any idea please write to me: fancofx@libero.it
Он опубликовал его в сентябре 2005 года. Я послал ему письмо и попросил его советника. Есть какая-нибудь информация об этом парне? ....
'маленький депозит' и 'каждый брокер'
Я посетил множество форумов и сайтов, пытаясь найти следующее:
1. Советник или стратегия, работающая на малом размере депозита (менее 500, например);
Я не нашел.
2. Советник или некоторые части кодов, которые нужно вставить в советник, чтобы он работал почти у всех брокеров с одинаковыми результатами. Я имею в виду, как улучшить советника, чтобы он давал одинаковые результаты почти у всех брокеров?
Все, что я нашел, это использование отложенных ордеров. И некоторые люди используют таймфрейм D1.
Я постараюсь найти все. Но, может быть, у членов клуба есть какие-то предложения по этому поводу?
нужна помощь!
привет всем.
мне нужен конкретный индикатор, который будет показывать мне максимум и минимум за час 4 часа и за день.
У меня нет опыта программирования и я бы хотел такой индикатор, если он существует или если кто-то может сделать его для меня, это было бы здорово.
индикатор, который я взял некоторое время назад, мне нужно, чтобы он автоматически обновлялся, и я понятия не имею, как это сделать.
Я прикрепил индикатор, который я хотел бы обновлять.
заранее спасибо
благословит бог~
Как эксперты и индикаторы
привет всем
У меня есть один эксперт (MyExpert) и один пользовательский индикатор (MyIndicator).
мне нужно в коде MyExpert
============================================
int init()
{
... другой код ...
if (MyIndicator размещен на графике)
{
настроить параметры (MyIndicator ) для MyExpert
}
else
{
добавить MyIndicator на график и
настроить параметры (MyIndicator ) для MyExpert
}
... больше кода ...
return (0);
}
int deinit()
{
... еще один код ...
if (MyIndicator размещен на графике)
{
удалить индикатор
}
... еще код ...
return (0);
}
============================================
спасибо за помощь...
Чарльз
Необходим код проскальзыванияреквот
Я недавно перешел с IBFX на MIG. Одна из проблем, с которой я столкнулся, заключается в том, что мне часто дают цену реквота! Я изменил проскальзывание на 0, и кажется, что мои ордера исполняются только в 60% случаев. Мне интересно, знает ли кто-нибудь, как изменить код, чтобы он принимал реквот, если он идет в более благоприятном направлении (вниз, если я закрываю продажу или открываю покупку и т.д.), но отклонял его, если цена реквота идет в другом направлении.
Если никто не знает, как это сделать, у меня есть несколько идей, которые я хотел бы попробовать и которые я могу опубликовать здесь, если придумаю, но это может никогда не сработать, поэтому я надеюсь, что кто-то еще здесь знает, как это сделать. Спасибо за помощь!
советник по стрэддлам?
Здравствуйте,
Мне нужна помощь в написании советника с идеей стрэддла:
Если условие (допустим, EMA пересекается), то открываем два ордера (buy stop и sell stop) каждый на расстоянии 10 пунктов от текущего Bid/Ask спреда. Затем, если один ордер открыт, не отменяйте сразу же другой. Если открытый ордер сделал достаточное движение (например, 20-30 пунктов), отмените другой ордер. Но если открытый ордер закрылся с использованием трейлинг-стопа, скажем, на 20 пунктов, то немедленно модифицируйте другой ордер, чтобы он сразу же открылся.
Спасибо
нужно ли мне рассчитывать предыдущие данные каждый раз, когда я получаю новую котировку?
В советнике, если я очень много рассчитываю по данным предыдущих палочек, и вывод влияет на текущий расчет, нужно ли мне рассчитывать предыдущие данные каждый раз, когда я получаю новую котировку?