돕다!!!! 표시기를 MT4에서 MT5로 변환합니다.(무료) - 페이지 3

 
10937 :
아, 델타의 종류(차이)를 보고 가격이 어느 방향으로 더 기울어지는지 추측하는 데 사용하고 싶습니다)))))
글쎄, 이것은 이것을 언급하는 사람에게 오는 첫 번째 생각입니다.
 

MT5를 테스트하려고 합니다.

MT4에서는 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를 테스트하려고 합니다.

MT4에서는 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 배송에서 Ishimoku를 여는 것이 더 쉬울 것입니다.

경고에서 코드 블록을 복사하십시오.

//----
   string Msg,Subj;
  
   if (AlertType == 1 || AlertType == 3 )
   {
       if (Tenkan_Buffer[ 1 ]>Kijun_Buffer[ 1 ] && Tenkan_Buffer[ 2 ]<Kijun_Buffer[ 2 ] && !UptrendAlert1)
...
...
...
 
o_O :

MT5 배송에서 Ishimoku를 여는 것이 더 쉬울 것입니다.

경고에서 코드 블록을 복사하십시오.

//----
   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);
}
//+------------------------------------------------------------------+
 
Ваня :

고맙습니다! 친절한 사람.

그리고 이 코드 블록을 어떤 줄 사이에 삽입해야 하는지 알려주십시오.

프리랜서에게 연락하면 적절한 위치에 코드 조각을 삽입할 것입니다.
 
Evgeny Belyaev :
프리랜서에게 연락하면 적절한 위치에 코드 조각을 삽입할 것입니다.
프리랜서가 뭔지도 모르고
 
Ваня :
프리랜서가 뭔지도 모르고
프리랜서 .
 
Ваня :
프리랜서가 뭔지도 모르고
이제 알겠어요?
 
Evgeny Belyaev :
이제 알았어?

네, 러시아어를 사용하는 주제에 대해 사람들이 러시아어를 이해하지 못하는 것 같은 인상을 받습니다.

이 주제는 "HELP !!! 표시기를 MT4에서 MT5로 변환합니다. (무료)"입니다.

추천하는 곳은 어디인가요?

프리랜서 용어:

Ⅱ. 주문 이행 절차

  1. 진행 중인 주문은 다음 단계를 거칩니다.
    1. 작업 계약
    2. TOR의 동의
    3. 프로토타입/레이아웃
    4. 데모
    5. 작품 양도
    6. 지불
 
Ваня :

네, 러시아어를 사용하는 주제에 대해 사람들이 러시아어를 이해하지 못하는 것 같은 인상을 받습니다.

이 주제는 "HELP !!! 표시기를 MT4에서 MT5로 변환합니다. (무료)"입니다.

추천하는 곳은 어디인가요?

프리랜서 용어:

    1. 지불

예, 상상해보십시오. 귀하가 제공하는 것은 약간의 노력과 그에 따른 돈의 가치가 있습니다.

모든 사람이 러시아어를 완벽하게 이해하지만 "감사합니다"를 어지럽히는 데 관심이 있는 사람은 거의 없습니다.

이제 지표가 필요한 성공적인 거래 경험이 있었다면 아마도 누군가가 수익성 있는 거래 아이디어를 대가로 돈 없이 무언가를 하는 데 동의할 것입니다. 그래서 - 순전히 "좋은 이름"을 위해 - 원하는 사람이 거의 없을 것입니다 ...

사유: