[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 169

 
Vinin >> :

나는 무엇과 동등합니까?

요점만 표시하고 싶었습니다. i는 다음과 같이 정의됩니다.

   int counted_bars = IndicatorCounted ( ) , i ;
   i = Bars - counted_bars - 1 ;

   while ( i > = 0 ) {


저것들. 가장 높은 막대에서 시작하여 0이 됩니다.

표시기를 계속 실행하면 i의 0 값에 대해 모든 것이 작동하기 시작합니다(현재

값 등), 그러나 기록에는 아무것도 없습니다. 아마도 배열의 정의와 관련이 있다고 생각했습니다!

 
chief2000 писал(а) >>

요점만 표시하고 싶었습니다. i는 다음과 같이 정의됩니다.

저것들. 가장 높은 막대에서 시작하여 0이 됩니다.

표시기를 계속 실행하면 i의 0 값에 대해 모든 것이 작동하기 시작합니다(현재

값 등), 그러나 기록에는 아무것도 없습니다. 아마도 배열의 정의와 관련이 있다고 생각했습니다!

그런 다음 표시기의 전체 코드를 표시해야 합니다.

 
Vinin >> :

그런 다음 표시기의 전체 코드를 표시해야 합니다.

다음은 코드입니다. 문제와 관련되지 않은 모든 것을 제거했습니다.

 
#property indicator_chart_window
#property indicator_buffers 4



int    i;


// ------------------------------------------------------
extern int RSI_Periods = 14;
extern int Percent_K   = 14;

//---- buffers
// double Buffer1[];
double Buffer1[99000];

// double Current_RSI,Lowest_RSI,Highest_RSI,sum_K;
// ------------------------------------------------------




  
int init() {
   return(0);
}




// -------------------------------------------------------------------------------
int start() {

   int counted_bars = IndicatorCounted(),i;
   i = Bars - counted_bars - 1;

   while(i>=0) {

// ============================================================================================
      double Current_RSI, Lowest_RSI, Highest_RSI;


      Current_RSI    = iRSI(NULL,0,RSI_Periods,PRICE_TYPICAL,i);
      Highest_RSI    = Current_RSI;
      Lowest_RSI     = Current_RSI;

      for(int x=i+1; x<=Percent_K+i+1; x++){
         Lowest_RSI  = MathMin(Lowest_RSI, iRSI(NULL,0,RSI_Periods,PRICE_TYPICAL,x));
         Highest_RSI = MathMax(Highest_RSI,iRSI(NULL,0,RSI_Periods,PRICE_TYPICAL,x));
      }


      Buffer1[i]     = ((Current_RSI-Lowest_RSI) / (Highest_RSI-Lowest_RSI)) * 100;
// ============================================================================================



   Comment(
      "\n",
      "\n",
      "\n",
      "\n",
      "\n", "Current_RSI = "  , Current_RSI,
      "\n", "Highest_RSI = "  , Highest_RSI,
      "\n", "Lowest_RSI = "  , Lowest_RSI,
      "\n", "Percent_K = "  , Percent_K,
      "\n", "((Current_RSI-Lowest_RSI) / (Highest_RSI-Lowest_RSI)) * 100 = "  , ((Current_RSI-Lowest_RSI) / (Highest_RSI-Lowest_RSI)) * 100,
      "\n", "iRSI(NULL,0,RSI_Periods,PRICE_TYPICAL,i) = "  , iRSI(NULL,0,RSI_Periods,PRICE_TYPICAL,i),
      "\n", "i = "  , i,
//      "\n", "Percent_K = "  , Percent_K,
//      "\n", "Percent_K = "  , Percent_K,
      "\n",
      "\n",
      "\n", "Buffer1[i+30] = ",Buffer1[i+30],
      "\n", "Buffer1[i+12] = ",Buffer1[i+12],
      "\n", "Buffer1[i+1] = ", Buffer1[i+1],
      "\n", "Buffer1[i] = "  , Buffer1[i],
      "\n",
      "\n"
   );


      i--;
   }


   return(0);
}
 

조건에 따라 void ManagePositions() 작성을 시작하는 위치

배열이 있습니다
(tf = 0, tf < 5, tf++)
{
......
int TF[tf] - 시간 프레임 {5,15,30,60,240}
int 신호[tf] - "1" - 구매
- "2" - 가까운 매수
- "-1" - 매도
- "-2" - 마감 매도
int mn_b[tf] - 모든 시간 프레임에 대해 다른 magic_number_buy
int mn_s[tf] - 모든 시간 프레임에 대해 다른 magic_number_sell
}

필요한
열려 있는
시간 프레임 5.15에 한 방향으로 최대 3개의 주문이 열립니다.
- 1MM 주문 = 1돈
- 2차 MM = 2
- 3차 MM = 3
시간 프레임 30에서 한 방향으로 최대 2개의 주문이 열립니다.
- 1 주문 MM = 2
- 2차 MM = 3

시간 프레임 60에서 한 주문이 한 방향으로 열립니다.
- 1 주문 MM = 3

시간 프레임 240에서 열리지 않음

별도의 조건에서 2차 및 3차 추가 주문

한 방향으로 총 9개 이하의 주문을 받을 수 있습니다.

닫다
마감 시간이 있는 신호가 나타나면 매도가 이 TF의 모든 매도 주문을 마감합니다.
마감 매수가 있는 신호가 나타나면 이 TF의 모든 매수 주문을 마감합니다.


도와주세요, 제발

 

이 매직넘버가 있는 티켓이 처음인줄 안다면 티켓이나 주문번호를 어떻게 정하는지 설명 부탁드립니다..

미리 감사드립니다!

 

I.Kim님의 스레드 'KimIV의 유용한 기능'

GetTicketLastPos() 함수. 19페이지
이 함수는 마지막 열린 위치의 티켓 또는 -1을 반환합니다.
GetIndexLastPos() 함수. 17페이지
이 함수는 마지막 열린 위치의 인덱스 또는 -1을 반환합니다.
IndexByTicket() 함수. 12페이지
티켓별 주문 또는 포지션의 인덱스(주문 또는 오픈 포지션의 일반 목록에 있는 일련 번호)를 반환합니다. IndexByTicket() 함수가 필요한 티켓으로 주문이나 위치를 찾을 수 없으면 -1을 반환합니다.





 
rid >> :

I.Kim님의 스레드 'KimIV의 유용한 기능'

GetTicketLastPos() 함수. 19페이지
이 함수는 마지막 열린 위치의 티켓 또는 -1을 반환합니다.
GetIndexLastPos() 함수. 17페이지
이 함수는 마지막 열린 위치의 인덱스 또는 -1을 반환합니다.
IndexByTicket() 함수. 12페이지
티켓별 주문 또는 포지션의 인덱스(주문 또는 오픈 포지션의 일반 목록에 있는 일련 번호)를 반환합니다. IndexByTicket() 함수가 필요한 티켓으로 주문이나 위치를 찾을 수 없으면 -1을 반환합니다.





도와주셔서 감사합니다!

 
chief2000 >> :

다음은 코드입니다. 문제와 관련되지 않은 모든 것을 제거했습니다.


이유를 찾았습니다. 필요합니다.

i = Bars-30 - counted_bars - 1;

대신에

i = Bars - counted_bars - 1;


고맙습니다!

 

위의 내 코드에 대한 또 다른 기본 질문 - 정확히 동일한 표시기가 별도로 실행됩니다.

그리고 메인 창 아래에 있는 창 에 선을 그립니다 (그리고 위쪽 창에 다른 그래픽 개체를 추가하는 창).

while() 내부에 있는 두 개의 for 루프는 컴퓨터를 눈에 띄게 로드합니다.

- 하나의 코드로 직사각형, 화살표 등을 동시에 생성할 수 있습니까? 상단 및 라인

(RSI 유형 곡선) 하단?