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

 

알려주십시오. 여러 통화 쌍의 움직임을 기반으로 지표를 만들었지만 발생하면 다시 계산됩니다. 우주는 없습니다 - 그는 양초의 매개 변수를 나타냅니다. 아마도 그는 망하고 있기 때문에

양초는 이 양초에 대한 첫 번째 틱이 도착한 순간부터 열리기 시작하며, 한 악기에 대해 새 양초 가 이미 진행 중인 경우 두 번째 양초에 대해서는 아직 형성되지 않은 것입니다. 여기 개가 뒤돌아본 것 같아요.

말해봐, 새로운 양초가 모두 형성되었을 때만 계산을 잘못하도록 강제하는 방법이 있습니까? 아마도 iTime(symbol1,,1)==iTime(symbol2,,1)?

 

좋은 오후입니다 동료들!

코드의 논리가 올바른지 알려주세요.

수식에서 코드의 본질:

TRIN = (상승 쌍/하락 쌍)/ (상승 쌍의 양/하락 쌍의 양)

 double Index[];
double instr_up, instr_dn, vol_dn, vol_up;
//+------------------------------------------------------------------+
int init()
{
   SetIndexBuffer ( 0 ,Index);
   SetIndexStyle( 0 , DRAW_LINE );   
   string Tf;
   if ( Period ()== 1 ) Tf= "M1" ;
   if ( Period ()== 5 ) Tf= "M5" ;
   if ( Period ()== 15 ) Tf= "M15" ;
   if ( Period ()== 30 ) Tf= "M30" ;
   if ( Period ()== 60 ) Tf= "H1" ;
   if ( Period ()== 240 ) Tf= "H4" ;
   if ( Period ()== 1440 ) Tf= "D1" ;
   if ( Period ()== 10080 ) Tf= "W1" ;
   if ( Period ()== 43200 ) Tf= "MN" ;         
         string short_name= "TRIN(" +Depth+ "," +Tf+ ")" ;
        IndicatorShortName(short_name);
   IndicatorDigits( 0 );
   return ( 0 );
}

//---- функция проверки цены закрытия на максимум Доллара США за период Depth
int newh( string symbol, int i)
      {
         datetime time_bar = Time[i];
         int bar_no = iBarShift(symbol, Period (), time_bar, false );
                
         if (symbol== "EURUSD" || symbol== "GBPUSD" || symbol== "AUDUSD" || symbol== "NZDUSD" )
            {

               int j=iLowest(symbol, Period (),MODE_CLOSE,Depth,bar_no);
               if (iClose(symbol, Period (),bar_no)==iClose(symbol, Period (),j))                    
                  {
                     int nh= 1 ;                                                 
                  }
               else                                                                  
                  {
                     nh= 0 ;                                              
                  }       
            }
         else
            {
               j=iHighest(symbol, Period (),MODE_CLOSE,Depth,bar_no);
               if (iClose(symbol, Period (),bar_no)==iClose(symbol, Period (),j))                    
                  {
                     nh= 1 ;                                                 
                  }
               else                                                                  
                  {
                     nh= 0 ;                                              
                  }             
            }
         return (nh);      
      }

//---- функция проверки цены закрытия на минимум Доллара США за период Depth
int newl( string symbol, int i)
      {
         datetime time_bar = Time[i];
         int bar_no = iBarShift(symbol, Period (), time_bar, false );      
      
         if (symbol== "EURUSD" || symbol== "GBPUSD" || symbol== "AUDUSD" || symbol== "NZDUSD" )
            {
               int j=iHighest(symbol, Period (),MODE_CLOSE,Depth,bar_no);
               if (iClose(symbol, Period (),bar_no)==iClose(symbol, Period (),j))                    
                  {
                     int nl= 1 ;                                                 
                  }
               else                                                                  
                  {
                     nl= 0 ;                                              
                  }       
            }
         else
            {
               j=iLowest(symbol, Period (),MODE_CLOSE,Depth,bar_no);
               if (iClose(symbol, Period (),bar_no)==iClose(symbol, Period (),j))                    
                  {
                     nl= 1 ;                                                 
                  }
               else                                                                  
                  {
                     nl= 0 ;                                              
                  }             
            }
         return (nl);      
      }
//+------------------------------------------------------------------+
int start()
{
   int limit= Bars -IndicatorCounted();
   for ( int i= 1 ; i<limit; i++)
          {       
              if (newh( "EURUSD" ,i) > 0                               //-- Если пара росла, то
             {instr_up=instr_up+ 1 ;vol_up+=iVolume( "EURUSD" , 0 ,i);}    //-- instr_up - увеличиваем на 1 и vol_up - увеличиваем на Volume по этой паре    
           else //if (newl("EURUSD",i) > 0)                          //-- иначе
               {instr_dn=instr_dn+ 1 ;vol_dn+=iVolume( "EURUSD" , 0 ,i);}    //-- instr_dn - увеличиваем на 1 и vol_dn - увеличиваем на Volume по этой паре
              
             if (newh( "GBPUSD" ,i) > 0 )
             {instr_up=instr_up+ 1 ;vol_up+=iVolume( "GBPUSD" , 0 ,i);}
           else //if (newl("GBPUSD",i) > 0)
              {instr_dn=instr_dn+ 1 ;vol_dn+=iVolume( "GBPUSD" , 0 ,i);}
            
             if (newh( "USDCHF" ,i) > 0 )
             {instr_up=instr_up+ 1 ;vol_up+=iVolume( "USDCHF" , 0 ,i);}
           else //if (newl("USDCHF",i) > 0)
              {instr_dn=instr_dn+ 1 ;vol_dn+=iVolume( "USDCHF" , 0 ,i);}
            
             if (newh( "USDJPY" ,i) > 0 )
             {instr_up=instr_up+ 1 ;vol_up+=iVolume( "USDJPY" , 0 ,i);}
           else if (newl( "USDJPY" ,i) > 0 )
              {instr_dn=instr_dn+ 1 ;vol_dn+=iVolume( "USDJPY" , 0 ,i);}
            
             if (newh( "AUDUSD" ,i) > 0 )
             {instr_up=instr_up+ 1 ;vol_up+=iVolume( "AUDUSD" , 0 ,i);}
           else //if (newl("AUDUSD",i) > 0)
              {instr_dn=instr_dn+ 1 ;vol_dn+=iVolume( "AUDUSD" , 0 ,i);}
            
             if (newh( "USDCAD" ,i) > 0 )
             {instr_up=instr_up+ 1 ;vol_up+=iVolume( "USDCAD" , 0 ,i);}
           else //if (newl("USDCAD",i) > 0)
              {instr_dn=instr_dn+ 1 ;vol_dn+=iVolume( "USDCAD" , 0 ,i);}
            
             if (newh( "NZDUSD" ,i) > 0 )
             {instr_up=instr_up+ 1 ;vol_up+=iVolume( "NZDUSD" , 0 ,i);}
           else //if (newl("NZDUSD",i) > 0)
              {instr_dn=instr_dn+ 1 ;vol_dn+=iVolume( "NZDUSD" , 0 ,i);}   
     
     if (instr_dn == 0 )instr_dn=EMPTY;    // -- Если 
     if (vol_dn == 0 )vol_dn=EMPTY;        // -- значения
     if (instr_up == 0 )instr_up=EMPTY;    // -- нулевые
     if (vol_up == 0 )vol_up=EMPTY;
     
     Index[i]=(instr_up/instr_dn)/(vol_up/vol_dn);    // -- TRIN
     
     instr_up= 0 ;instr_dn= 0 ;vol_up= 0 ;vol_dn= 0 ;    // -- Обнуление
     }
     
         return ( 0 );
}

다음은 일어난 일입니다.

트린

고맙습니다!

 

말해주세요

1 전문가가 잔액을 보충할 수 있습니까?

2 거래자가 무료 자금에 대해 %를 보유하고 있는 경우 - 테스터에서 구현하는 방법 또는 어쨌든 작동합니까?

 

1. 테스트 목적이라면 초기 금액을 잘 설정하고 원하는 금액을 기반으로 MM을 구축하는 것이 더 쉽습니다.

2. 테스트 목적으로 이것은 절대적으로 필요하지 않습니다. 보급이 더 중요합니다.

 
splxgf :

1. 테스트 목적이라면 초기 금액을 잘 설정하고 원하는 금액을 기반으로 MM을 구축하는 것이 더 쉽습니다.

2. 테스트 목적으로 이것은 절대적으로 필요하지 않습니다. 보급이 더 중요합니다.


1과 2는 내가 테스트하는 방법과 대상, 그리고 왜 필요한지 알고 있습니까? 내 전문가가 보이나요? 내가 더 낫다고 말해줄래?

그리고 간식의 경우 스프레드는 나에게 중요하지 않지만 스왑은 중요합니다)))) 전문가가 다릅니다

 
sdm :


1과 2는 내가 테스트하는 방법과 대상, 그리고 왜 필요한지 알고 있습니까? 내 전문가가 보이나요? 내가 더 낫다고 말해줄래?

그리고 간식의 경우 스프레드는 나에게 중요하지 않지만 스왑은 중요합니다)))) 전문가가 다릅니다


아니면 여기 당신 . 또는 질문하는 방법을 배우지 않았습니다.
 
sdm :


1과 2는 내가 테스트하는 방법과 대상, 그리고 왜 필요한지 알고 있습니까? 내 전문가가 보이나요? 내가 더 낫다고 말해줄래?

그리고 간식의 경우 스프레드는 나에게 중요하지 않지만 스왑은 중요합니다)))) 전문가가 다릅니다


글쎄요, 이자가 붙으면 댓글을 자제하는 게 좋을 것 같아요... 스왑의 경우 1년 동안 주문을 보류하고 스왑은 전혀 움직이지 않습니다.

이 기간 동안 금리 는 변경될 시간이 있습니까? 아니면 미래에 대한 예측과 함께 모든 것을 계획하고 있습니까?

 
Vinin :

아니면 여기 당신 . 또는 질문하는 방법을 배우지 않았습니다.
이러한 질문은 수사학적이며 모든 사람을 대상으로 한 것은 아니지만 의견의 틀 내에서만 가능하며 귀하의 링크가 적절하지 않습니다.
 
sdm :
이러한 질문은 수사학적이며 모든 사람을 대상으로 한 것은 아니지만 의견의 틀 내에서만 가능하며 귀하의 링크가 적절하지 않습니다.

또 다른 트릭과 목욕. 장문의 질문을 포함하여 다른 포럼 참가자에 대한 잘못된 태도
 
splxgf :


글쎄요, 이자가 붙으면 댓글을 자제하는 게 좋을 것 같아요... 스왑의 경우 1년 동안 주문을 보류하고 스왑은 전혀 움직이지 않습니다.

이 기간 동안 금리는 변경될 시간이 있습니까? 아니면 미래에 대한 예측과 함께 모든 것을 계획하고 있습니까?

반복합니다. 모든 전문가(시스템)가 다릅니다. 1년 안에 스왑이 전체 이익(일부 거래에서)을 먹어치울 것이며, 이자와 함께 무료 자금의 미미한 증가로 잔액이 크게 증가하는 것으로 보입니다. 시트를 얻었고 그것이 무엇인지는 중요하지 않습니다. 예측하지 않지만 가지고있는 것을 사용하려고합니다.