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

 
Top2n :


고맙습니다! 질문이 복잡하지 않다면 2차원 배열을 2로 분할하는 것이 어떻게 가능합니까? 논리가 깨집니다.

표시기에서 2차원 배열을 보내야 하는 경우 배열의 각 차원에 대한 버퍼를 만드십시오.

버퍼 0은 첫 번째 차원이고 버퍼 1은 두 번째 차원입니다.

그리고 일반적인 방법으로 고문에게 가져옵니다.

 
Artyom Trishkin :

표시기에서 2차원 배열을 보내야 하는 경우 배열의 각 차원에 대한 버퍼를 만드십시오.

버퍼 0은 첫 번째 차원이고 버퍼 1은 두 번째 차원입니다.

그리고 일반적인 방법으로 고문에게 가져옵니다.


감사합니다. 하지만 차원이 1000 * 1000이면 방법이 아닙니다.

2차원 배열을 2개로 분할하는 방법은 무엇입니까?

각 막대에는 1차원 데이터 배열이 있습니다.

 
Top2n :


감사합니다. 하지만 차원이 1000 * 1000이면 방법이 아닙니다.

2차원 배열을 2개로 분할하는 방법은 무엇입니까?

각 막대에는 1차원 데이터 배열이 있습니다.

조언자에게 제공하기 위해 지표에서 계산을 수행해야 하는 이유는 무엇입니까? Expert Advisor에서 즉시 모든 것을 계산하십시오. 더 쉬울 것입니다.
 
Artyom Trishkin :
조언자에게 제공하기 위해 지표에서 계산을 수행해야 하는 이유는 무엇입니까? Expert Advisor에서 즉시 모든 것을 계산하십시오. 더 쉬울 것입니다.


매개 변수에 & price [] 매개 변수를 사용하는 클래스가 있습니다.

 OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const int begin,
                 const double & price [])
   sm.Solve(rates_total,prev_calculated, price );

어드바이저에서 우회할 수 없다

 
Top2n :


매개 변수에 & price [] 매개 변수를 사용하는 클래스가 있습니다.

어드바이저에서 우회할 수 없다

문서 섹션 " 시계열 및 표시기에 대한 액세스 "를 주의 깊게 읽으십시오. 그러면 모든 것이 명확해질 것입니다.

" SymbolInfoTick "을 사용하여 Expert Advisors에서 가격을 얻을 수도 있습니다.

Документация по MQL5: Доступ к таймсериям и индикаторам
Документация по MQL5: Доступ к таймсериям и индикаторам
  • www.mql5.com
Доступ к таймсериям и индикаторам - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

동료 여러분, 좋은 오후입니다.

MQL5에 대한 약 20개의 주제를 다시 읽었지만 다음 질문에 대한 답을 찾지 못했습니다. FORTS의 자동 거래를 위한 간단한 MQL5 Expert Advisor의 예제 코드는 어디에서 얻을 수 있습니까?

어드바이저는 단순할수록 좋습니다. 어떤 움직임 이나 간단한 스레드가 딱 맞을 것입니다.

작업 코드를 사용하여 이미 MT5를 다룰 것입니다.


그 전에는 일종의 IT 투자 터미널인 Transac, AmiBroker와 함께 일했습니다. MetaTrader 4 또는 5로 작업하지 않았고,

그러나 이제 Jus2Trade(이것은 분명히 FINAM의 자회사임)는 요새와 미국 선물에 접근할 수 있는 MT5를 가지고 있습니다.

MT5에서 시도하고 싶지만 완전히 작동하는 예제에 대한 정상적인 연구를 찾을 수 없습니다. 외환에 대한 모든 예.

동료들이여, 링크를 찌르십시오.

 
Alexey Viktorov :

문서 섹션 " 시계열 및 표시기에 대한 액세스 "를 주의 깊게 읽으십시오. 그러면 모든 것이 명확해질 것입니다.

" SymbolInfoTick "을 사용하여 Expert Advisors에서 가격을 얻을 수도 있습니다.


나는 도취되지 않습니다.
 

좋은 사람들이 조언자에서 이러한 매개 변수를 우회하는 방법을 알려주세요. 조언자에서 표시에 대해 선명하게 된 클래스를 사용하는 방법을 알 수 없습니다.

sm.Solve( rates_total, prev_calculated, price );

추가하다. 정보 표시기를 시작할 때 SMA를 사용하고 HL/2에 적용합니다.

 
Top2n :

좋은 사람들이 조언자에서 이러한 매개 변수를 우회하는 방법을 알려주세요. 조언자에서 표시에 대해 선명하게 된 클래스를 사용하는 방법을 알 수 없습니다.

추가하다. 정보 표시기를 시작할 때 SMA를 사용하고 HL/2에 적용합니다.

EA에는 Rates_total이나 prev_calaulated가 필요하지 않습니다. 이 이해할 수 없는 표현을 밟고 F1 키를 누르고 그 의미를 읽으십시오. 그러면 아마도 더 명확해질 것입니다. 결국 모든 행동은 의미가 있어야 합니다. 일어날 수 있는 일과 일어나야 할 일을 생각하지 않고 어떻게 일을 할 수 있습니까? 그것이 무엇인지도 모르고 어떻게 그것을 사용할 수 있습니까?

글쎄, 못을 망치질해야한다면 손에 들고있는 것을 이해하지 못한 채 갈퀴 나 현미경으로 그것을 시도하기 시작할 것이라고 상상해보십시오 ...

마지막 2~3개의 막대에서 iMA 표시기의 값이 필요한 경우 이전에 생성된 표시기의 핸들을 사용하여 CopyBuffer를 사용하여 가져올 수 있습니다. 바로 거기에서 표시기를 만들고 핸들을 가져올 때

PRICE_MEDIAN

중간 가격, (높음+낮음)/2


그리고 문서의 예는 절대적으로 명확합니다.

Документация по MQL5: Технические индикаторы / iMA
Документация по MQL5: Технические индикаторы / iMA
  • www.mql5.com
Технические индикаторы / iMA - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov :

EA에는 Rates_total이나 prev_calaulated가 필요하지 않습니다. 이 이해할 수 없는 표현을 밟고 F1 키를 누르고 그 의미를 읽으십시오. 그러면 아마도 더 명확해질 것입니다. 결국 모든 행동은 의미가 있어야 합니다. 일어날 수 있는 일과 일어나야 할 일을 생각하지 않고 어떻게 일을 할 수 있습니까? 그것이 무엇인지도 모르고 어떻게 그것을 사용할 수 있습니까?

글쎄, 못을 망치질해야한다면 손에 들고있는 것을 이해하지 못한 채 갈퀴 나 현미경으로 그것을 시도하기 시작할 것이라고 상상해보십시오 ...

마지막 2~3개의 막대에서 iMA 표시기의 값이 필요한 경우 이전에 생성된 표시기의 핸들을 사용하여 CopyBuffer를 사용하여 가져올 수 있습니다. 바로 거기에서 표시기를 만들고 핸들을 가져올 때

PRICE_MEDIAN

중간 가격, (높음+낮음)/2


그리고 문서의 예는 절대적으로 명확합니다.


좋아, 처음 두 개에서는 Rates_total과 다른 하나에 대해 흥분했지만 prece -> &aData[] 대신에. copybuf를 통해 표시기가 아닌 클래스를 통합해야 합니다.

그런 수업

 //+------------------------------------------------------------------+
void   CSMA_Greed::Solve( const int aRatesTotal, const int aPrevCalc, const double    &aData[] )
  {
   rt=aRatesTotal; prv=aPrevCalc;
   for ( int i= 0 ;i<m_max_period;i++) ArrayResize (d[i].m,rt);
   chsma.Solve(rt,prv,aData,d[m_max_period- 1 ].m);

   for ( int i=prv>m_max_period?prv:m_max_period;i<rt;i++)
     {
      temp=d[m_max_period- 1 ].m[i]*m_max_period;
       for ( int j=m_max_period- 2 ;j>= 0 ;j--)
        {
         temp-=aData[i-(j+ 1 )];
         d[j].m[i]=temp/(j+ 1 );
        }
     }
  };
사유: