Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ах, та вы хотите увидеть типа дельты (разницу) и по ней предполагать в какую сторону цена склоняется больше )))))
Пытаюсь тестировать MT5.
В МТ4 использую индикатор IchimokuAlert_v3
Брал отсюда https://www.forex-tsd.com/forum/debates-discussions/1175-ichimoku-alert/page2#comment_418797
Может добрый человек понимающий переделает для MT5.
Пробовал конвертировать по методике отсюда http://metatrader5.blogspot.com/2009/10/rewrite-mql-4-to-mql-5-script.html
При компиляции 55 ошибок
Пытаюсь тестировать MT5.
В МТ4 использую индикатор IchimokuAlert_v3
Брал отсюда https://www.forex-tsd.com/forum/debates-discussions/1175-ichimoku-alert/page2#comment_418797
Может добрый человек понимающий переделает для MT5.
Пробовал конвертировать по методике отсюда http://metatrader5.blogspot.com/2009/10/rewrite-mql-4-to-mql-5-script.html
При компиляции 55 ошибок
вам будет проще открыть Ishimoku из поставки мт5.
и скопировать в него из вашего алерта блок кода .
string Msg,Subj;
if (AlertType == 1 || AlertType == 3)
{
if (Tenkan_Buffer[1]>Kijun_Buffer[1] && Tenkan_Buffer[2]<Kijun_Buffer[2] && !UptrendAlert1)
...
...
...
вам будет проще открыть Ishimoku из поставки мт5.
и скопировать в него из вашего алерта блок кода .
string Msg,Subj;
if (AlertType == 1 || AlertType == 3)
{
if (Tenkan_Buffer[1]>Kijun_Buffer[1] && Tenkan_Buffer[2]<Kijun_Buffer[2] && !UptrendAlert1)
...
...
...
Спасибо! Добрый человек.
А подскажите между какими строками надо вставить этот блок кода?
Поставил блок в конце. 6 ошибок при компиляции.
Ругается на
136 строка if (AlertType == 1 || AlertType == 3)
156 строка if (AlertType == 2 || AlertType == 3)
175строка return(rates_total);
176 строка ругается на скобку }
180 строка if (MsgAlerts) Alert(msgText);
181 строка if (eMailAlerts) SendMail(eMailSub, msgText);
//| Ichimoku.mq5 |
//| Copyright 2009, MetaQuotes Software Corp. |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2010, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
#property description "Ichimoku Kinko Hyo"
//--- indicator settings
#property indicator_chart_window
#property indicator_buffers 5
#property indicator_plots 4
#property indicator_type1 DRAW_LINE
#property indicator_type2 DRAW_LINE
#property indicator_type3 DRAW_FILLING
#property indicator_type4 DRAW_LINE
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 SandyBrown,Thistle
#property indicator_color4 Lime
#property indicator_label1 "Tenkan-sen"
#property indicator_label2 "Kijun-sen"
#property indicator_label3 "Senkou Span A;Senkou Span B"
#property indicator_label4 "Chikou Span"
//--- input parameters
input int InpTenkan=9; // Tenkan-sen
input int InpKijun=26; // Kijun-sen
input int InpSenkou=52; // Senkou Span B
//--- indicator buffers
double ExtTenkanBuffer[];
double ExtKijunBuffer[];
double ExtSpanABuffer[];
double ExtSpanBBuffer[];
double ExtChikouBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
void OnInit()
{
//--- indicator buffers mapping
SetIndexBuffer(0,ExtTenkanBuffer,INDICATOR_DATA);
SetIndexBuffer(1,ExtKijunBuffer,INDICATOR_DATA);
SetIndexBuffer(2,ExtSpanABuffer,INDICATOR_DATA);
SetIndexBuffer(3,ExtSpanBBuffer,INDICATOR_DATA);
SetIndexBuffer(4,ExtChikouBuffer,INDICATOR_DATA);
//---
IndicatorSetInteger(INDICATOR_DIGITS,_Digits+1);
//--- sets first bar from what index will be drawn
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,InpTenkan);
PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,InpKijun);
PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,InpSenkou-1);
//--- lines shifts when drawing
PlotIndexSetInteger(2,PLOT_SHIFT,InpKijun);
PlotIndexSetInteger(3,PLOT_SHIFT,-InpKijun);
//--- change labels for DataWindow
PlotIndexSetString(0,PLOT_LABEL,"Tenkan-sen("+string(InpTenkan)+")");
PlotIndexSetString(1,PLOT_LABEL,"Kijun-sen("+string(InpKijun)+")");
PlotIndexSetString(2,PLOT_LABEL,"Senkou Span A;Senkou Span B("+string(InpSenkou)+")");
//--- initialization done
}
//+------------------------------------------------------------------+
//| get highest value for range |
//+------------------------------------------------------------------+
double Highest(const double&array[],int range,int fromIndex)
{
double res=0;
//---
res=array[fromIndex];
for(int i=fromIndex;i>fromIndex-range && i>=0;i--)
{
if(res<array[i]) res=array[i];
}
//---
return(res);
}
//+------------------------------------------------------------------+
//| get lowest value for range |
//+------------------------------------------------------------------+
double Lowest(const double&array[],int range,int fromIndex)
{
double res=0;
//---
res=array[fromIndex];
for(int i=fromIndex;i>fromIndex-range && i>=0;i--)
{
if(res>array[i]) res=array[i];
}
//---
return(res);
}
//+------------------------------------------------------------------+
//| Ichimoku Kinko Hyo |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
int limit;
//---
if(prev_calculated==0) limit=0;
else limit=prev_calculated-1;
//---
for(int i=limit;i<rates_total && !IsStopped();i++)
{
ExtChikouBuffer[i]=close[i];
//--- tenkan sen
double _high=Highest(high,InpTenkan,i);
double _low=Lowest(low,InpTenkan,i);
ExtTenkanBuffer[i]=(_high+_low)/2.0;
//--- kijun sen
_high=Highest(high,InpKijun,i);
_low=Lowest(low,InpKijun,i);
ExtKijunBuffer[i]=(_high+_low)/2.0;
//--- senkou span a
ExtSpanABuffer[i]=(ExtTenkanBuffer[i]+ExtKijunBuffer[i])/2.0;
//--- senkou span b
_high=Highest(high,InpSenkou,i);
_low=Lowest(low,InpSenkou,i);
ExtSpanBBuffer[i]=(_high+_low)/2.0;
}
//--- done
return(rates_total);
}
//+------------------------------------------------------------------+
//----
string Msg,Subj;
if (AlertType == 1 || AlertType == 3)
{
if (Tenkan_Buffer[1]>Kijun_Buffer[1] && Tenkan_Buffer[2]<Kijun_Buffer[2] && !UptrendAlert1)
{
Subj = "Tenkan crosses Kijun: "+Symbol()+" on M"+Period();
Msg = "BUY Signal --- : "+Subj+ " @ "+DoubleToStr(Close[1],Digits) + ", @ " + TimeToStr(TimeLocal(),TIME_SECONDS);
UptrendAlert1 = true;
DntrendAlert1 = false;
DoAlerts(Msg,Subj);
}
if ( Tenkan_Buffer[1]<Kijun_Buffer[1] && Tenkan_Buffer[2]>Kijun_Buffer[2] && !DntrendAlert1)
{
Subj = "Tenkan crosses Kijun: "+Symbol()+" on M"+Period();
Msg = "SELL Signal --- : "+Subj+ " @ "+DoubleToStr(Close[1],Digits) + ", @ " + TimeToStr(TimeLocal(),TIME_SECONDS);
UptrendAlert1 = false;
DntrendAlert1 = true;
DoAlerts(Msg,Subj);
}
}
if (AlertType == 2 || AlertType == 3)
{
if (Close[1]>Close[1+Kijun] && Close[2]<Close[2+Kijun] && !UptrendAlert2)
{
Subj = "Kijun crossed Price: "+Symbol()+" on M"+Period();
Msg = "BUY Signal --- : "+Subj+ " @ "+DoubleToStr(Close[1],Digits) + ", @ " + TimeToStr(TimeLocal(),TIME_SECONDS);
DntrendAlert2 = false;
UptrendAlert2 = true;
DoAlerts(Msg,Subj);
}
if (Close[1]<Close[1+Kijun] && Close[2]>Close[2+Kijun] && !DntrendAlert2)
{
Subj = "Kijun crossed Price: "+Symbol()+" on M"+Period();
Msg = "SELL Signal --- : "+Subj+ " @ "+DoubleToStr(Close[1],Digits) + ", @ " + TimeToStr(TimeLocal(),TIME_SECONDS);
DntrendAlert2 = true;
UptrendAlert2 = false;
DoAlerts(Msg,Subj);
}
}
return(rates_total);
}
void DoAlerts(string msgText, string eMailSub)
{
if (MsgAlerts) Alert(msgText);
if (eMailAlerts) SendMail(eMailSub, msgText);
}
//+------------------------------------------------------------------+
Спасибо! Добрый человек.
А подскажите между какими строками надо вставить этот блок кода?
Обратитесь во фриланс, там вставят куски кода в нужные места.
я даже и не знаю что такое "фриланс"
я даже и не знаю что такое "фриланс"
Теперь знаете?
ага, складывается впечатление, что на русскоязычных темах население перестает понимать РУССКИЙ язык.
Эта тема "ПОМОГИТЕ !!!! переделать индиктор с MT4 под MT5.(бесплатно) "
Вы куда советуете пойти?
условия "фриланс":
II. Порядок выполнения Заказов
ага, складывается впечатление, что на русскоязычных темах население перестает понимать РУССКИЙ язык.
Эта тема "ПОМОГИТЕ !!!! переделать индиктор с MT4 под MT5.(бесплатно) "
Вы куда советуете пойти?
условия "фриланс":
Да, вот представьте, то, что вы предлагаете - стоит определенных усилий, а значит, и денег.
Все прекрасно понимают русский язык, но возиться "за спасибо" мало кому интересно.
Вот если бы у вас был успешный опыт торговли, в которой вам бы был нужен индикатор, тогда бы вам, возможно кто-то согласился бы что-то сделать без денег взамен на прибыльную торговую идею. А так - чисто ради "доброго имени" - боюсь, желающих будет мало...