포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 343

 
물론 당신은 할 수!!!
 
Vladimirovits :
나는 Experts 폴더에 Visual Studio의 전체 프로젝트를 가지고 있습니다 ... 컴파일 - 이것은 .exe 파일입니까?

아니요, 컴파일된 라이브러리는 ExpertSample.dll 파일입니다.
 
Forexman77 :

템플릿은 교과서에서 가져왔습니다. 현재 오류 처리 기능이 특히 강력하지 않습니다.

주문을 시작할 때 RefreshRates()가 있습니다. (비딩과 매도는 그들이 말한 대로 시장 정보를 통해 대체됨)

그리고 오류 처리 기능:

물어보고 싶었다. 예를 들어 다음과 같이 129개 오류에서 다음 줄을 추가할 수 있습니까?

129

ERR_INVALID_PRICE

잘못된 가격


이 오류가 발생하면 어드바이저의 논리를 재고해야 합니다. 글쎄, 그는 거래 주문 에 잘못된 가격을 보냅니다. 잘못된 거래 요청으로 서버를 종료하기로 결정하셨습니까?


자동 거래는 단순히 꺼지면 됩니다.

 
artmedia70 :

129

ERR_INVALID_PRICE

잘못된 가격


이 오류가 발생하면 어드바이저의 논리를 재고해야 합니다. 글쎄, 그는 거래 주문에 잘못된 가격을 보냅니다. 잘못된 거래 요청으로 서버를 종료하기로 결정하셨습니까?


자동 거래는 단순히 꺼지면 됩니다.

모든 것을 살펴보았다. 조언자가 요청을 보낼 때:

Ticket= OrderSend (Symb,OP_BUY,Lts,Ask, 2 ,SL,TP); //Открытие Buy
그는 얼마에 사야 하는지 기억합니까?

그리고 나는 다음을 가지고 있었다:

 if   (iClose( Symbol (), Period (), 0 ) <= MA_6_t) 
          {                                          
          Opn_B= true ;                    
          }

즉, 입찰가가 MA보다 작거나 같으면 매수합니다. 구매는 요청에 따라 이루어지므로 요청을 따라잡는 게임이 나옵니다.

판매에는 문제가 없었고 구매에만 문제가 있었습니다.

이 주제에 대한 정보를 찾았습니다.

"요청한 오픈 가격이 가격 흐름에 없거나 요청된 가격 소수점 이하 자릿수에 따라 정규화되지 않은 경우 오류 129(ERR_INVALID_PRICE)가 생성됩니다. 요청한 오픈 가격이 매우 오래된 경우 슬리피지 매개변수의 값, 오류 138이 생성됩니다(ERR_REQUOTE) 요청한 가격이 오래되었지만 가격 흐름에 여전히 존재하는 경우 현재 가격이 가격+ 내에 있는 경우에만 현재 가격으로 포지션이 열립니다. - 미끄러짐 범위."

결국, 그것이 입찰과 매도에 관한 것이 아니라면 거래는 성사되어야 합니다. "요청한 가격이 구식이지만 가격 흐름에 여전히 존재하는 경우 현재 가격이 가격+-슬리피지 범위 내에 있는 경우에만 현재 가격으로 포지션이 열립니다." 호버 가격은 거래 지역에서 100%였습니다. 종가는 이동 평균보다 훨씬 낮습니다.

 

구루님 질문입니다.

일부 영역의 표시기 그리기가 작동하지 않습니다. 지표의 본질은 움직임이 특정 값보다 크지 않으면 MA_otshet의 기록 값과 같이 값이 유지됩니다.

값을 극복하면 값은 현재 순간에 해당됩니다.

다음은 설명이 포함된 표시기 코드입니다.

 //+------------------------------------------------------------------+
//|                                                         EMAF.mq4 |
//|                                                 Kamil Gazizullin |
//|                                             forexman77@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "Kamil Gazizullin"
#property link        "forexman77@yandex.ru"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Aqua 
//--- input parameters
//--- buffers
bool flag= true ;
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle( 0 , DRAW_LINE , 0 , 1 );
   SetIndexBuffer ( 0 ,ExtMapBuffer1);
   IndicatorDigits( Digits + 1 );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----  
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
     int counted_bars=IndicatorCounted(),                      
    limit;
     double
    raznica,raznica_static,MA_1_t,MA_2_t;
    
   if (counted_bars> 0 )
      counted_bars--;
   limit= Bars -counted_bars;
   static double MA_otshet;   //здесь хранится информация по MA_otshet
   for ( int i= 0 ;i<limit;i++)
   {  
      MA_1_t= iMA ( NULL , 0 , 5 , 0 , MODE_EMA , PRICE_CLOSE ,i+ 0 );  
      MA_2_t= iMA ( NULL , 0 , 5 , 0 , MODE_EMA , PRICE_CLOSE ,i+ 1 ); 
      raznica=MA_1_t-MA_2_t; //разница между сегодня и вчера по скользящей средней
      raznica_static=MA_1_t-MA_otshet; //разница между сегодня и MA_otshet
      RefreshRates();   
       if (raznica > - 0.0035 && raznica < 0.0035 && flag) // если raznica не превышает заданное число 
          {
          MA_otshet=MA_2_t; // записываем значение MA_otshet
          ExtMapBuffer1[i]=MA_otshet; //рисуем значение индикатора, как и вчера
          flag= false ; // устанавливаем флаг запрета дальнейших расчетов
          }
       if (raznica_static > - 0.0035 && raznica_static < 0.0035 ) //если raznica_static не превышает заданное число
          {
          ExtMapBuffer1[i]=MA_otshet;   // то рисуем значение индикатора, как записанный MA_otshet
          }
       if ((raznica > 0.0035 ) || (raznica <- 0.0035 )) // если raznica превышает заданное число
          {
          ExtMapBuffer1[i]=MA_1_t; // то рисуем значение по текущей цене
          flag= true ; // разрешаем дальнейшие вычисления для расчета в диапазоне от -0.0035 до 0.0035
          }
   }  
   return ( 0 );
  }
//+------------------------------------------------------------------+

 
Forexman77 :

일부 영역의 표시기 그리기가 작동하지 않습니다. 지표의 본질은 움직임이 특정 값보다 크지 않으면 MA_otshet의 기록 값과 같이 값이 유지됩니다.

값을 극복하면 현재의 순간에 해당하는 값이 됩니다.

다음은 설명이 포함된 표시기 코드입니다.


DRAW_SECTION

 
Forexman77 :

모든 것을 살펴보았다. 조언자가 요청을 보낼 때:

그는 얼마에 사야하는지 기억합니까?

그리고 나는 다음을 가지고 있었다:

즉, 입찰가가 MA보다 작거나 같으면 매수합니다. 구매는 요청에 따라 이루어지므로 요청을 따라잡는 게임이 나옵니다.

판매에는 문제가 없었고 구매에만 문제가 있었습니다.

이 주제에 대한 정보를 찾았습니다.

"요청한 오픈 가격이 가격 흐름에 없거나 요청된 가격이 소수점 이하 자릿수에 따라 정규화되지 않은 경우 오류 129(ERR_INVALID_PRICE)가 생성됩니다. 요청한 오픈 가격이 매우 오래된 경우 슬리피지 매개변수의 값, 오류 138이 생성됩니다(ERR_REQUOTE) 요청한 가격이 오래되었지만 가격 흐름에 여전히 존재하는 경우 현재 가격이 가격+ 내에 있는 경우에만 현재 가격으로 포지션이 열립니다. - 미끄러짐 범위."

결국, 그것이 입찰과 매도에 관한 것이 아니라면 거래는 성사되어야 합니다. "요청한 가격이 구식이지만 가격 흐름에 여전히 존재하는 경우 현재 가격이 가격+-슬리피지 범위 내에 있는 경우에만 현재 가격으로 포지션이 열립니다." 호버 가격은 거래 지역에서 100%였습니다. 종가는 이동 평균보다 훨씬 낮았습니다.

Ask가 항상 정규화되어 있다는 사실부터 시작해 보겠습니다. 이것은 가격입니다. 계산되지 않았으며 정규화할 가치가 없습니다.

그래서 가격이 틀릴 수 있습니다. 이유는 무엇입니까? 데이터가 오래된 것은 아닐까? OrderSend() 명령 직전에 RefreshRates()를 시도하십시오.

 
안녕하세요, 친애하는 트레이더-프로그래머 여러분!!!
AccountComany의 의미는 무엇입니까?
이름에서 특정 결론을 도출할 수 있지만 이것이 MT4 프로그래밍 언어와 어떤 관련이 있습니까 ???

계정 크레딧?

계정통화?

계정 자산?

계정무료마진?

AccountFreeMarginCheck?

계정 레버리지?

AccountStopoutLevel?

계정중단모드?

배열 검색 ?

각 명령에 대한 자세한 설명을 알고 싶습니다. 도움을 요청합니다.

 

어레이카피?

ArrayCopyRates?

ArrayCopy시리즈?

배열차원?

ArrayGetAsSeries ?

 

어레이 비율이란 무엇입니까?