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

 
좋은 시간. 나 자신이 코드를 이해하지 못하거나 지표를 작성하거나 변경하지 못하기 때문에 도움이 필요합니다. 간략히 하겠습니다.
표시등이 있을 때 소리 알림( Alert )을 추가할 수 있습니다.
CrossUp 은 0.00000에서 -1.00000으로 변경 됩니다.
크로스다운 -1.00000 ~ 0.00000.
도와주세요, 영원히 감사하겠습니다. 고맙습니다.

파일:
 
SPI :
좋은 시간. 나 자신이 코드를 이해하지 못하거나 지표를 작성하거나 변경하지 못하기 때문에 도움이 필요합니다. 간략히 하겠습니다.
표시등이 있을 때 소리 알림(경고)을 추가할 수 있습니다.
CrossUp 은 0.00000에서 -1.00000으로 변경 됩니다.
크로스다운 -1.00000 ~ 0.00000.
도와주세요, 영원히 감사하겠습니다. 고맙습니다.

잘못된 형식, mq4 필요

 
Alekseu Fedotov :

잘못된 형식, mq4 필요

리소스 및 읽기 버퍼로 ex4를 사용하여 이 작업을 수행할 수도 있습니다.

 
Artyom Trishkin :

리소스 및 읽기 버퍼로 ex4를 사용하여 이 작업을 수행할 수도 있습니다.

왜요? iCustom()을 통한 표시기의 표준 표시기 호출 , 거기에서 작업하는 데 15-20분이 걸릴 것으로 생각합니다. 표시기 파일이 2개 있습니다.

 
Igor Makanu :

왜요? iCustom()을 통한 표시기의 표준 표시기 호출 , 거기에서 작업하는 데 15-20분이 걸릴 것으로 생각합니다. 표시기 파일이 2개 있습니다.

리소스에도 iCustom()이 있지만 파일은 하나만 있습니다.

자, 여기, 원하는 대로 두 개의 파일이 필요합니다. 두 개, 하나는 하나를 의미합니다. 그리고 너무 많은 일.

 
Alekseu Fedotov :

맞아, 카운트.

예, 하지만 이것은 이미 수익의 백분율입니다. 드로다운 동안 드로다운 변수에 값이 할당되고 포지션이 양수 영역에 있으면 드로다운 값 = 0 을 할당하도록 어떤 종류의 구성이 발명되어야 합니다.
 
nalyk :
예, 하지만 이것은 이미 수익의 백분율입니다. 드로다운 동안 드로다운 변수에 값이 할당되고 포지션이 양수 영역에 있으면 드로다운 값 = 0 을 할당하도록 어떤 종류의 구성이 발명되어야 합니다.
   double drawdown=(AccountProfit()< 0 ? AccountProfit()* 100 /AccountBalance() : 0 );
   Comment ( "текущая просадка  = " ,drawdown);
 

안녕하세요, 마지막 프랙탈에서 주문 시작을 쓰는 방법을 알려주세요. 하려고 했으나 테스터에서 열리지 않습니다.

 void CheckForOpen()
{
  
   double hai_candle = iHigh ( NULL ,TimeCandleTrade, 0 );
   double low_candle = iLow ( NULL ,TimeCandleTrade, 0 ); 
   fr_down = iFractals ( Symbol (), 0 , MODE_LOWER, 3 );
   fr_up = iFractals ( Symbol (), 0 ,MODE_UPPER, 3 );
   double SL, TP;
  
 if (BuyCount()== 0 )
   {
  
     if (fr_down> 0 && low_candle<Low[fr_down])
   {
     
      SL = NormalizeDouble (Ask - StopLoss* Point , Digits );
      TP = NormalizeDouble (Ask + TakeProfit* Point , Digits );
      ticket = OrderSend ( Symbol (),OP_BUY,Lots, NormalizeDouble (Ask, Digits ),Slippage,SL,TP, NULL ,magik, 0 ,CLR_NONE);
       if (ticket < 0 )
       Print ( "Не удалось открыть ордер на покупку" , GetLastError ());
   }
   
   }

int BuyCount()
  {
   int count = 0 ;
   for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)
  {
     if ( OrderSelect (i, SELECT_BY_POS,MODE_TRADES) == true && 
        OrderMagicNumber()== magik &&                        
        OrderType() == OP_BUY )                       
        {
        count ++;
        }
    }
}

 
Artyom Trishkin :
고맙습니다.
 
nelenaby :

안녕하세요, 마지막 프랙탈에서 주문 시작을 쓰는 방법을 알려주세요. 하려고 했으나 테스터에서 열리지 않습니다.

세 번째 막대에서 프랙탈을 찾고 있는데 없을 수도 있습니다. 주기의 첫 번째 프랙탈을 찾습니다.

 
 for ( int s= 2 ; s< 100 ; s++) 
     {
    fr_down= iFractals ( Symbol (), 0 , MODE_LOWER, s);
     if (f!= 0 ) break ;
     }