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

 
안녕하세요 ! 앨리게이터 + EMA(233) + 스토캐스틱 인디케이터 기반 로봇이 있다면 알려주세요. 링크를 줄 수 있다면. 이 전략에 대해 어떻게 생각하십니까?
 
Lizaku :
안녕하세요 ! 앨리게이터 + EMA(233) + 스토캐스틱 인디케이터 기반 로봇이 있다면 알려주세요. 링크를 줄 수 있다면. 이 전략에 대해 어떻게 생각하십니까?

Alligator는 이미 3개의 이동 평균으로 구성되어 있기 때문에 이동 평균은 분명히 불필요합니다. 그러면 Alligator + Stochastic이 남습니다.

앨리게이터 + 스토캐스틱

 
호출되는 지표의 계산 완료되었음을 스크립트/EA에서 어떻게 확인할 수 있습니까? Sleep()을 넣어야 하는데 반나절을 잃어버렸는데 왜 버퍼에 0값이 나오는지 이해가 안되네요...
 
모든 것은 자정에 발생합니다.
 
Aleksey Vyazmikin :
호출되는 지표의 계산 완료되었음을 스크립트/EA에서 어떻게 확인할 수 있습니까? Sleep()을 넣어야 하는데 반나절을 잃어버렸는데 왜 버퍼에 0값이 나오는지 이해가 안되네요...

나는 이 주기를 사용한다

 int n = 0 ;
     do
     {
       // Пытаемся получить нужное значение;
       if (значение не получено)
       {
        n++;
         Sleep ( 100 );
       }
     }
     while (значение не получено && n < 7 && ! IsStopped ());
 
Alexey Viktorov :

나는 이 주기를 사용한다

고맙습니다. 이에 대한 일반적인 수단이 있기를 바랐습니다. 버퍼가 0으로 채워져야 하는 이유가 명확하지 않고 계산된 값이 거기에 입력되어야 합니다. 버퍼를 복사하는 동안 오류가 발생하고 괜찮을 것입니다. .

 
Aleksey Vyazmikin :

고맙습니다. 이를 위한 일반적인 수단이 있기를 바랐습니다. 버퍼를 0으로 채워야 하는 이유가 명확하지 않고 계산된 값이 거기에 입력되어야 합니다. 버퍼를 복사하는 동안 오류가 발생하고 괜찮을 것입니다. .

정기적 인 자금이 있습니다. 한 번 알아 내려고했지만 아무 소용이 없었습니다. 나는 이것에 대한 문서의 어느 부분에 있는지 지금 기억조차 나지 않습니다. 제 기억이 맞다면 타이밍과 관련이 있습니다.

 

안녕하세요, 저는 5개의 볼린저 밴드를 기반으로 지표를 작성 중입니다. 마지막 단계로 지표 라인 과 관련하여 패턴 형성 조건을 작성하기 시작했지만 테스트할 때 2가지 옵션이 표시됩니다. 자신을 호출하거나 아무 일도 일어나지 않습니다. 다음은 스니펫입니다.

여기서 수정할 수 있는 부분을 알려주세요. 수정할 부분이 있다면

 int OnCalculate ( const int rates_total,       // размер входных таймсерий 
                 const int prev_calculated,   // обработано баров на предыдущем вызове 
                 const datetime & time[],     // Time
                 const double & open[],       // Open 
                 const double & high[],       // High 
                 const double & low[],         // Low 
                 const double & close[],       // Close 
                 const long & tick_volume[],   // Tick Volume 
                 const long & volume[],       // Real Volume 
                 const int & spread[])         // Spread 
 {
 
//----     
//--- переменные
   int pos; // позиция
   static datetime prevtime = 0 ;
   int shift1;
   int shift2;
   int shift3;
   string pattern, period;
   int setPattern = 0 ;
   int alert = 0 ;
   double O, O1, O2, C, C1, C2, L, L1, L2, H, H1, H2;   
  
//----

//----   
//--- check for bars count - проверка колчества баров
   if (rates_total<ExtPlotBegin)
       return ( 0 );
//--- начало вычисления
   if (prev_calculated> 1 ) pos=prev_calculated- 1 ;
   else pos= 0 ;
//--- главный цикл
   for ( int i = pos ; i < rates_total;i++)
    {
       int shift = 0 ;
      shift1 = shift + 1 ;
      shift2 = shift + 2 ;
      shift3 = shift + 3 ;      
      O = open[shift1];
      O1 = open[shift2];
      O2 = open[shift3];
      H = high[shift1];
      H1 = high[shift2];
      H2 = high[shift3];
      L = low[shift1];
      L1 = low[shift2];
      L2 = low[shift3];
      C = close[shift1];
      C1 = close[shift2];
      C2 = close[shift3]; 
       //--- middle line
      ExtMLBuffer[i]=SimpleMA(i,ExtBandsPeriod,close);
       //--- calculate and write down StdDev
      ExtStdDevBuffer[i]=StdDev_Func(i,close,ExtMLBuffer,ExtBandsPeriod);
       //--- upper line
      ExtTLBuffer[i]=ExtMLBuffer[i]+ExtBandsDeviations*ExtStdDevBuffer[i];
       //--- mediumH line
      ExtMDHBuffer[i]=ExtMLBuffer[i]+ExtBandsDeviationsM*ExtStdDevBuffer[i];
       //--- mediumL line
      ExtMDLBuffer[i]=ExtMLBuffer[i]-ExtBandsDeviationsM*ExtStdDevBuffer[i];  
       //--- lower line
      ExtBLBuffer[i]=ExtMLBuffer[i]-ExtBandsDeviations*ExtStdDevBuffer[i];
     
       // Импульсная свеча от нижней границы Боллинджера
         if (((O <= H) && (H <= ExtMDLBuffer[i])) && ((L >= C) && (C <= ExtBLBuffer[i])))
        {
             Alert ( "Pin up!" );
             PlaySound ( "UpperBandAlert.wav" ); 
         }
             Sleep ( 5000 );
    }                  
//---- OnCalculate done. Return new prev_calculated. Расчет закончен, возврат к новым предыдущим барам
   return (rates_total);
  }
//+-
 

안녕하세요.

첫 번째 위치는 볼륨 =0.1, 마지막 위치 =0.2, 마지막 위치 의 볼륨 =0.2를 얻는 방법은 무엇입니까?

다음과 같은 헤지 계정에서:

 double Lot_pos_b()
  {
   int total= 0 ;
   double lot= 0 ;
   for ( int i= PositionsTotal ()- 1 ;i>= 0 ;i--)
       if (m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
         if (m_position. Symbol ()==m_symbol.Name() && m_position.Magic()==m_magic)
             if (m_position.PositionType()== POSITION_TYPE_BUY )
              {
               lot=m_position. Volume ();
              }
//---
   return (lot);
  }
상계 계정에서 어떻게 많은 것을 얻을 수 있습니까? 이 함수는 0.2 대신 0.3을 반환합니다.
 
lil_lil :

안녕하세요.

첫 번째 위치는 볼륨 =0.1, 마지막 위치 =0.2, 마지막 위치의 볼륨 =0.2를 얻는 방법은 무엇입니까?

다음과 같은 헤지 계정에서:

상계 계정에서 어떻게 많은 것을 얻을 수 있습니까? 이 함수는 0.2 대신 0.3을 반환합니다.

포지션에 속한 거래를 보고 거래량을 봅니다.

발견된 모든 포지션 거래(각각의 속성)를 인쇄하고 검색할 필요가 있는 항목을 찾으십시오.

사유: