![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Oh, deltanın türünü (fark) görmek ve fiyatın hangi yöne daha fazla eğildiğini tahmin etmek için kullanmak istiyorsunuz)))))
MT5'i test etmeye çalışıyorum.
MT4'te IchimokuAlert_v3 göstergesini kullanıyorum
Buradan alınmıştır https://www.forex-tsd.com/forum/debates-discussions/1175-ichimoku-alert/page2#comment_418797
Belki anlayan nazik biri MT5 için yeniden yapar.
Buradaki yönteme göre dönüştürmeye çalıştım http://metatrader5.blogspot.com/2009/10/rewrite-mql-4-to-mql-5-script.html
55 hata derleme
MT5'i test etmeye çalışıyorum.
MT4'te IchimokuAlert_v3 göstergesini kullanıyorum
Buradan alınmıştır https://www.forex-tsd.com/forum/debates-discussions/1175-ichimoku-alert/page2#comment_418797
Belki anlayan nazik biri MT5 için yeniden yapar.
Buradaki yönteme göre dönüştürmeye çalıştım http://metatrader5.blogspot.com/2009/10/rewrite-mql-4-to-mql-5-script.html
55 hata derleme
MT5 teslimatından Ishimoku'yu açmanız daha kolay olacaktır.
ve uyarınızdaki kod bloğunu ona kopyalayın.
string Msg,Subj;
if (AlertType == 1 || AlertType == 3 )
{
if (Tenkan_Buffer[ 1 ]>Kijun_Buffer[ 1 ] && Tenkan_Buffer[ 2 ]<Kijun_Buffer[ 2 ] && !UptrendAlert1)
...
...
...
MT5 teslimatından Ishimoku'yu açmanız daha kolay olacaktır.
ve uyarınızdaki kod bloğunu ona kopyalayın.
string Msg,Subj;
if (AlertType == 1 || AlertType == 3 )
{
if (Tenkan_Buffer[ 1 ]>Kijun_Buffer[ 1 ] && Tenkan_Buffer[ 2 ]<Kijun_Buffer[ 2 ] && !UptrendAlert1)
...
...
...
Teşekkür ederim! Kibar bir insan.
Ve bana bu kod bloğunu hangi satırların arasına eklemem gerektiğini söyle?
Sonuna bir blok koyun. 6 derleme hatası.
yemin ediyor
136 satır if (AlertType == 1 || AlertType == 3)
156 satır if (AlertType == 2 || AlertType == 3)
satır 175 dönüş(oranlar_toplam);
Satır 176 köşeli ayraçta küfür ediyor }
180 satır if (MsgAlerts) Alert(msgText);
181 satır 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);
}
//+------------------------------------------------------------------+
Teşekkür ederim! Kibar bir insan.
Ve bana bu kod bloğunu hangi satırların arasına eklemem gerektiğini söyle?
Bir serbest çalışanla iletişime geçin, doğru yerlere kod parçalarını yerleştireceklerdir.
Serbest çalışmanın ne olduğunu bile bilmiyorum
Serbest çalışmanın ne olduğunu bile bilmiyorum
Şimdi biliyorsun?
evet, Rusça konuşulan konularda nüfusun RUS dilini anlamayı bıraktığı izlenimi edinilir.
Bu konu "YARDIM !!!! göstergeyi MT4'ten MT5'e dönüştürün. (Ücretsiz)"
Nereye gitmeyi önerirsiniz?
serbest terimler:
II. Sipariş yerine getirme prosedürü
evet, Rusça konuşulan konularda nüfusun RUS dilini anlamayı bıraktığı izlenimi edinilir.
Bu konu "YARDIM !!!! göstergeyi MT4'ten MT5'e dönüştürün. (Ücretsiz)"
Nereye gitmeyi önerirsiniz?
serbest terimler:
Evet, sadece hayal edin, sunduğunuz şey biraz çabaya ve dolayısıyla paraya değer.
Herkes Rus dilini mükemmel bir şekilde anlıyor, ancak çok az insan "teşekkürler için" ortalıkta dolaşmakla ilgileniyor.
Şimdi, bir göstergeye ihtiyaç duyacağınız başarılı bir ticaret deneyiminiz varsa, o zaman siz, belki birileri karlı bir ticaret fikri karşılığında parasız bir şey yapmayı kabul ederdiniz. Ve böylece - sadece "iyi bir isim" uğruna - korkarım ki bunu isteyen çok az kişi olacak ...