![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я хочу научиться пользоваться этим инструментом. http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/
Я создал советника, скомпилировал его и получил эти 6 ошибок...
'.' - ожидается инициализация C:\Program Files\Interbank FX Trader 4\experts\macdstochma5m.mq4 (16, 22)
'1' - ожидается запятая или точка с запятой C:\Program Files\Interbank FX Trader 4\experts\macdstochma5m.mq4 (16, 23)
'Lots' - переменная не определена C:\Program Files\Interbank FX Trader 4\experts\macdstochma5m.mq4 (179, 44)
'Lots' - переменная не определена C:\Program Files\Interbank FX Trader 4\experts\macdstochma5m.mq4 (187, 47)
'Lots' - переменная не определена C:\Program Files\Interbank FX Trader 4\experts\macdstochma5m.mq4 (206, 44)
'Lots' - переменная не определена C:\Program Files\Interbank FX Trader 4\experts\macdstochma5m.mq4 (214, 48)
не мог бы кто-нибудь помочь мне исправить эти ошибки, я только что научился компилировать, но не знаю, как кодировать.
вот код ...
//+------------------------------------------------------------------+
//| Этот MQL генерируется Expert Advisor Builder |
//| http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/ |
//| |
//| Ни при каких обстоятельствах автор не несет ответственности за какие-либо убытки. |
//| Используйте на свой страх и риск. |
//| |
//| Пожалуйста, не удаляйте этот заголовок. |
//+------------------------------------------------------------------+
#property copyright "Expert Advisor Builder"
#property link "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/"
extern int MagicNumber = 0;
extern bool SignalMail = False;
extern bool EachTickMode = False;
extern double Lots = .1;
extern int Slippage = 3;
extern bool StopLossMode = True;
extern int StopLoss = 12;
extern bool TakeProfitMode = True;
extern int TakeProfit = 90;
extern bool TrailingStopMode = True;
extern int TrailingStop = 12;
#define SIGNAL_NONE 0
#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4
int BarCount;
int Current;
bool TickCheck = False;
//+------------------------------------------------------------------+
//| функция инициализации эксперта |
//+------------------------------------------------------------------+
int init() {
BarCount = Bars;
if (EachTickMode) Current = 0; else Current = 1;
return(0);
}
//+------------------------------------------------------------------+
//| функция деинициализации эксперта ||.
//+------------------------------------------------------------------+
int deinit() {
return(0);
}
//+------------------------------------------------------------------+
//| функция запуска эксперта |
//+------------------------------------------------------------------+
int start() {
int Order = SIGNAL_NONE;
int Total, Ticket;
double StopLossLevel, TakeProfitLevel;
if (EachTickMode && Bars != BarCount) TickCheck = False;
Total = OrdersTotal();
Order = SIGNAL_NONE;
//+------------------------------------------------------------------+
//| Начало переменной |
//+------------------------------------------------------------------+
double Buy1_1 = iCustom("EURUSD", PERIOD_M1, "StepMA_Stoch", 2, 1, 0, 1, Current + 0);
double Buy1_2 = iCustom("EURUSD", PERIOD_M1, "StepMA_Stoch", 5, 1, 0, 1, Current + 0);
double Buy2_1 = iCustom("EURUSD", PERIOD_M1, "StepMA_Stoch", 9, 1, 0, 1, Current + 0);
double Buy2_2 = iCustom("EURUSD", PERIOD_M1, "StepMA_Stoch", 9, 1, 0, 1, Current + 1);
double Buy3_1 = iMACD("EURUSD", PERIOD_M1, 4, 9, 7, PRICE_CLOSE, MODE_SIGNAL, Current + 0);
double Buy3_2 = iMACD("EURUSD", PERIOD_M1, 4, 9, 7, PRICE_CLOSE, MODE_SIGNAL, Current + 1);
double Buy4_1 = iMA("EURUSD", PERIOD_M1, 2, 0, MODE_EMA, PRICE_CLOSE, Current + 0);
double Buy4_2 = iMA("EURUSD", PERIOD_M1, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double Sell1_1 = iCustom("EURUSD", PERIOD_M1, "StepMA_Stoch", 2, 1, 0, 1, Current + 0);
double Sell1_2 = iCustom("EURUSD", PERIOD_M1, "StepMA_Stoch", 5, 1, 0, 1, Current + 0);
double Sell2_1 = iCustom("EURUSD", PERIOD_M1, "StepMA_Stoch", 9, 1, 0, 1, Current + 0);
double Sell2_2 = iCustom("EURUSD", PERIOD_M1, "StepMA_Stoch", 9, 1, 0, 1, Current + 1);
double Sell3_1 = iMACD("EURUSD", PERIOD_M1, 4, 9, 7, PRICE_CLOSE, MODE_SIGNAL, Current + 0);
double Sell3_2 = iMACD("EURUSD", PERIOD_M1, 4, 9, 7, PRICE_CLOSE, MODE_SIGNAL, Current + 1);
double Sell4_1 = iMA("EURUSD", PERIOD_M1, 2, 0, MODE_EMA, PRICE_CLOSE, Current + 0);
double Sell4_2 = iMA("EURUSD", PERIOD_M1, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double CloseBuy1_1 = iMA("EURUSD", PERIOD_M1, 2, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double CloseBuy1_2 = iMA("EURUSD", PERIOD_M1, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double CloseSell1_1 = iMA("EURUSD", PERIOD_M1, 2, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double CloseSell1_2 = iMA("EURUSD", PERIOD_M1, 5, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
//+------------------------------------------------------------------+
//| Конец переменной |
//+------------------------------------------------------------------+
//Проверка позиции
bool IsTrade = False;
for (int i = 0; i < Total; i ++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {
IsTrade = True;
if(OrderType() == OP_BUY) {
//Close
//+------------------------------------------------------------------+
//| Сигнал Begin(Exit Buy)|
//+------------------------------------------------------------------+
if (CloseBuy1_1 < CloseBuy1_2) Order = SIGNAL_CLOSEBUY;
//+------------------------------------------------------------------+
//| Сигнал Окончание(Выход из покупки) |
//+------------------------------------------------------------------+
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;
}
//Трейлинг-стоп
if(TrailingStopMode && 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
..... продолжение в следующем постеПривет, Аарагорн.
Попробуйте изменить Lots= .1 на Lots= 0.1
какая разница, что один "0" может сделать!
Теперь он не показывает ошибок, и в окне навигатора он теперь цветной, а не серый.
Далее я попытался провести бэктест с помощью тестера, но он не показывает никаких результатов,
в отчете одни нули, ни графика, ничего.![](https://c.mql5.com/forextsd/smiles/confused_smile.png)
Сообщение во вкладке журнала гласит...
2006.06.13 11:58:15 macdstochma5m inputs: MagicNumber=0; Lots=0.1; Slippage=3; StopLoss=12; TakeProfit=90; TrailingStop=12;
CCI крест с нулевой линией
Я искал это на множестве сайтов в сети, конечно же гуглил, а также искал на форумах тоже более 5 часов.
Не мог бы кто-нибудь выложить индикатор CCI со звуковым оповещением о пересечении нулевой линии.
Очень просто и нигде не найти...![](https://c.mql5.com/forextsd/smiles/frown.png)
спасибо,
Кто-нибудь, пожалуйста, опубликуйте полный код для этого, а не просто несколько случайных слов, предполагая, что я должен знать, куда поместить этот кусочек кода или как переплести его с кодом, который у меня уже есть, так, чтобы он действительно работал. Если вы хотите, вы можете сделать так, чтобы на графике сверху тоже были стрелки, но это не главное. Просто иметь возможность возиться по дому или играть в игры из-за звукового оповещения без необходимости смотреть на график 12 часов в сутки будет для меня достаточно.
спасибо,
продолжение предыдущего поста...
удалено
у меня два простых вопроса...
как сделать так, чтобы толщина свечей heiken ashi по умолчанию была 5, а не 3? Каждый раз, когда я создаю новый график, они возвращаются к 3.
Также, как я могу сделать отметку выше или ниже свечи в зависимости от значения индикатора RSI?
Я немного понимаю в программировании, но не знаю синтаксис этого... так что действуйте так, как будто я ничего не знаю.![](https://c.mql5.com/forextsd/smiles/angel_smile.png)
Большое спасибо. Если я что-то узнаю, я напишу об этом.![](https://c.mql5.com/forextsd/smiles/nerd.png)
PS этот конструктор советников хорош, но есть ли в нем и конструктор ИНДИКАТОРОВ? Это было бы потрясающе.
Привет всем...
Я сделал советника, который торгует двумя разными валютами. И мне нужна функция, которая закрывает все сделки по обеим валютам, если они обе достигли х суммы прибыли.
Я попробовал этот пример:
http://www.metatrader.info/node/99
Но функция CloseAll(), похоже, работает только с валютой на графике, к которому прикреплен советник.
Как сделать так, чтобы функция CloseAll() работала со всеми открытыми сделками, даже с валютами, не привязанными к графику советника?
Всем привет...
Я создал советника, который торгует двумя разными валютами. И мне нужна функция, которая закрывает все сделки по обеим валютам, если они обе достигли х суммы прибыли.
Я попробовал этот пример:
http://www.metatrader.info/node/99
Но функция CloseAll(), похоже, работает только с валютой на графике, к которому прикреплен советник.
Как сделать так, чтобы функция CloseAll() работала со всеми открытыми сделками, даже с валютами, не привязанными к графику советника?Нет, функция CloseAll должна закрывать все открытые ордера!
Вы пробовали?
Нет, функция CloseAll должна закрыть все открытые ордера! Вы пробовали?
Да, я пробовал...
Но я не использовал магическое число для своего советника, возможно, в этом проблема.
Может быть, он работает, если я использую магическое число?
Хм...
Я тестировал множество различных способов закрытия ордеров, но советник, похоже, закрывает только ту валюту, к которой привязан советник. Может быть, есть какой-то способ использовать SYMBOL для закрытия всех ордеров...
У кого-нибудь есть идеи?
Глюктестера стратегий.....пожалуйста, помогите...
У меня есть друг, с которым мы обмениваемся советниками туда-сюда и тестируем их в тестере стратегий. Точно такой же код выполняется на его демо и не выполняется на моей.
Когда я делаю это на своей, все, что я получаю в журнале, это...
2006.06.15 13:00:21 38matrailing inputs: MagicNumber=0; Lots=1; Slippage=3; StopLoss=5; TakeProfit=60; TrailingStop=10;
2006.06.15 13:00:09 38matrailing: успешно загружен
затем все остальные вкладки показывают только нули или пустые.
На демо-счете журнал показывает то, что я получаю, но затем он запускается во все сделки, которые он выполняет. Что может быть? Пожалуйста, помогите!![](https://c.mql5.com/forextsd/smiles/confused_smile.png)