초보자의 질문 MQL4 MT4 MetaTrader 4 - 페이지 234

 
leonerd :

알겠습니다. 감사합니다. 나는 전문가에게 연습하기로 결정했다. 그런데 5203이 나왔다. MT5에서는 동일한 코드가 잘 작동합니다.

파악한 것 같습니다. 시간 초과는 5000입니다(MT5에서는 작동하지만 MT4에서는 작동하지 않음). 나는 500을 걸었습니다 - MT4에서도 작동했습니다.

 

지표에서 직접 계산하기 위해 지표에서 Expert Advisor로 기능을 이전하는 방법을 알려주실 수 있습니까?


void OnTick()

{

SovExitBuffer[0]= getValue()// }

)?


 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[])
  {

//---
   int limit;
//---
   if (rates_total<= 1 )
       return ( 0 );
//--- last counted bar will be recounted
   limit=rates_total-prev_calculated;
   if (prev_calculated> 0 )
      limit=limit+ 1 ;

 for ( int i=limit- 1 ; i>= 0 ; i--)
 {

  
  upDband1= iMA ( NULL , 0 , 25 , 0 , MODE_SMA , PRICE_CLOSE ,i)+ iStdDev ( NULL , 0 , 25 , 0 , MODE_EMA , PRICE_CLOSE ,i)* 2 ;
  maDbands1= iMA ( NULL , 0 , 25 , 0 , MODE_SMA , PRICE_CLOSE ,i);
  deltaDbands1=upDband1-maDbands1;

  ExitBuffer[i]=deltaDbands1; //Это значение нужно получить в советнике в Ontick()
  
  }

   return (rates_total);
  }


 

이러한 코드를 작성한 프롬프트는 2개의 오류를 빛냅니다! 1-예기치 않은 종료 프로그램 2-불균형 괄호 괄호 불균형에 대한 문제는 무엇입니까?

 extern double         Lot   = 1 ;
//-------------------------------------
//----------------------------------
void start()
{
  Lot=OrderLots();
   void RefreshRates();
  CurAskPriceOne = MarketInfo( "EURUSD" , MODE_ASK);
  CurAskPriceTwo = MarketInfo( "USDCHF" , MODE_ASK);
 //----------
 //--Открытие ордера1
    Ticket= OrderSend ( "EURUSD" ,OP_BUY,Lot,CurAskPriceOne, 2 , 0 , 0 );
     if (Ticket > 0 )
      {
       if ( OrderSelect (Ticket,SELECT_BY_POS,MODE_TRADES)) Print ( " One order opene : " , OrderOpenPrice());
      {
       else Print ( "Eror opening BUY EURUSD order : " , GetLastError ();
//-------------
//--Ордер 2
          Ticket= OrderSend ( "USDCHF" ,OP_BUY,Lot,CurAskPriceTwo, 2 , 0 , 0 );
     if (Ticket > 0 )
      {
       if ( OrderSelect (Ticket,SELECT_BY_POS,MODE_TRADES)) Print ( " One order opene : " , OrderOpenPrice());
      {
       else Print ( "Eror opening BUY USDCHF order : " , GetLastError ());
      
//---------------------------Закрытие старт
   return ;
}
 
Tenimagalon :

이러한 코드를 작성한 프롬프트는 2개의 오류를 빛냅니다! 1-예기치 않은 종료 프로그램 2-불균형 괄호 괄호 안의 문제는 무엇입니까?

대괄호로 수정된 오류 - 쌍으로 된 오류를 찾아야 하거나 더 나은 방법 - 대괄호를 먼저 넣은 다음 내부에 코드를 작성하세요.

 extern double         Lot   = 1 ;
//-------------------------------------
//----------------------------------
void start()
{
   Lot=OrderLots();
   RefreshRates();
   CurAskPriceOne = MarketInfo( "EURUSD" , MODE_ASK);
   CurAskPriceTwo = MarketInfo( "USDCHF" , MODE_ASK);
   //----------
   //--Открытие ордера1
   Ticket= OrderSend ( "EURUSD" ,OP_BUY,Lot,CurAskPriceOne, 2 , 0 , 0 );
   if (Ticket > 0 )
     {
       if ( OrderSelect (Ticket,SELECT_BY_POS,MODE_TRADES)) 
         Print ( " One order opene : " , OrderOpenPrice());
       else
         Print ( "Eror opening BUY EURUSD order : " , GetLastError ());
     }
   //-------------
   //--Ордер 2
   Ticket= OrderSend ( "USDCHF" ,OP_BUY,Lot,CurAskPriceTwo, 2 , 0 , 0 );
   if (Ticket > 0 )
     {
       if ( OrderSelect (Ticket,SELECT_BY_POS,MODE_TRADES)) 
         Print ( " One order opene : " , OrderOpenPrice());
     }
   else
       Print ( "Eror opening BUY USDCHF order : " , GetLastError ());
   //---------------------------Закрытие старт
   return ;
}

...하지만 코드에 논리가 없습니다...

 

나는 추가할 것이다

이것:

Lot=OrderLots();

작동하지 않을 경우 OrderLots() 함수의 작업은 도움말을 읽으십시오.

변수:

CurAskPriceOne 및 CurAskPriceTwo

어디에도 발표되지 않은

대략 이렇습니다.

   double CurAskPriceOne = MarketInfo( "EURUSD" , MODE_ASK);
   double CurAskPriceTwo = MarketInfo( "USDCHF" , MODE_ASK);

이 같은

 
글쎄, 나는 많은 것에 대해 동의한다. 그리고
  double CurAskPriceTwo = MarketInfo( "USDCHF" , MODE_ASK);

발표하지 않고 일했습니다. :)

 
나는 작은 인용문이 소급적으로 사라지는 것을 여러 번 관찰했습니다. 예를 들어 어젯밤(12.02) 10~11일 수백 개의 항목이 사라졌다. 때로는 M1 차트에서 "새로 고침"을 클릭하여 간단히 해결할 수 있습니다. 어제는 제대로 작동하지 않아 다른 터미널에서 수동으로 견적을 가져와야 했습니다. 동시에 모든 것이 서버의 브로커와 순서대로 이루어집니다. 터미널의 다른 복사본에서 동일한 계정을 열면 구멍이 없는 일반 차트가 표시됩니다. 무엇이 잘못될 수 있습니까?
Объем импорта - экономические данные США
Объем импорта - экономические данные США
  • www.mql5.com
Импорт (Imports) отражает объем товаров и услуг из-за рубежа, которые сразу же входят в сети потребления, склады и зоны внешней торговли. При составлении индикатора обычно используется стоимость
 
얘들 아 내가 알아낼 수 있도록 도와줍니다. 주문을 여는 방법을 알아 냈습니다. 유형별로 가져 오는 방법을 닫는 방법. boots. 가장 간단한 코드를 보자. 이 새끼가 주문을 한 번 열려면 시작이나 끝에서 여기에 입력해야 하는 것.
 extern double lot = 1 ;
int start()
{
   int Ticket;
   Ticket= OrderSend ( "USDCHF" ,OP_BUY,Lot,Ask, 2 , 0 , 0 );
 return ( 1 );
}
 
Tenimagalon :
얘들 아 내가 알아낼 수 있도록 도와줍니다. 주문을 여는 방법을 알아 냈습니다. 유형별로 가져 오는 방법을 닫는 방법. boots. 가장 간단한 코드를 보자. 이 새끼가 주문을 한 번 열려면 시작이나 끝에서 여기에 입력해야 하는 것.
 OrdersTotal () < 1
 
Iurii Tokman :
개봉 전에 처방해야 하나요?
if( 주문 총계 < 1)
(
)