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

 
Roger :
이 1분 동안 고문은 그를 위해 최대 40개의 주문을 엽니다.

첫 번째 항목이 열리지 않으면 어떻게 합니까? 다음 신호를 기다리시겠습니까? 괜찮은:

신호가 있습니다 --> 이 양초에 주문/포지션이 배치/개방되었는지 확인했습니다. 아니요 --> 우리는 배치/개시했습니다 --> 더 이상 필요하지 않음을 의미합니다.

 
Sepulca :

따라서 주문 수를 제어하거나 함수에 대한 첫 번째 호출만 제어해야 합니다.


그래서 당신과 같은 한 라인이 아닙니다.
 
도움을 주셔서 감사합니다. 기능이 작동 중입니다. 결과가 수신됩니다.
 
extern int SecondsAfterTheBar = 0; 

int start(){
...
if(NewBar() == TRUE){
...
}
return(0);
}

bool NewBar(){
   RefreshRates();
   static bool initial = FALSE;
   static datetime stat_dtime = 0;
   if ((TimeCurrent() - stat_dtime >= Time[0] - Time[1] + SecondsAfterTheBar) == TRUE){
      stat_dtime = Time[0];
    if (initial == TRUE){
      return(TRUE);
    }else{
      initial = TRUE;
      }
   }
  return(FALSE);
}

늦은 것 같지만 내 솔루션은 여전히 누군가에게 유용할 수 있습니다.

 
digits :

늦은 것 같지만 내 솔루션은 여전히 누군가에게 유용할 수 있습니다.


감사합니다. 더 보편적인 경우

bool NewBar(날짜 시간 SecondsAfterTheBar = 0)

그런 다음 호출할 때 지연을 초 단위로 지정할 수 있습니다.

 


안녕하세요 친구. 이전 양초 에서 표시기의 색상 값 을 가져와 변수에 쓰는 방법을 알려주십시오. 예를 들어 빨간색이면 이중 열 =1, 노란색이면 2, 녹색이면 3입니다. 내가 이해하는 것처럼 색상 값은 버퍼에 있는 단위의 존재 여부에 따라 다르지만 어떤 이유로 마지막 고정 값을 정확히 추출할 수 없습니다. 활성 양초에서 새 양초가 나타날 때 지속적으로 색상이 변경되고 이전 촛불은 마지막 활성 색상으로 닫힙니다. 어떻게 인식하나요?)

 #property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 1

#property  indicator_buffers 3
#property  indicator_color1  DarkGreen
#property  indicator_color2  Crimson
#property  indicator_color3  Yellow
//---- indicator parameters      
extern int RSI= 8 ;
extern int valeur1= 55 ;
extern int valeur2= 45 ;

//---- indicator buffers
double    ExtBuffer1[];
double    ExtBuffer2[];
double    ExtBuffer3[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- drawing settings
   SetIndexStyle ( 0 , DRAW_HISTOGRAM , EMPTY, 4 ,DarkGreen);
   SetIndexBuffer ( 0 ,ExtBuffer1);
   SetIndexStyle ( 1 , DRAW_HISTOGRAM , EMPTY, 4 ,Crimson);
   SetIndexBuffer ( 1 ,ExtBuffer2);
   SetIndexStyle ( 2 , DRAW_HISTOGRAM , EMPTY, 4 ,Yellow);
   SetIndexBuffer ( 2 ,ExtBuffer3);
//---- names
   IndicatorShortName( "RSI above/under 45/55" );
   SetIndexLabel( 0 , "RSI" +RSI + " is above 55" );
   SetIndexLabel( 1 , "RSI" +RSI + " is under 45" );
   SetIndexLabel( 2 , "RSI is in the mid zone " );
//---- initialization done
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Moving Averages                                                  |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if (counted_bars> 0 ) counted_bars--;
   limit= Bars -counted_bars;
//---- macd counted in the 1st buffer
   for ( int i= 0 ; i<limit; i++)
       if ( iRSI ( NULL , 0 ,RSI, PRICE_CLOSE ,i)<=valeur2) 
        {
        ExtBuffer2[i]= 1 ;
        }
       else
       if ( iRSI ( NULL , 0 ,RSI, PRICE_CLOSE ,i)>=valeur1)
        {
        ExtBuffer1[i]= 1 ;
        }
       else 
        ExtBuffer3[i]= 1 ;
   
   return ( 0 );
  }

색상은 다음과 같습니다.

지시자

답변 해주셔서 감사합니다.

 
Kero :


안녕하세요 친구. 이전 양초에서 표시기의 색상 값을 가져와 변수에 쓰는 방법을 알려주십시오. 예를 들어 빨간색이면 이중 열 =1, 노란색이면 2, 녹색이면 3입니다. 내가 이해하는 것처럼 색상 값은 버퍼에 있는 단위의 존재 여부에 따라 다르지만 어떤 이유로 마지막 고정 값을 정확히 추출할 수 없습니다. 활성 양초에서 새 양초가 나타날 때 지속적으로 색상이 변경되고 이전 촛불은 마지막 활성 색상으로 닫힙니다. 어떻게 인식하나요?)

 int col;
int start()
  {
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if (counted_bars> 0 ) counted_bars--;
   limit= Bars -counted_bars;
//---- macd counted in the 1st buffer
   for ( int i= 0 ; i<limit; i++)
       if ( iRSI ( NULL , 0 ,RSI, PRICE_CLOSE ,i)<=valeur2) 
        {
        ExtBuffer2[i]= 1 ; if (i= 1 )col = 1 ; return ;
        }
       else
       if ( iRSI ( NULL , 0 ,RSI, PRICE_CLOSE ,i)>=valeur1)
        {
        ExtBuffer1[i]= 1 ; if (i= 1 )col = 3 ; return ;
        }
       else 
       {
        ExtBuffer3[i]= 1 ;
         if (i= 1 )col = 2 ;
       }
   return ( 0 );
  }
이와 같이 - 색상이 숫자와 혼동되지 않는 경우
 

이것이 주문을 여는 조건입니까??? 제대로 이해한다

 
KeinRich :

이것이 주문을 여는 조건입니까??? 제대로 이해한다


이것은 사용자 정의 함수가 이름으로 무엇을 하는지 추측할 수 있기 때문에 마음이 원하는 모든 것의 조건입니다.
order_total( 0 )
open( 0 ,Lot, 0 ,TP);
last_trade( 1 );
modify_orders( 1 );

 
KeinRich :

안녕하세요 여러분 ... 얘들 아 여기에 쓰여진 내용을 알려주세요

정수 시작()
...

반환(0);

모두 순전히 내 추측에 따라 추측할 수 있습니다.

 int start() {
   Comment (Info());                 // Вывод какой-то информации на экран
   int KOL_BUY  = order_total( 0 );   // Подсчёт количества Buy-позиций
   int KOL_SELL = order_total( 1 );   // Подсчёт количества Sell-позиций
   double l;                              

   if (order_total()== 0 ) {           // Если количество ордеров равно нулю
      open( 0 ,Lot, 0 ,TP);             // Открываем Buy лотом Lot скорее всего без стопа, но с тейком
      open( 1 ,Lot, 0 ,TP);             // Открываем Sell лотом Lot скорее всего без стопа, но с тейком
      }
   if (KOL_BUY== 0 && KOL_SELL!= 0 ) { // Если нет Buy и есть Sell
      open( 0 ,Lot, 0 ,TP);             // Открываем Buy лотом Lot скорее всего без стопа, но с тейком
      l=last_trade( 1 );               // Берём лот прошлой Sell
      open( 1 ,l, 0 , 0 );                 // Открываем Sell лотом прошлой Sell скорее всего без стопа и тейка
      modify_orders( 1 );             // Что-то модифицируем в Sell (в какой и что - не понятно)
      }
   if (KOL_BUY!= 0 && KOL_SELL== 0 ) { // Если нет Sell и есть Buy
      open( 1 ,Lot, 0 ,TP);             // Открываем Sell лотом Lot скорее всего без стопа, но с тейком
      l=last_trade( 0 );               // Берём лот прошлой Buy
      open( 0 ,l, 0 , 0 );                 // Открываем Buy лотом прошлой Buy скорее всего без стопа и тейка
      modify_orders( 0 );             // Что-то модифицируем в Buy (в какой и что - не понятно)
      }
   return ( 0 );                       // Выход из start()
}