MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 727

 
Igor Makanu :

이미 열려 있는 주문의 최대 로트에 대해 새 주문의 로트를 늘리는 것에 대해 이야기하는 경우 주문을 계산할 때 주문 로트의 최대 값을 기억하십시오

다음과 같이 다소:

제 수는 제가 계산합니다. 트랜잭션마다 단계가 증가하고 싶습니다. 계수별

 
Carcass77 :

제 수는 제가 계산합니다. 트랜잭션마다 단계가 증가하고 싶습니다. 계수별

당신은 "마법의 단계"에 대해 두 번째로 썼고, 우리는 그 단계가 무엇인지 추측해야 합니다! )))

우리가 "극한" 주문의 개시 가격에 대해 이야기하고 있고 이 주문의 개시 가격과 관련하여 새로운 주문을 하려는 경우 원칙은 동일합니다. 주문을 다시 계산할 때 다음과 같이 최대/최소 개시 가격 을 찾습니다. 다음과 같은 주문 유형:

 int NumberOfOrders( int magic_, double &openpricemaxbuy_, double &openpriceminsell_)
  {
   int i,ot,buy_= 0 ,sell_= 0 ,k= OrdersTotal ();
   openpricemaxbuy_= 0.0 ; openpriceminsell_= 0.0 ;
   for (i= 0 ; i<k; i++)
     {
       if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))
        {
         ot= OrderType ();
         if (( OrderMagicNumber ()==magic_) && ( OrderSymbol ()== _Symbol ))
           {
             if (ot== OP_BUY ) { buy_++;  openpricemaxbuy_  = fmax (openpricemaxbuy_, OrderOpenPrice ());  }
             if (ot== OP_SELL ){ sell_++; openpriceminsell_ = fmin (openpriceminsell_, OrderOpenPrice ()); }
           }
        }
     }
   return (buy_+sell_);
  }



추신 : 마감 된 주문에 대해 이야기하고 있다면 코드가 다르며 주문을 통한 정렬 원칙이 약간 다릅니다. 최대 마감 시간이있는 주문을 찾고 매개 변수를 기억하십시오.

 

안녕하세요. 표시기 의 인쇄 기능 이 작동하지 않는 이유를 알려주세요.

 //+------------------------------------------------------------------+
//|                                                        test3.mq4 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
       Print ( "Hello" );
       Print ( "---- First indicator -----" );

   
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
 
Alexander Mikryukov :

안녕하세요. 표시기 의 인쇄 기능 이 작동하지 않는 이유를 알려주세요.

일하지 않을 이유가 없습니다. 전문가 로그에서 게시물을 확인하세요.

 
Igor Makanu :

일하지 않을 이유가 없습니다. 전문가 로그에서 게시물을 확인하세요.

그래 바보. 고맙습니다.

 
잘 자! 하나의 스크립트로 여러 계정을 관리할 수 있습니까? 고맙습니다!
 
Maxim Voronin :
잘 자! 하나의 스크립트로 여러 계정을 관리할 수 있습니까? 고맙습니다!

가능하지만 스크립트, 고문으로는 불가능합니다. 계정은 다른 터미널에서 시작해야 합니다...

 
Vladimir Pastushak :

가능하지만 스크립트, 고문으로는 불가능합니다. 계정은 다른 터미널에서 시작해야 합니다...

괜찮으시면 계속하세요
 
Maxim Voronin :
괜찮으시면 계속하세요

다른 단말기와 통신할 수 있는 어드바이저를 작성 중이며 복사기를 예로 들 수 있습니다.

간단합니다. 한 어드바이저가 무언가를 보내고 다른 터미널에서 수신합니다...

 

INIT_PARAMETERS_INCORRECT

이는 프로그래머가 잘못된 입력 매개변수 세트를 나타내기 위한 것이며 , 일반 최적화 테이블에서 이러한 리턴 코드가 있는 결과 라인은 빨간색으로 강조 표시됩니다.

이 전문가 매개변수 집합에 대한 테스트는 수행되지 않습니다.



뭔가 빨간색으로 켜지지 않습니다.

누구나 가지고 있습니까?


OnInit의 코드는 다음과 같습니다.
 int OnInit ()
{

if (Koef2<=Koef) return ( INIT_PARAMETERS_INCORRECT ); 

return ( INIT_SUCCEEDED );


그리고 다음 오류가 로그에 기록됩니다.