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

 

윌리엄스 백분율 범위 를 기반으로 하는 전문가 고문. 코드는 문제 없이 컴파일되지만 EA는 거래되지 않습니다. wpr에 대한 매개변수가 올바르지 않을 가능성이 높습니다. 전문가 힌트를 바랍니다

 //+------------------------------------------------------------------+
//|                                                          WRP.mq4 |
//|                                                                  |
//+------------------------------------------------------------------+

//--------------------------------------------------------------------
extern int      period_WPRur          = 6 ,
               stoploss             = 100 ,
               takeprofit           = 200 ,
               slippage             = 10 ,
               buy_level            = - 80 ,
               sell_level           = - 20 ,
               Magic                = 21 ;
extern double   Lot                  = 0.1 ;
//--------------------------------------------------------------------
void OnTick ()
{
   for ( int i= 0 ; i< OrdersTotal (); i++)
       if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))
         if ( OrderSymbol ()== Symbol () && Magic== OrderMagicNumber ()) return ;
   double WPRur0  = iWPR ( Symbol (),period_WPRur, PRICE_OPEN , 1 );
   double WPRur1  = iWPR ( Symbol (),period_WPRur, PRICE_OPEN , 1 );
   double SL= 0 ,TP= 0 ;
   if (WPRur0 > buy_level && WPRur1 < buy_level)
   {
       if (takeprofit!= 0 ) TP  = NormalizeDouble ( Ask + takeprofit* Point , Digits );
       if (stoploss!= 0 )   SL  = NormalizeDouble ( Ask - stoploss*   Point , Digits );     
       if ( OrderSend ( Symbol (), OP_BUY , Lot, NormalizeDouble ( Ask , Digits ),slippage,SL,TP, NULL ,Magic)==- 1 ) Print ( GetLastError ());
   }
   if (WPRur0 < sell_level && WPRur1 > sell_level)
   {
       if (takeprofit!= 0 ) TP = NormalizeDouble ( Bid - takeprofit* Point , Digits );
       if (stoploss!= 0 )   SL = NormalizeDouble ( Bid + stoploss*   Point , Digits );            
       if ( OrderSend ( Symbol (), OP_SELL ,Lot, NormalizeDouble ( Bid , Digits ),slippage,SL,TP, NULL ,Magic)==- 1 ) Print ( GetLastError ());
   }
}
//--------------------------------------------------------------------
 
안녕하세요 여러분 뉴비입니다 어떻게해야하는지 알려주세요 300.26달러(실제계좌) 를 환불해야하나 말아야 하나 잠시 ECN Pool MT4 사용을 중단할까요?
파일:
354355.png  5 kb
 
Logic :
안녕하세요 여러분 뉴비입니다 어떻게해야하는지 알려주세요 300.26달러(실제계좌) 를 환불해야하나 말아야 하나 잠시 ECN Pool MT4 사용을 중단할까요?

브로커의 사용자 계약을 읽으십시오.
일반적으로 계정이 마이너스가 되면 고객은 아무 빚도 지지 않음을 나타냅니다.
이것이 마진 콜과 스탑 아웃이 필요한 이유입니다.

 
Aleksandr SHablevskiy :

윌리엄스 백분율 범위를 기반으로 한 전문가 고문. 코드는 문제 없이 컴파일되지만 EA는 거래되지 않습니다. wpr에 대한 매개변수가 올바르지 않을 가능성이 높습니다. 전문가 힌트를 바랍니다

   double WPRur0  = iWPR ( Symbol (),period_WPRur, PRICE_OPEN , 1 );
   double WPRur1  = iWPR ( Symbol (),period_WPRur, PRICE_OPEN , 2 );
마지막 두 번째 줄에 내가 한 것처럼 2를 넣으십시오.
 
Nikolay Khrushchev :

브로커의 사용자 계약을 읽으십시오.
일반적으로 계정이 마이너스가 되면 고객은 아무 빚도 지지 않음을 나타냅니다.
이것이 마진 콜과 스탑 아웃이 필요한 이유입니다.

사실 브로커는 사기꾼으로 판명되었으며 사이트도 연결도 사용할 수 없습니다.
 
Nikolay Khrushchev :
마지막 두 번째 줄에 내가 한 것처럼 2를 넣으십시오.
다른 것 같습니다, 거래 없음!!!
 
안녕하세요! 방금 mql4에서 프로그래밍을 배우기 시작했고 YouTube에서 비디오 과정을 시청했지만 자료가 오래된 것으로 판명되었습니다. 프로그램을 처음 만들려고 할 때 오류가 발생했습니다. 여기에 같은 오류가 있습니다. 동영상 제작자가 응답하지 않음
 
안녕 모두. 도와주세요, 제발. 로봇이 헤매면서 뒤집도록 함수를 작성하는 방법. 예를 들어, 나는 마이너스 20포인트까지 갔다가 뒤집었고, 마이너스였다면 다시 쿠데타를 일으켰다.
 
turser89 :
안녕하세요! 방금 mql4에서 프로그래밍을 배우기 시작했고 YouTube에서 비디오 과정을 시청했지만 자료가 오래된 것으로 판명되었습니다. 프로그램을 처음 만들려고 할 때 오류가 발생했습니다.

start()는 대문자가 아닌 소문자 "s"로 시작했습니다.

그러나 이제는 더 이상 사용되지 않는 기능을 사용하지 않는 것이 좋습니다.

Expert Advisors용 OnTick() , 스크립트용 OnStart() 등 자세한 내용: https://docs.mql4.com/ru/mql4changes

 

안녕하세요.

 1        16 : 15 : 33.627      2019.02 . 04 16 : 00 : 00   CandleStrategy EURUSD,M30: out of memory
3        16 : 15 : 33.627      2019.02 . 04 16 : 00 : 00   Testing pass stopped due to a critical error in the EA

메모리 부족 오류의 원인을 진단하려면 어떻게 합니까? 삭제되지 않은 개체가 없습니다. 테스트를 실행하고 중지했는데 삭제되지 않은 개체에 대한 로그에 오류가 없습니다. 또한 이 메모리 부족 오류가 있는 삭제되지 않은 개체에 대한 오류가 없습니다.

이 메모리 오류의 원인이 정확히 무엇인지 어떻게 알 수 있습니까?