
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте,
Как не крутился-не смог сделать,ето,что хотел
Корочие-вызиват другой буфер мувинга,вычислен на другую пару,чем остановлен индикатор.
Когда 0 наместо i(для бара)вижу результат,когда для бара(текущий= i )дает что не может найти данни для вторая пара.
График пары открыт,в окошке маркета есть символа-не пойму,где/что путаю?
Две разны е парый в один индикатор-так где моя ошибка?
Когда ставлю 0 ,вижу результат как комент,но линии не рисует-как не пробувал.
Уточнение: ma1 и ma2 на одна пара а ma3 и ma4 на другая пара.
Спосибо.
Во первых вы считаете от 0----->prev_calculated-1, а нужно от последнего посчитанного бара до rates_total
вот это:
поменяйте на это:
Второе я не очень разобрал, вы хотите получать мувинги с разных инструментов или разных таймфреймов, в коде я не нашёл ни того ни другого.
Доброго времени суток, господа!
Помогите, кто может, адаптировать под MT5 следующие индикаторы (прик-ые файлы).
За работу долларов 10 на пиво подкину.
Доброго времени суток, господа!
Помогите, кто может, адаптировать под MT5 следующие индикаторы (прик-ые файлы).
За работу долларов 10 на пиво подкину.
Urain,
Спосиба за Ваше внимание.
Вот полный код.Не смог сделать так что бы рисовал. Если сможете-поставьте здесь.
Прикольно,что в експерт делаю разные пары,разные фреймы-а один индикатор переписать-прикол.
//+------------------------------------------------------------------+
//| 2_2_v2.mq5 |
//| Yuriy Tokman |
//| yuriytokman@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Yuriy Tokman"
#property link "yuriytokman@gmail.com"
#property version "1.00"
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_plots 2
#property indicator_type1 DRAW_COLOR_LINE
#property indicator_type2 DRAW_COLOR_LINE
#property indicator_color1 clrBlue
#property indicator_color2 clrRed
#property indicator_style1 STYLE_SOLID
#property indicator_style2 STYLE_SOLID
//#property indicator_label1 "EURUSD"
//#property indicator_label2 "GBPUSD"
input int period_1 = 13 ;
input int period_2 = 55 ;
input ENUM_MA_METHOD ma_method = MODE_SMA;
input ENUM_APPLIED_PRICE applied_price = PRICE_CLOSE;
double ExtMapBuffer1[];
double ExtMapBuffer2[];
int EMHandle1;
int EMHandle2;
int EMHandle11;
int EMHandle22;
double ma1[],ma2[],ma3[],ma4[];//Временни буфери
double p1 = SymbolInfoDouble("EURUSD",SYMBOL_POINT);
double p2 = SymbolInfoDouble("GBPUSD",SYMBOL_POINT);
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
SetIndexBuffer(0, ExtMapBuffer1, INDICATOR_DATA);
SetIndexBuffer(1, ExtMapBuffer2, INDICATOR_DATA);
SetIndexBuffer(2, ma1, INDICATOR_DATA);
SetIndexBuffer(3, ma2, INDICATOR_DATA);
SetIndexBuffer(4, ma3, INDICATOR_DATA);
SetIndexBuffer(5, ma4, INDICATOR_DATA);
PlotIndexSetInteger(0, PLOT_SHIFT, 0);
PlotIndexSetInteger(1, PLOT_SHIFT, 0);
PlotIndexSetInteger(0,PLOT_LINE_STYLE,STYLE_SOLID);
PlotIndexSetInteger(1,PLOT_LINE_STYLE,STYLE_SOLID);
//---
PlotIndexSetInteger(0,PLOT_LINE_COLOR,clrBlue);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,clrRed);
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,1);
PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,1);
PlotIndexSetInteger(0,PLOT_DRAW_TYPE,DRAW_LINE);
PlotIndexSetInteger(1,PLOT_DRAW_TYPE,DRAW_LINE);
//--- name for DataWindow
IndicatorSetString(INDICATOR_SHORTNAME,"2_2_MA");
//---
//--- set accuracy
IndicatorSetInteger(INDICATOR_DIGITS,4);
EMHandle1 = iMA("EURUSD", 0, period_1, 0, ma_method, applied_price);
EMHandle2 = iMA("EURUSD", 0, period_2, 0, ma_method, applied_price);
EMHandle11 = iMA("GBPUSD", 0, period_1, 0, ma_method, applied_price);
EMHandle22 = iMA("GBPUSD", 0, period_2, 0, ma_method, applied_price);
ArraySetAsSeries(ExtMapBuffer1,true);
ArraySetAsSeries(ExtMapBuffer2,true);
ArraySetAsSeries(ma1, true);
ArraySetAsSeries(ma2, true);
ArraySetAsSeries(ma3, true);
ArraySetAsSeries(ma4, true);
//---
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate (const int rates_total, // размер массива price[];
const int prev_calculated,// количество доступных баров ;на предыдущем вызове;
const int begin,// с какого индекса в массиве price[] начинаются достоверные данные;
const double &price[]) // массив, по которому и будет считаться индикатор;
{
if(CopyBuffer(EMHandle1, 0, 0, 1, ma1) < 0){Print("CopyBuffer ma1 error =", GetLastError());}
if(CopyBuffer(EMHandle2, 0, 0, 1, ma2) < 0){Print("CopyBuffer ma2 error =", GetLastError());}
if(CopyBuffer(EMHandle11, 0, 0, 1, ma3) < 0){Print("CopyBuffer ma3 error =", GetLastError());}
if(CopyBuffer(EMHandle22, 0, 0, 1, ma4) < 0){Print("CopyBuffer ma4 error =", GetLastError());}
ExtMapBuffer1[0]=(ma1[0]-ma2[0])/p1;
ExtMapBuffer2[0]=(ma3[0]-ma4[0])/p2;
Comment(
"\n=====================",
"\n ma1[] : ",DoubleToString(ma1[0],5),
"\n ma2[] : ",DoubleToString(ma2[0],5),
"\n ma3[] : ",DoubleToString(ma3[0],5),
"\n ma4[] : ",DoubleToString(ma4[0],5),
"\n ExtMapBuffer1[] : ",DoubleToString(ExtMapBuffer1[0],4),
"\n ExtMapBuffer2[] : ",DoubleToString(ExtMapBuffer2[0],4)
);
//---
//--- return value of prev_calculated for next call
return(rates_total);
}
void OnDeinit(const int reason)
{
Comment("");
}
//+------------------------------------------------------------------+
Всем доброго времени суток.
У меня просьба, переделать этот индикатор под MT5 потому как в торгах использую только его.
Ребят я очень извиняюсь что не в тему, даже незнаю куда написать, но может поможете разобраться в таком вопросе: в MT4 всё просто копируешь советника в папку experts запускаешь тестер стратегий всё прекрасно видиться и работает, но в MT5 я понять немогу как протестировать советник, я скидываю в папку experts, причём с расширением .mq5, но ни в тестере стратегий не в терминале он не видиться, там отображаються только стандартные советники, я вообще куда только не копировал и разные невидяться они и всё, подскажите как правильно и куда скопировать советник чтобы он увиделся?
Ребят я очень извиняюсь что не в тему, даже незнаю куда написать, но может поможете разобраться в таком вопросе: в MT4 всё просто копируешь советника в папку experts запускаешь тестер стратегий всё прекрасно видиться и работает, но в MT5 я понять немогу как протестировать советник, я скидываю в папку experts, причём с расширением .mq5, но ни в тестере стратегий не в терминале он не видиться, там отображаються только стандартные советники, я вообще куда только не копировал и разные невидяться они и всё, подскажите как правильно и куда скопировать советник чтобы он увиделся?
Запустить как в тестере, так и в реалтайме, можно лишь советник с расширением ex5 те скомпилированную версию,
открой mq5 файл в МетаЭдиторе нажми F7 и будет счастье. Исходный код с расширением mq5, это всего лишь тестовая информация, для того чтоб из неё получился байт-код (исполняемый код) нужно его скомпилировать.
Urain благодарю за ответ, только все эти основы я знаю, я и компилировал и всё делал как по инструкции, хоть я её и знал, но ещё раз прочитал, даже незнаю что может быть не так, вот прикладываю 2-а скина. MT5 скачал с этого сайта.
Urain благодарю за ответ, только все эти основы я знаю, я и компилировал и всё делал как по инструкции, хоть я её и знал, но ещё раз прочитал, даже незнаю что может быть не так, вот прикладываю 2-а скина. MT5 скачал с этого сайта.
Отлично, теперь после того как убедился что советник grr-al.ex5 в нужной папке стоит перезагрузить МТ5.
Кстати МТ5 один на компе стоит?
Urain наконецто разобрался, дело в том, что советники копируються не в папку C:\Program Files\MT5\MQL5\Experts а в C:\Users\Дима\AppData\Roaming\MetaQuotes\Terminal\8B052D0699A0083067EBF3A36123603B\MQL5\Experts, непонятно только нафига такой гемор, вот блин чёртовы програмисты)))