[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 5. - 페이지 110

 
sergeev :

이 포럼은 무엇입니까

물론 주문의 대기열.


명쾌한 답변 감사합니다
 
Server :

명쾌한 답변 감사합니다

훨씬 더 이해하기 쉽습니다.

열린 직위 검색을 구성합니다. 기호, 유형 및 마법으로 필터링하십시오. 선택한 위치의 이익이 후행 트리거 기준을 충족하면 이 위치의 정지를 지정된 수준으로 이동하면서 이러한 작업의 정확성에 대한 모든 검사를 수행하는 것을 잊지 마십시오.

차례를 마쳤습니다... 다음... :)

 
alsu :



CCI 제로 크로싱에 대해 답변해 주셔서 감사합니다.
 
MK07 :

CCI 제로 크로싱에 대해 답변해 주셔서 감사합니다.

귀하는 SSI 교차가 계산되는 방법을 배웠습니다.

 //+------------------------------------------------------------------+
//|                                                    count bar.mq4 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012,mario"
#property link       ""

datetime TimeStart = 0 ;
//+------------------------------------------------------------------+
int init(){ return ( 0 );}
int deinit(){ Comment ( "" ); return ( 0 );}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   int f;
   double    MyPoint = 0.0001 ;
   bool      cu1     = false ;
   bool      cu2     = false ;
   double    ma_1    = iMA ( NULL , 0 , 31 , 0 , MODE_SMA , PRICE_OPEN , 0 );
   double    ma1     = iMA ( NULL , 0 , 11 , 0 , MODE_SMA , PRICE_OPEN , 0 );
   double    ma_2    = iMA ( NULL , 0 , 31 , 0 , MODE_SMA , PRICE_OPEN , 1 );
   double    ma2     = iMA ( NULL , 0 , 11 , 0 , MODE_SMA , PRICE_OPEN , 1 );
//Уточнение-при кое събитие ще запомни датата-пресичането
//Уточняем,когда запомнит время пересечения
   if (ma2<ma_2 && ma1>ma_1)
      TimeStart=Time[ 0 ]; 
   if (ma2>ma_2 && ma1<ma_1)
      TimeStart=Time[ 0 ];
//Кога е истината
//Когда истина
   if (ma1>ma_1)
      cu1= true ;
   if (ma1<ma_1)
      cu2= true ;
//Шифтвам до датата-когато има истина
//Шифт до дата истини
   if (cu1== true || cu2== true )  
       int b1=iBarShift( Symbol (), PERIOD_H1 , TimeStart);      
       int b2=iBarShift( Symbol (), PERIOD_H1 , TimeCurrent ());
//Преброяване на баровете-от нулевия до последната дата
//Пересчитаем бари от нуля до последная дата
     for ( int j=b2;j<=b1;j++){
         f=b1-b2;
      }
      
   Comment ( "\nВреме на брокера: " ,TimeToStr( TimeCurrent (),TIME_SECONDS), ", Локално време: " +TimeToStr( TimeLocal (),TIME_SECONDS),
             "\nТекущ спред: " ,DoubleToStr((Ask-Bid)/MyPoint, 1 ),
             "\n=====================" ,
             "\n Начална дата:           " ,TimeToStr(TimeStart,TIME_DATE|TIME_SECONDS), 
             "\n Брой барове:            " ,f,
             "\n=====================" 
             ); 
   return ( 0 );
  }
//+------------------------------------------------------------------+
그러면 할 수 있다고 생각합니다.
 
alsu :

표준 배송의 period_converter가 적합하지 않습니까?


아니요, 물론, 몇 주 이상을 잘못 형성합니다. 직접 사용하셨습니까?

동지, 브론토, 브론토!!! 돕다

또 다른 질문, 데이터 테스터가 부족한 오류는 무엇입니까? 테스터는 몇 개의 최소 막대를 시작해야 하며 이 제한이 필요한 이유는 무엇입니까?

이 설정을 수정할 수 있습니까?

 
ZZZEROXXX :


아니요, 물론, 몇 주 이상을 잘못 형성합니다. 직접 사용하셨습니까?

동지, 브론토, 브론토!!! 돕다

또 다른 질문, 데이터 테스터가 부족한 오류는 무엇입니까? 테스터는 몇 개의 막대를 실행해야 합니까?

설정에 1000만을 넣어라!
 
borilunad :
설정에 1000만을 넣어라!

나는 백만 개를 가지고 있습니다. 지금은 100개 미만의 막대가 있으면 테스터가 전혀 테스트하지 않는다는 것을 알았습니다. 그렇다면 질문은 다음과 같습니다. 100개 막대의 규칙이 준수되면 왜 이 100개 막대 내에서 테스트하지 않고 그 이후에만 시작합니까?
 
ZZZEROXXX :

나는 백만 개를 가지고 있습니다. 지금은 100개 미만의 막대가 있으면 테스터가 전혀 테스트하지 않는다는 것을 알았습니다. 그렇다면 질문은 다음과 같습니다. 100개 막대의 규칙이 준수되면 왜 이 100개 막대 내에서 테스트하지 않고 그 이후에만 시작합니까?
테스터가 진드기를 시뮬레이트하는 분 동안 천만 개의 막대. 그리고 100분 막대는 매우 적고 1분 차트에 맞는 막대는 더 적습니다. 테스터는 0.00에서 0.00까지 실행할 막대가 1440개 이상인 경우 수익을 올릴 수 있습니다! 이것은 아마도 최소값이지만 왜 필요합니까? 짧은 시간 동안 테스트하고 싶으십니까? 그러나 테스트를 시간 단위로 설정할 수는 없고 날짜 단위로만, 요일 단위로 설정할 수 있습니다. 나는 당신의 경우를 이해합니다.
 

다음은 표시기 기능입니다.

 //+-------------------------------------------------------------------------------------+
//| Определение индекса бара, с которого необходимо производить перерасчет              |
//+-------------------------------------------------------------------------------------+
int GetRecalcIndex( int & total)
{
   int counted_bars = IndicatorCounted();           // Сколько баров уже посчитано
   total = Bars - 1 ;                               // Определение первого бара истории
   if (indBarsCount > 0 && indBarsCount < total)   // Если не нужно рассчитывать всю..
      total = indBarsCount;                         // ..историю, то начнем с указанного..
                                                   // ..бара - indBarsCount
   if (counted_bars == 0 )                           // Кол-во посчитанных баров - 0. 
   {
      DeleteAllObjects();                           // Не забудем удалить все созданные..
                                                   // ..объекты
       return (total);                               // Нужно пересчитать всю историю
   }
   return ( Bars - counted_bars - 1 );                 // Начинаем с первого непосчитанного..
                                                   // ..бара
}

한 가지가 이해가 되지 않습니다. 일반적으로 계산되지 않은 막대의 수는 다음과 같이 확인됩니다.

막대 - counted_bars

요점은 이것입니다. 예를 들어, 500 개 막대. 500 도 계산했습니다. 위에서 제공한 함수를 실행한 후 함수는 500 - 500 - 1 = -1 값을 반환합니다. 이게 정상인가요?

그리고 마지막에 -1 이 아니면 0 을 반환합니다. 모든 막대가 계산 됩니다. 이 순간을 어떻게 이해해야 할까요?

 
hoz :

다음은 표시기 기능입니다.

한 가지가 이해가 되지 않습니다. 일반적으로 계산되지 않은 막대의 수는 다음과 같이 확인됩니다.

막대 - counted_bars

요점은 이것입니다. 예를 들어, 500 개 막대. 500 도 계산했습니다. 위에서 제공한 함수를 실행한 후 함수는 500 - 500 - 1 = -1 값을 반환합니다. 이게 정상인가요?

그리고 마지막에 -1 이 아니면 0 을 반환합니다. 모든 막대가 계산 됩니다. 이 순간을 어떻게 이해해야 할까요?

영점 막대는 아직 완료되지 않았기 때문에 "계산"할 수 없습니다.