Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
быстрая модификация советника
Здравствуйте,
Нужна помощь, я пытался изменить приведенный ниже код, но советник продолжал рушиться в MT4.
Я хочу, чтобы ордер закрывался, когда закроется текущий бар (то есть бар, на котором был исполнен ордер). По сути, торговля на одном баре.
Это оригинальный код, он торгует от сигнала к сигналу.
//| Signal Begin(Exit Buy) |
//+------------------------------------------------------------------+
if (signaldown!=EMPTY_VALUE&&signaldown!=0) Order = SIGNAL_CLOSEBUY;
//+------------------------------------------------------------------+
//| Signal End(Exit Buy) |
//+------------------------------------------------------------------+
if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
continue;
}
//Trailing stop
if(UseTrailingStop && TrailingStop > 0) {
if(Bid - OrderOpenPrice() > Point * TrailingStop) {
if(OrderStopLoss() < Bid - Point * TrailingStop) {
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
} else {
//Close
//+------------------------------------------------------------------+
//| Signal Begin(Exit Sell) |
//+------------------------------------------------------------------+
if (signalup!=EMPTY_VALUE&&signalup!=0) Order = SIGNAL_CLOSESELL;
//+------------------------------------------------------------------+
//| Signal End(Exit Sell) |
//+------------------------------------------------------------------+
if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell");
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
continue;
}
//Trailing stop
if(UseTrailingStop && TrailingStop > 0) {
if((OrderOpenPrice() - Ask) > (Point * TrailingStop)) {
if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {
OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
}
}
}
//+------------------------------------------------------------------+
//| Signal Begin(Entry) |
//+------------------------------------------------------------------+
//if (timeprev!=Time[0]){
// timeprev = Time[0];
if (signalup!=EMPTY_VALUE&&signalup!=0)
{
Order = SIGNAL_BUY;
}
if (signaldown!=EMPTY_VALUE&&signaldown!=0){
Order = SIGNAL_SELL;
}
// }
//+------------------------------------------------------------------+
//| Signal End |
//+------------------------------------------------------------------+
//Buy
if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (100 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("BUY order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy");
} else {
Print("Error opening BUY order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}
//Sell
if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (100 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", MagicNumber, 0, DeepPink);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("SELL order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
} else {
Print("Error opening SELL order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}
if (!EachTickMode) BarCount = Bars;
return(0);
}
//+------------------------------------------------------------------+Кто-нибудь может мне помочь?
Пожалуйста, помогите!!!!!
Мне нужна ea, которая делает следующее
в определенное время устанавливает 4шт ордера на покупку или продажу
функции:
время открытия ордера (переменная 00-24)
ордер1 продажа или покупка лота (0.01 .0,02... 1) TP (+ xx пипсов от опена) SL (- xx пипсов от открытия)
ордер2 продажа или покупка лота (0.01 .0,02... 1) TP (+ xx пунктов от оппонента) SL (- xx пунктов от открытия)
ордер3 продать или купить лот (0.01 .0,02... 1) TP (+ xx пунктов от опп) SL (- xx пунктов от открытия)
ордер4 продать или купить лот (0.01 .0,02... 1) TP (+ xx пипсов от оппена) SL (- xx пипсов от открытия)
СПАСИБО
Нужно добавить в советник код для отключения при определенном уровне цен
Здравствуйте,
Мне нужно добавить в мой советник код для отключения и включения его на определенных ценовых уровнях.
Я искал и нашел, что я могу сделать это с помощью
# iclude<WinUser32mqh
extern bool Disable Ea = true // от X (examply1.4420) до Y (examply1.4380) и от Z (examply1.4480) до N (examply1.4520) // //
extern bool Enable Ea = true // от R(examply -1.4420) до T(examply -1.4480)
Буду признателен за помощь в переводе этих условий в код, чтобы в диалоговом окне советника я мог просто ввести уровень цены для отключения / включения советника.
После некоторых поисков и исследований я обнаружил, что написание в функции запуска советника кода запускает его при определенных условиях.
Поэтому в функции запуска эксперта я написал следующее:
if(PRICE_MEDIAN (SellLevel-Point*BufferPips))
return (0)
------------------------------------------------------------------------------------------------------------------
BufferPips я добавил в extern double, чтобы в диалоговом окне я мог изменять его значение.
Я не уверен, что PRICE_MEDIAN является хорошим выбором.
Я получаю ошибку компиляции - несбалансированная левая скобка.
За помощь благодарен
помогите мне с автотрейдингом
Здравствуйте, господин Гуру!
У меня есть автотрейдинг, но он не запускается, пожалуйста, помогите мне!
Привет, Марио,
Я думаю, что это условие if(current_shortEma == current_longEma)
никогда не является истинным. Обычно для обнаружения креста нужно сделать следующее
if(current_shortEma > current_longEma && last_shortEma < last_longEma){
//кросс снизу
}
if(current_shortEma last_longEma){
//пересечение сверху
}
Более подробная информация здесь:
https://www.mql5.com/en/forum/trading_systems
Спасибо
Михаил
У меня тоже есть запрос на кодирование ---- нужен кодер (очень простая задача).
Мы знаем, что HA - хенки аши редко ошибается.
во время консолидации, или почти разворота, он будет становиться все короче и короче.
В то время как когда тренд все еще силен, HA для этого бара будет ДЛИННЫМ.
СЛЕДОВАТЕЛЬНО,
было бы здорово, если бы у нас был индикатор, который говорит нам о силе тренда.
идея проста
--- во-первых, это должен быть любой HA (я прилагаю только свой ex4, но нужно найти MQ4 - для HA) и модифицировать его (простая задача, я полагаю)
есть только 2 цвета для НА, один синий * вверх ---- + ---- и один розовый/фиолетовый * вниз
--- во-вторых, когда НА должен нарисовать НА на схеме, есть LENGTH - длина этого НА.
--- в-третьих, при приближении к развороту, полоса НА будет становиться все короче и короче
допустим, когда ДЛИНА полосы НА (методом проб и ошибок) короче 0.4 см, то мы рисуем ее ЧЕРНОЙ (т.е. не голубой/розовой).
он предупредит нас НЕ ВХОДИТЬ и вскоре выйдет.
Таким образом, мы просто должны входить (без страха) в соответствии с силой тренда HA --- как и моя другая идея, очень простая и чрезвычайно полезная.
кодер - пожалуйста, не используйте ex4, который я прилагаю, просто нажмите [ПОИСК] на форуме и введите henki ashi, найдите MQ4 со всем кодом.
------
когда вы закончите или после того, как вы измените его на 3 до 4 цвета (может быть 3 цвета, а не 4 цвета)
Пожалуйста, отправьте мне личное сообщение PM с ссылкой, чтобы я мог загрузить его, после того, как вы начнете, если вы хотите, я могу дать вам другой индикатор, который скажет вам, что является лучшим временем, чтобы изменить цвет на ЧЕРНЫЙ тоже - черный является своего рода предупреждающим цветом.
----- т.е. вы можете СКАЧАТЬ ex4, который я приложил, но использовать другой MQ4 pls ---.
Спасибо, это будет хорошим индикатором для всех нас, и кодирование должно быть довольно простым и понятным.
код находится в начале, подобно приведенной выше диаграмме
если моя догадка верна, g_ibuf_## управляет длиной полосы HA
мы просто должны вывести все значения g_ibuf с помощью функции "comment".
затем запустить график на несколько дней, и посмотреть на значение g_ibuf, когда оно станет маленьким, и отметить VALUE этой переменной
затем, когда у нас есть временной интервал для кодирования, мы просто кодируем от 1 до 2 цветов - скажем, черный и темно-серый, когда гистограмма g_ibuf становится МЕНЬШЕ определенного отмеченного значения.
Так что это должно быть просто - в противном случае, можно попробовать методом проб и ошибок найти наиболее подходящее значение (которое будет меньше).
искренне
xx3xxx -- Я загрузил свой MQ4 для версии 4 там, я думаю, вы можете использовать этот, это, кажется, длиннее и толще, чем другие HA, которые у меня есть
Индикатору Trix нужно оповещение
Coder Guru или кто-либо другой, можете ли вы запрограммировать звуковое оповещение, оповещение и оповещение по почте t3_trix_x2roc_clr_nrp_mtf.mq4t3_trix_x2roc_clr_nrp_mtf.mq4e в этом индикаторе Trix, когда долгосрочная или краткосрочная линия Trix меняет цвет с красного на зеленый или наоборот. Спасибо