초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 169

 
sandex :

배열은 차원이 1인 정적으로 선언됩니다.

컴파일 후 이 버전과 이전 버전에 있는 한 줄이 나타납니다. 전체 코드는 다음과 같습니다.

 #property copyright ""
#property link        ""
#property version    "1.00"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots    2
#property indicator_type1   DRAW_LINE
#property indicator_color1   clrMediumVioletRed
#property indicator_style1   STYLE_SOLID
#property indicator_label1   ""
#property indicator_type2   DRAW_LINE
#property indicator_color2   clrRed
#property indicator_style2   STYLE_SOLID
#property indicator_label2   "Sell TP"
input int Period_ = 34 ;         //Период
int ma1Handle;
double ma1Val[ 1 ];
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {   
SetIndexBuffer ( 0 ,ExtMapBuffer1, INDICATOR_DATA );
SetIndexBuffer ( 1 ,ExtMapBuffer2, INDICATOR_DATA );
ma1Handle= iMA ( _Symbol , _Period ,Period_, 0 , MODE_EMA , PRICE_CLOSE ); 
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
ArraySetAsSeries (ma1Val, true );
int bars= Bars ( _Symbol , _Period );
for ( int i= 0 ;i<bars;i++)
    {
     CopyBuffer (ma1Handle, 0 ,i, 1 ,ma1Val);
    ExtMapBuffer2[i]=ma1Val[ 0 ] - ((ma1Val[ 0 ]/ 100 )* 0.3 ); //ЗДЕСЬ НЕ ПОЛУЧАЕТСЯ ПОЛУЧИТЬ ЛИНИЮ
    }
   return (rates_total);
  }
//+------------------------------------------------------------------+
 
작업 코드.
파일:
Ind.mq5  3 kb
 

안녕하세요.

MQL5를 마스터하기로 결정했고 메소드 편집기에서 Expert Advisors 생성에 대한 기사를 읽었습니다. 모든 것이 명확해 보이지만 Expert Advisor에 포함된 지표를 규칙에 따라 거래하도록 만드는 방법, 예를 들어 CCI 지표는 내가 필요하지 않은 것, 레벨 100이 아래에서 위로 교차할 때 매수 거래를 열고 위에서 아래로 100을 교차할 때 닫는 방법, 매도할 때도 마찬가지이며 그 반대의 경우만 마찬가지입니다. 고맙습니다.

 
vitan06 :

안녕하세요.

MQL5를 마스터하기로 결정했고 메소드 편집기에서 Expert Advisors 생성에 대한 기사를 읽었습니다. 모든 것이 명확해 보이지만 Expert Advisor에 포함된 지표를 규칙에 따라 거래하도록 만드는 방법, 예를 들어 CCI 지표는 내가 필요하지 않은 것, 레벨 100이 아래에서 위로 교차할 때 매수 거래를 열고 위에서 아래로 100을 교차할 때 닫는 방법, 매도할 때도 마찬가지이며 그 반대의 경우만 마찬가지입니다. 고맙습니다.

약간 추상적 인 질문 - MQL4는 어떻습니까?
 
절대 안돼
 
sandex :
작업 코드.
고맙습니다! 공장!!
 
vitan06 :
절대 안돼

그런 다음 코드 생성기를 잊어버리십시오.

MA 또는 MACD 배송에서 표준 예를 엽니다.

지표를 CCI로 변경

그리고 가

 

안녕하세요!

어리석은 질문이라고 생각해서 죄송합니다.

나는 mql5 로 어드바이저를 작성하고 , 그것을 제대로 다운로드하고, 테스트하고, 내 가정용 랩탑의 데모에서 그것을 시도했고, 이제 데모는 VPS에서 실행되고 있습니다.

노트북에서 삭제되었습니다. VPS의 소스 코드에서 무언가를 수정했습니다.

VPS에서 노트북으로 다운로드를 시도했습니다 - MQL5가 그것을 볼 수 없습니다!!! W7 탐색기는 필요한 위치를 확인하지만 MQL5는 이를 확인하지 못합니다.

Open file을 통한 Metaeditor는 파일을 찾고, 편집하고, 저장합니다.

컴파일을 시도할 때 오류 첫 번째 줄 에 MQL 컴파일러의 인터페이스를 생성할 수 없습니다 . 이 오류는 무엇입니까?

무엇을해야합니까 ??
 

 

친애하는, 표시 코드에서 현재 가격 을 가져와 다른 표시와 비교하여 라인을 만드는 방법을 알려주시겠습니까?

EA에서는 다음과 같은 현재 가격을 얻습니다.

 MqlTick latest_price;       
double iclose=latest_price.bid;
그러나 지표에서 그것을 얻는 방법은 무엇입니까?
 
forexman77 :

친애하는, 표시 코드에서 현재 가격 을 가져와 다른 표시와 비교하여 라인을 만드는 방법을 알려주시겠습니까?

EA에서는 다음과 같은 현재 가격을 얻습니다.

그러나 지표에서 그것을 얻는 방법은 무엇입니까?
표시기 코드 OnCalculate() 함수를 보십시오.
사유: