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

 

행정 질문입니다.

Osiris Advisor의 데모 버전 다운로드를 도와주세요.

다운로드 하려고 하면 어드바이저가 다운로드 되지 않습니다.

Купите Торговый робот (Expert Advisor) 'Astroloqer' для MetaTrader 4 в магазине MetaTrader Market
Купите Торговый робот (Expert Advisor) 'Astroloqer' для MetaTrader 4 в магазине MetaTrader Market
  • www.mql5.com
Советник Звездочет 1.0 универсал. НЕ мартинит НЕ усредняется И не торгует сетками ордеров. Терминал МТ4. Это вы можете сами проваерить при
 
Oleg Kolesov # :
주요 질문은 해결되지 않은 채로 남아있었습니다. 버퍼를 두 가지 색상으로 색칠하는 방법. >= 파란색에서 <= 빨간색으로.

하지만 나는 당신의 조건을 이해할 수 없습니다.

예시. 테두리 = 5

값 == 8, 색상 - 파란색.

값 == 1, 색상 - 빨간색.

값 == 5, 색상 - 무엇?

 
Oleg Kolesov # :
잠시 쉬겠습니다. 고맙습니다.

지표를 약간 재설계했습니다(테스터를 위한 전문가)

스크린샷 2021-10-12 071433

파일:
V2.mq5  9 kb
 
SanAlex를 어떻게 평가할 수 있습니까?
 
Oleg Kolesov # :
SanAlex를 어떻게 평가할 수 있습니까?

다른 모든 사람들과 마찬가지로 평범합니다. 전문가라면 모든 종과 휘파람으로 그것을하면 그는 벌게 될 것입니다.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

EUR\USD-H2 당신의 인디케이터는 2시 방향에 있습니다 - 현재 중립적으로 스위치가 올라오기를 기다리고 있거나 계속 내려갈 것입니다.

EURUSDH2it

 
인쇄 명령이 기록되지 않는 이유는 무엇입니까?
 
Evgeny Dyuka # :
인쇄 명령이 기록되지 않는 이유는 무엇입니까?

... 잘못된 사용자 작업에 대한 보호가 트리거됩니다. "전문가" 탭에서 터미널을 마우스 오른쪽 버튼으로 클릭하고 "보기" 명령을 실행합니다.

 

안녕하세요 신사 숙녀 여러분!

내 질문에 슬리퍼를 던지지 마십시오. 순진한 건 알지만 우리는 모두 '신이시여, 우리가 얼마나 순진한지'(로맨스)다.

원래 알고리즘을 기반으로 Expert Advisor를 작성했습니다 . 테스트 결과 스캘핑 모드에서 가장 효과적인 것으로 나타났습니다. 당신이 믿지 않을 것이기 때문에 나는 지금 결과에 대해 침묵할 것입니다. 그들은 우리가 여기에서 Perpetuum 모바일과 Grails의 발명가를 알고 있다고 말합니다. 어느 쪽도 아니고 다른 쪽도 아니며 모든 스캘핑 전략과 마찬가지로 스프레드와 수수료 및 스탑 레벨의 크기에 따라 달라지는 심각한 단점이 있습니다. 그것은 거의 동일한 설정을 가지고 있습니다 - SL, 테스트에서 5 자리에서 6-10 pps. 이 문제를 처리하는 방법이나 이러한 게임을 할 수 있는 브로커에 대해 알려주실 수 있습니까?

 
안녕하세요.
지표가 있습니다. 오더북의 지정가 주문을 합산하여 차트로 표시합니다.
 #property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots 2

#property indicator_label1 "Delta buy"
#property indicator_type1 DRAW_HISTOGRAM
#property indicator_color1 clrWhite
#property indicator_width1 3

#property indicator_label2 "Delta sell"
#property indicator_type2 DRAW_HISTOGRAM
#property indicator_color2 clrBlue
#property indicator_width1 3

int iStart;
double iDelta1[];
double iDelta2[];

void OnDeinit ( const int reason)
{
   string symbol = Symbol ();

   MarketBookRelease (symbol);
}

void OnInit ()
{
   string symbol = Symbol ();

   SetIndexBuffer ( 0 , iDelta1, INDICATOR_DATA );
   ArraySetAsSeries (iDelta1, true );
  
   SetIndexBuffer ( 1 , iDelta2, INDICATOR_DATA );
   ArraySetAsSeries (iDelta2, true );

   IndicatorSetString ( INDICATOR_SHORTNAME , "OrderBook" );
   IndicatorSetInteger ( INDICATOR_DIGITS , Digits ());

   MarketBookAdd (symbol);
}

int OnCalculate (
   const int bars,
   const int counted,
   const datetime & time[],
   const double & open[],
   const double & high[],
   const double & low[],
   const double & close[],
   const long & ticks[],
   const long & volume[],
   const int & spread[]
)
{
   if (iStart == 0 )
  {
    iStart = 1 ;
     ZeroMemory (iDelta1);
     ZeroMemory (iDelta2);
  }
   else if (bars != counted)
  {
    iDelta1[ 0 ] = iDelta1[ 1 ];
    iDelta2[ 0 ] = iDelta2[ 1 ];
  }

   string symbol = Symbol ();

   double ask = SymbolInfoDouble (symbol, SYMBOL_ASK );
   double bid = SymbolInfoDouble (symbol, SYMBOL_BID );

   MqlBookInfo levels[];

   bool book = MarketBookGet (symbol, levels);

   int indexBuy = 1 ;
   int indexSell = 1 ;
   long volumeBuy = 0 ;
   long volumeSell = 0 ;


   if (book)
  {
     int size = ArraySize (levels);

     for ( int k = 0 ; k < size; k++)
    {
       if (levels[k].price >= ask) 
      {
        volumeSell += indexSell * levels[k].volume;
        indexSell++;
         
      }
    }

     for ( int k = size - 1 ; k >= 0 ; k--)
    {
       if (levels[k].price <= bid) 
      {
        volumeBuy += indexBuy * levels[k].volume;
        indexBuy++;
     
      }
    }
  }

 iDelta1[ 0 ] = ( double ) ( - volumeSell);
 iDelta2[ 0 ] = ( double ) (volumeBuy); 
   return bars;
}
그리고 유리가 새로 바뀔 때마다 이전 금액을 다시 씁니다. 그리고 그 금액을 어떻게 적립할 수 있습니까? 즉, 그는 현재 막대에 데이터를 다시 쓰지 않고 추가 했습니까? while 루프를 통해 모든 것을 구현하고 현재 막대가 이동할 때까지 데이터를 요약하려고 시도했지만 뭔가 잘못되었습니다. 그런 진부한 질문에 세게 치지 마십시오.
 

FileOpen은 오류 5001을 반환합니다( 동시에 64개 이상의 파일을 열 수 없음 ).
FileClose (file_handle)를 통해 올바르게 닫을 때마다 그런 것 같습니다.

열린 파일의 카운터는 어디에 어떻게 누적되며 어떻게 재설정할 수 있습니까?