MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1019

 
Artyom Trishkin :
비주얼 모드에서 Print()

감독자! 고맙습니다! 모든 것이 해결되었습니다. 나는 즉시 모든 변수를 확인했다.

 
Roni Iron :

안녕하세요!

이 유형의 데이터를 가져오는 옵션은 무엇입니까?

시간(UTC),Ask,Bid,AskVolume,BidVolume

묻고, 입찰하고 - 지정하기만 하면 됩니다. 현명할 필요가 없고 Forex의 거래량은 1에 불과합니다.

아이볼륨

해당 차트의 막대(shift 매개변수로 지정)의 틱 볼륨 값을 반환합니다.

 long    iVolume ( 
   string            symbol,           // символ 
   int               timeframe,       // период 
   int               shift             // сдвиг 
   );
 
안녕하세요, MQL4에 작성된 사용자 지정 표시기 를 설치할 때 모든 것이 작동하지만 다른 시간 프레임으로 전환하면 deinit(이전 시간 프레임에서)만 작동하지만 새 init에서는 작동하지 않는지 알려주세요. , 프로그램이 다시 시작되지 않고 단순히 창에서 제거됩니다. 표시기를 새 시간 프레임으로 수동으로 설정하면 모든 것이 잘 됩니다. 무엇이 잘못될 수 있습니까?
 

이것은 정확히 농담입니다. Forex에는 막대의 틱 볼륨이 있지만 틱 의 거래량 은 없습니다. 그러나 틱 따옴표(Ducascopy 등) 소스는 가격 값 뒤에 AskVolume,BidVolume 값을 0,32,0,12 형식으로 제공합니다(쉼표가 있는 2자리인지 아니면 4자리인지 명확하지 않습니다. .

고맙습니다!

 
구분 기호 없이 CSV 파일을 만드는 방법이 있습니까?
 

안녕하세요.

말해 주세요 . MQL5용 MQL4용으로 작성된 코드를 다시 작성했습니다.

이들은 일대일로 두 개의 EMA이며 모든 것이 간단해 보입니다.

  컴파일할 때 오류가 발생하지 않지만 MQL4용으로 작성된 것과 다른 것도 그립니다.

나는 이미 MQL5 매뉴얼에서 눈을 떴는데 , 나는 아무것도 이해하지 못한다.

//+------------------------------------------------------------------+
//|                                                           MA.mq5 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots    2
//--- plot 1
#property indicator_label1    "MA 1"
#property indicator_type1    DRAW_LINE
#property indicator_color1    clrLime
#property indicator_style1    STYLE_SOLID
#property indicator_width1    1
//--- plot 2
#property indicator_label2    "MA 2"
#property indicator_type2    DRAW_LINE
#property indicator_color2    clrYellow
#property indicator_style2    STYLE_SOLID
#property indicator_width2    1
//
input int PER= 8 ; //Period
//
double          MA_1[];
double          MA_2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,MA_1, INDICATOR_DATA );
       SetIndexBuffer ( 1 ,MA_2, INDICATOR_DATA );
         IndicatorSetInteger ( INDICATOR_DIGITS , 2 );
//---
   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[])
  {
   program(rates_total,prev_calculated,close);
   return (rates_total);
  }
//+------------------------------------------------------------------+
//+---EMA

double EMA( double N, double P, double EMA0= 0 )//формула
  {
   double   A= 2 /(N+ 1 );                      //расчета
   return (A*P+( 1 -A)*EMA0);                 //ЕМА
  }
//+---
void program( int rates_total, int prev_calculated, const double &close[])
  {

   int Y=rates_total-prev_calculated;
   if (prev_calculated== 0 ) Y=Y-PER- 1 ;

   for (Y=Y; Y>= 0 ; Y=Y- 1 )

     {
     
      MA_1[Y]=EMA(PER,close[Y],MA_1[Y+ 1 ]);//первая
      MA_2[Y]=EMA(PER,MA_1[Y],MA_2[Y+ 1 ]);//на неё вторая

     }
   return ;
  }
//+------------------------------------------------------------------+
 
imknk :

안녕하세요.

말해 주세요 . MQL5용 MQL4용으로 작성된 코드를 다시 작성했습니다.

이들은 일대일로 두 개의 EMA이며 모든 것이 간단해 보입니다.

  컴파일할 때 오류가 발생하지 않지만 MQL4용으로 작성된 것과 다른 것도 그립니다.

나는 이미 MQL5 매뉴얼에서 눈을 떴는데 , 나는 아무것도 이해하지 못한다.

mql5에서는 버퍼를 뒤집을 필요가 있습니다. 버퍼는 앞뒤로 이동합니다.

디자인을 추가하고 그것에 대해 읽으십시오

 ArraySetAsSeries (MA_1, true );
Документация по MQL5: Пользовательские индикаторы / SetIndexBuffer
Документация по MQL5: Пользовательские индикаторы / SetIndexBuffer
  • www.mql5.com
[in]  Тип данных, хранящихся в индикаторном массиве. По умолчанию INDICATOR_DATA (значения рассчитанного индикатора). Может также принимать значение INDICATOR_COLOR_INDEX, тогда данный буфер предназначен для хранения индексов цветов для предыдущего индикаторного буфера. Можно задать до 64 цветов в строке #property indicator_colorN. Значение...
 
Vitaly Muzichenko :

mql5에서는 버퍼를 뒤집을 필요가 있습니다. 버퍼는 앞뒤로 이동합니다.

디자인을 추가하고 그것에 대해 읽으십시오

감사합니다. 지금 시도해 보겠습니다.
 

도와주세요, 어디에 오류가 있습니까?

함수로의 전환이 있는 if 조건에서 " 'all_clouse' - function not defined "를 맹세하는 이유는 무엇입니까?

 if (buy>=position)
 {
   All_clouse();   // 'All_clouse' - wrong parameters count

 }
..............
дальше код
..............
Уже за пределами OnTick
void All_clouse( int a, double x, double y)
  {
.............
   } к самой функции закрытия ордеров у него претензий нет.
 
Gilmor :

도와주세요, 어디에 오류가 있습니까?

함수로의 전환이 있는 if 조건에서 " 'all_clouse' - function not defined "를 맹세하는 이유는 무엇입니까?

함수에 매개변수를 전달해야 하고 빈 All_clouse () 로 호출하기 때문에

 void All_clouse( int a, double x, double y )