Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо, Калензо,
Я пробовал с OP_BUYLIMIT, но это не работает.
Я попробую с OP_BUYSTOP.
быстрый вопрос по кодированию
Как вы помещаете горизонтальную линию на экране на среднем значении (всех цен закрытия)? Есть ли для этого специальный код?
простой пробойный советник
//| SimpleBreakoutEA.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright "jjk2"
#property link ""
//---- input parameters
extern int ____TIME_RANGE____;
extern int TimeRange = 1; // # of Hours to look back from TimeEnd. ex) if breakout is @ 22:00 GMT to 23:00 GMT. Total TimeRange to lookback is 8 hrs.
extern int TimeBegin = 22;
extern int TimeEnd = 23;
extern int CancelTime = 20; // ALL REMAINING ORDERS WILL BE CANCELED AT THIS INDICATED TIME.
extern int ______FILTERS______;
extern int TriggerFilter = 0;
extern bool AllowBreakEven = True;
extern int ______ORDERS______;
extern double Lots = 0.1;
extern int StopLoss = 50;
extern int TakeProfit = 100;
extern int Slippage = 2;
extern int MagicNumber = 23423;
int init()
{
return(0);
}
int deinit()
{
return(0);
}
int start()
{
// OPEN ORDERS @ HIGH/LOW from TIMEBEGIN to TimeEND
if (Hour() >= TimeBegin-1 && Hour() >= TimeEnd)
{
int HH = iHighest(NULL, 0, MODE_HIGH,TimeRange,0);
int LL = iLowest(NULL, 0, MODE_LOW,TimeRange,0);
}
double SL_High = Ask - (StopLoss * Point);
double SL_Low = Bid + (StopLoss*Point);
double TP_High = Ask + (TakeProfit*Point);
double TP_Low = Bid - (TakeProfit*Point);
if ( Ask > HH + TriggerFilter) OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, SL_High, TP_High, "Breakout Buy", MagicNumber, NULL, Blue);
if ( Bid < LL + TriggerFilter) OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, SL_Low, TP_Low, "Breakout Sell", MagicNumber, NULL, Red);
// MOVE SL @ BreakEven if allowed. MarketPrice distance Open Price > stop*point, then stop must equal to MarketPrice - Stop*point as new stoploss.
int total = 0;
if ( AllowBreakEven == True )
{
for(total = OrdersTotal() - 1; total >= 0; total--)
{
OrderSelect(total, SELECT_BY_POS);
if ( Bid - OrderOpenPrice() > SL_High*Point )
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - SL_High*Point, OrderTakeProfit(),0, CLR_NONE);
if ( OrderOpenPrice() - Ask > SL_Low*Point )
OrderModify(OrderTicket(), OrderOpenPrice(), Ask + SL_Low*Point , OrderTakeProfit(),0, CLR_NONE);
}
}
return(0);
}
//+------------------------------------------------------------------+по какой-то причине он не работает.... кто-нибудь знает почему?
Как превратить индикатор в советника?
Здравствуйте, могу ли я узнать, как превратить индикатор в советника?
Многие индикаторы имеют знак стрелки при наступлении определенных условий, и я хотел бы протестировать их с помощью советника.
Я бы хотел, чтобы советник совершал сделку в соответствии с образовавшейся стрелкой.
Кто-нибудь может мне помочь? Спасибо.
Вот это в соответствии со стрелочным указателем
https://www.mql5.com/en/forum/173249/page51
Как насчет того, чтобы превратить прилагаемый индикатор в советника?
Кто-нибудь может помочь? Спасибо.
Структура кода
Здравствуйте,
Я новичок в Metatrader, но очень опытен в программировании. Я создал несколько примеров советников и несколько немного сложных индикаторов в MT. Не совсем понятно, как структурировать довольно сложный советник. Я хочу, чтобы советник вызывал некоторые "сигнальные" функции для проверки различных условий установки.
Как мне закодировать эти функции?
1. Как "встроенные" функции в советнике
2. Как "отдельные" индикаторы, которые возвращают значение, а не выводят его на экран?
3. какую-то другую "отдельную" функцию для вызова, например, вызов iMA.
Если я выберу вариант 1, может ли встроенная функция в советнике просмотреть последние 200 баров с помощью Close и вызвать iMA?
Альтернатива 2 - это нормально? При кодировании индикатора обрабатываются все "доступные" бары, что, конечно, не нужно для советника.
Альтернатива 3 кажется мне логичным выбором, но я не уверен, как ее структурировать, чтобы она работала в бэктестинге, и что мне нужно передать ей, и к чему функция имеет доступ по умолчанию, как, например, Close.
В качестве примера того, что мне нужно установить в функции "signal", можно привести текущий тренд и время его начала. Я закодировал это в индикаторе, так что я знаю, как сделать фактический код.
Благодарен за любой совет.
Ингвар
Привет,
Я новичок в Metatrader, но очень опытен в программировании. Я создал несколько примеров советников и несколько немного сложных индикаторов в MT. Не совсем понятно, как структурировать довольно сложный советник. Я хочу, чтобы советник вызывал несколько "сигнальных" функций для проверки различных условий установки.
Как мне закодировать эти функции?
1. Как "встроенные" функции в советнике
2. Как "отдельные" индикаторы, которые возвращают значение, а не выводят его на экран?
3. какую-то другую "отдельную" функцию для вызова, например, вызов iMA.
Если я выберу вариант 1, может ли встроенная функция в советнике просмотреть последние 200 баров с помощью Close и вызвать iMA?
Альтернатива 2 - это нормально? При кодировании индикатора обрабатываются все "доступные" бары, что, конечно, не нужно для советника.
Альтернатива 3 кажется мне логичным выбором, но я не уверен, как ее структурировать, чтобы она работала в бэктестинге, и что мне нужно передать ей, и к чему функция имеет доступ по умолчанию, как, например, Close.
В качестве примера того, что мне нужно установить в функции "signal", можно привести текущий тренд и время его начала. Я закодировал это в индикаторе, так что я знаю, как сделать фактический код.
Буду благодарен за любой совет.
ИнгварВозможно, вы уже знаете, как это сделать, так что извините, если это так.
Скользящая средняя текущего бара:
iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0);
Скользящее среднее 200 баров назад.
iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,200);
Вы можете вызывать скользящую среднюю с любого бара, от текущего до любого бара в прошлом.