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

 
Vitaly Muzichenko :

나는 뭔가를 이해하지 못할 수도 있지만 여기에 필요합니다. long tml = ( long ) ObjectGetInteger ( ChartID (), vlines_name[i] , OBJPROP_TIME ); 색인이 아닌 행의 이름을 대체하십시오. 그렇지 않으면 결과를 얻을 수 없습니다.

네. 정말 감사합니다. 루프에 한 줄을 추가 했고 모든 것이 작동했습니다)))

   for ( int i = 0 ; i < vlines; i++)
   {
       vlines_name[i]    = ObjectName ( ChartID (),i, 0 , OBJ_VLINE );
       long tml          = ( long ) ObjectGetInteger ( ChartID (),vlines_name[i], OBJPROP_TIME );
      vlines_arr[i][ 0 ]  = tml;
      vlines_arr[i][ 1 ]  = ( long )i;
   }
 

안녕하세요! 작업: 차트에 2개의 악기의 양초를 표시하지만 한 곳에 양초가 충분하지 않습니다. 주기에서 모든 데이터가 포함된 기기의 막대를 살펴보고 2개의 기기 막대의 시간을 비교하고 불일치를 발견하면 1개의 기기에 대해 주기가 더 계속되어야 하며, 다른 하나는 막대의 시간이 일치할 때까지 중지하므로 막대가 충분하지 않은 차트에 빈 값이 있습니다. 그것을 하는 방법?

 
전문가 시장에 어떻게 배치합니까?
문제는 전문가를 추가할 때 전문가의 유형을 선택해야 한다는 것입니다. 내 Expert Advisor는 "신경망" 유형에 속하며 선택하고 추가한 다음 외부 API를 사용하여 Expert Advisor로 데이터를 가져올 수 없다는 것이 밝혀졌습니다.
그리고 최종 사용자의 컴퓨터에서 신경망이 어떻게 작동할 수 있습니까 ??? 아니면 Tensoflow + Keras + Ta-Lib + 몇 가지 python 스크립트 설치 지침을 첨부해야 합니까?

이 문제는 실제로 어떻게 해결됩니까? 확실히 누군가가 신경망 전문가를 만들었습니다.
 

모두 좋은 하루! 코드를 조언하거나 수정하십시오. 제로 바, 높이 500, 색상은 빨간색입니다.

 #property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots    1
#property indicator_type1    DRAW_COLOR_HISTOGRAM
#property indicator_color1   Red
#property indicator_style1    0
#property indicator_width1    1
#property indicator_minimum 0.0


double                     ExtBuffer[];
double                     ExtColorsBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit ()
  {
//---- buffers   
   SetIndexBuffer ( 0 ,ExtBuffer, INDICATOR_DATA );
   SetIndexBuffer ( 1 ,ExtColorsBuffer, INDICATOR_COLOR_INDEX );
   
//----
  }
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[])
  {
  
  ExtBuffer[ 0 ]= 500 ;
  ExtColorsBuffer[ 0 ]=Red;
   
   return (rates_total);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
 
EfDim :

모두 좋은 하루! 코드를 조언하거나 수정하십시오. 제로 바, 높이 500, 색상은 빨간색입니다.

0 막대는 가장 왼쪽 막대입니다. 현재 요금_총-1

 
Alexey Viktorov :

0 막대는 가장 왼쪽 막대입니다. 현재 요금_총-1

고마워 친구 야!
 

안녕하세요!

문제를 해결해 주세요.

 //----------БЛОК 1---------
if (x)
 {
   func_1(a,b);
   ......
 }
//-----------БЛОК 2--------
if (z)
 {
  func(c,d);
  ....
 } 
//---------------------

이러한 블록은 다음 모드에서 작동해야 합니다.

1) 일반적으로, 즉 작성된 대로 블록 조건을 순차적으로 확인

2) 블록 1 : 조건 x의 확인이 취소되고 내부 코드 작업이 취소됩니다. 블록 2: 조건 확인 z가 취소되고 내부 코드가 무조건 실행됩니다.

3) 블록 1: 조건 x의 검사가 취소되고 내부 코드가 무조건 실행됩니다. 블록 2: 조건 확인 z가 취소되고 코드 내부가 취소됩니다.

Advisor 설정 에서 모드를 수동으로 전환해야 합니다.

(스위치, 세 가지 실행 변형에 대한 상상력이 충분했지만 코드가 반복되지만 피하고 싶습니다. 아마도?)

Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Среди программ для автоматического трейдинга можно выделить две большие категории: торговые роботы и индикаторы. Первые предназначены для совершения торговых операций на рынках, а вторые — для анализа котировок и выявления закономерностей в их изменении. При этом индикаторы могут использоваться непосредственно в роботах, образуя полноценную...
 

안녕하세요.

다음 코드가 있습니다.

         // Нормализация входных данных
         Print ( TimeToString (( datetime )vlines_arr[i][ 0 ]));
         Print ( "размер buf_Dsl = " , ArraySize (buf_Dsl));
         ArrayPrint (buf_Dsl);
         double d1         = 0.0 ;
         double d2         = 1.0 ;
         double x_min      = buf_Dsl[ ArrayMinimum (buf_Dsl)];
         double x_max      = buf_Dsl[ ArrayMaximum (buf_Dsl)];
         for ( int n = 0 ; n < ArraySize (buf_Dsl); n++)
         {
            inp_Dsl[n]=(((buf_Dsl[n]-x_min)*(d2-d1))/(x_max-x_min))+d1; // array out of range
         }

왜 이해가 안 된다고 욕해 ...

2019.09.04 06:00
размер buf_Dsl = 6
 -7.25207 -12.75148 -14.52521 -13.95145 -12.49837  -3.17857
array out of range in '.....' (143,20)
어떻게 어레이를 넘어설 수 있습니까?
 
Сергей Таболин :

안녕하세요.

다음 코드가 있습니다.

왜 이해가 안 된다고 욕해 ...

어떻게 어레이를 넘어설 수 있습니까?

실제로 inp_Dsl[n] 에서 맹세합니다.

 
Vladimir Karputov :

실제로 inp_Dsl[n] 에서 맹세합니다.

정확히. 사이즈를 정하지 않았네요... 감사합니다.

사유: