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

 
pako :

이렇게 버퍼를 폴링

설정한 버퍼 번호에 관계없이 마지막으로 계산된 극값(
 
mavar :

코드에 있는 매개변수에서 차트의 볼린저를 정확히 보는 방법은 무엇입니까? 표시기의 필요한 매개 변수가 구성되는 위치.


Bollinger를 시작한 것 같지만 잘못된 값을 읽습니다.

결국, 당신은 높거나 낮은, 기하 급수적 으로 등의 차트를 만들 수 있습니다. 어드바이저를 시각적으로 제어하기 위해 코드에서 그것을 규제하고 차트에서 동시에 보는 방법은 무엇입니까?

metatrader5에서는 어드바이저를 시작할 때 전략 테스터에서 사용하는 지표가 스스로 그려집니다.
 
LBatters :
metatrader5에서는 어드바이저를 시작할 때 전략 테스터에서 사용하는 지표가 스스로 그려집니다.

그리고 나는 그림을 그리지 않는다! 내가 무엇을 잘못하고 있지?

내 코드는 다음과 같습니다.


//+------------------------------------------------------------------+
//|                                                         test.mq5 |
//|                                                           Andrey |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Andrey"
#property link      "http://www.mql5.com"
#property version   "1.00"

int BolBandsHandle;                // хэндл индикатора Bolinger Bands
double BBUp[],BBLow[],BBMidle[];   // динамические массивы для хранения численных значений Bollinger Bands
//--- входные параметры
input int bands_period= 20;        // Период Bollinger Bands
input int dema_period= 20;         // Период DEMA
input int bands_shift = 0;         // Смещение относительно графика
input double deviation= 2;         // Стандартное отклонение
int demaHandle;                    // хэндл индикатора DEMA

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   printf("test string");
   
     //---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   printf("test string3");
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

//Переменная типа MqlTick позволяет за один вызов функции SymbolInfoTick() получить значения time, Ask, Bid, Last и Volume.
      MqlTick last_tick;
      //---
      if(SymbolInfoTick(Symbol(),last_tick))
        {
         Print(last_tick.time,": Bid = ",last_tick.bid,
               " Ask = ",last_tick.ask,"  Volume = ",last_tick.volume, "  LastPrice = ",last_tick.last );
        }
      else Print("SymbolInfoTick() failed, error = ",GetLastError());
      //---
      
        //---Читаем свечку
   MqlRates rates[];
   ArraySetAsSeries(rates,true);
   int copied=CopyRates(Symbol(),0,0,1,rates);
   if(copied>0)
     {
      //Print("Скопировано баров: "+copied);
      string format="open = %G, high = %G, low = %G, close = %G, volume = %d";
      string out;
      int size=fmin(copied,10);
      for(int i=0;i<size;i++)
        {
         //out=i+":"+TimeToString(rates[i].time);
         out=out+" "+StringFormat(format,
                                  rates[i].open,
                                  rates[i].high,
                                  rates[i].low,
                                  rates[i].close,
                                  rates[i].tick_volume);
         Print(out);
         Print(rates[i].open - rates[i].close );
        }
     }
   else Print("Не удалось получить исторические данные по символу ",Symbol());

//---=======-----\_____BOLLINGER____/--------========--//
//--- получить хэндл индикатора Bollinger Bands и DEMA
   BolBandsHandle=iBands(NULL,PERIOD_M30,bands_period,bands_shift,deviation,PRICE_CLOSE);
   demaHandle=iDEMA(NULL,PERIOD_D1,dema_period,0,PRICE_CLOSE);
   
//--- копируем новые значения индикаторов используя хэндлы
   if(CopyBuffer(BolBandsHandle,0,0,3,BBMidle)<0 || CopyBuffer(BolBandsHandle,1,0,3,BBUp)<0
      || CopyBuffer(BolBandsHandle,2,0,3,BBLow)<0)
     {
      Alert("Ошибка копирования буферов индикатора Bollinger Bands - номер ошибки:",GetLastError(),"!!");
      return;
     }
//********** это цикл надо добавить в код советника, выводит значения при наступлении нового бара
   for(int nbar=0; nbar < 1; nbar++)
     Print("nbar=", nbar, "  BBLow[nbar]=", DoubleToString(BBLow[nbar], _Digits), "  BBMidle[nbar]", DoubleToString(BBMidle[nbar], _Digits),
                    "  BBUp[nbar]=", DoubleToString(BBUp[nbar], _Digits));

  }
//+------------------------------------------------------------------+
//| BookEvent function                                               |
//+------------------------------------------------------------------+
void OnBookEvent(const string &symbol)
  {
//---
   printf("test string 1 ");
 
   
  }
//+------------------------------------------------------------------+


 
C-4 :
MetaQuotes가 주최한 마지막 챔피언십은 2012년이었습니다. 이제 그러한 챔피언십은 개최되지 않습니다. 그러나 많은 중개인이 여전히 챔피언십을 보유하고 있습니다. 당신은 그들에 참여할 수 있습니다.
여기에 좋은 플랫폼이 있습니다. 나 자신도 거기에 참여합니다. 대부분 의 콘테스트에서 고문은 금지되어 있지만 고문도 있고 상금이 있는 무료 고문도 있습니다. _http://contestsarena.com/xm/ru#/login/
 
LBatters :
설정한 버퍼 번호에 관계없이 마지막으로 계산된 극값(
그래서 거기에 쓰여있습니다, 마지막 극단
 

시작 시 EA가 볼린저 라인을 그리도록 하는 방법은 무엇입니까?

나를 위해(위의 코드) 볼 nger의 일부 값을 표시하지만 매개변수를 시각적으로 관찰해야 합니다.

 

돕다!!!

메타트레이더 4 빌드 711 다운로드 및 설치

InstaForex-Demo.com의 데모 계정

터미널이나 웹 사이트를 통해 무료 신호에 가입 할 수 없습니다

터미널의 "커뮤니티" 탭에서 비밀번호와 로그인을 모두 입력했습니다 .

균형 쇼

연결이있다

터미널에서:

2014.10.15 23:35:16.541 가상 호스팅: 'www.mql5.com' 서버 연결 실패(www.mql5.com:443 실패)


2014.10.15 23:08:20.101 MQL5.community: 권한 부여 실패

2014.10.15 23:08:01.847 신호: '61447950': 신호 목록 가져오기 실패, 연결 오류
2014.10.15 23:03:19.887 MQL5.community: 권한 부여 실패
2014.10.15 23:03:01.696 신호: '61447950': 신호 목록 가져오기 실패, 연결 오류

해결을 도와주세요...

 
xscanerx :

H2014.10.15 23:08:20.101 MQL5.community: 권한 부여 실패

이것은 잘못된 암호를 나타냅니다. 가능한 오류 - 공백을 삽입하십시오. "_" 기호를 주의하지 마십시오. 들어갈 때 혼란스러운 경우.
 
어드바이저가 이미 열린 포지션 에서 로트를 늘리도록 강제하는 방법을 알려주실 수 있습니까? MQL5. 이미 감사합니다.
 
ArkFatalist :
어드바이저가 이미 열린 포지션 에서 로트를 늘리도록 강제하는 방법을 알려주실 수 있습니까? MQL5. 이미 감사합니다.
증가분과 동일한 로트 크기와 이미 열린 위치와 일치하는 방향으로 추가 위치를 엽니다. MT5 자체는 두 포즈를 하나의 누적 포즈로 결합합니다.
사유: