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

 
abeiks :

마지막으로 알려진 서버 시간(TimeCurrent())에서 특정 날짜의 첫 번째 막대 열기(TimeDay(Time[80])까지 현재 차트의 막대는 몇 개 입니까 ?


iBarShift 가 도움이 될 것입니다
 
pu6ka :

iBarShift 가 도움이 될 것입니다

나는 하루 종일 고군분투했지만 성공하지 못했다. 아직까지는 경험이 아닙니다. :)

누군가이 기능을 작성할 수 있습니까?

 
abeiks :

나는 하루 종일 고군분투했지만 성공하지 못했다. 아직까지는 경험이 아닙니다. :)

누군가이 기능을 작성할 수 있습니까?

     int n = 0 ;                                           // индекс дня, в данном случае 0 - текущий день
datetime DayTime = iTime ( NULL , PERIOD_D1 , n);             // Начало дня "n" в секундах
     int cb = iBarShift ( NULL , 0 ,DayTime);                   // Получим на текущем ТФ индекс бара
 
Stells :

안녕하세요.

나는 이것이 어떻게 일어나는지 이해하지 못한다.

03:00:24 '9473965': 주문 매도 0.01 GBPUSD 0.00000 sl: 1.65314 tp: 0.00000 실패 [잘못된 S/L 또는 T/P]

이 코드로

시가가 0인 이유


오늘 밤이었나요? 그러면 손절매가 시가보다 낮았을 가능성이 큽니다. 매도 주문의 경우 손절매 가격 이 더 높아야 합니다.
 
pu6ka :


조금. 특히 이 TimeDay(Time[80]) 함수에서 하루의 시작 "n"을 초 단위로 가져와야 하지만 이것은 저에게 적합하지 않습니다.

 

나는 구멍의 존재에 대한 이야기를 평가하기로 결정했습니다.
다음과 같이 했습니다.

 int start() 
{
   if ( Time [ 0 ] > prev_time ) 
  {
     if ( iTime ( NULL , PERIOD_M1 , 0 )- iTime ( NULL , PERIOD_M1 , 1 ) > 200000 )
    {
      n=n+ 1 ;
       Print ( "n =" ,n , "" );
    }
    prev_time = Time [ 0 ];
  } 
  
   return ( 0 );
}

iTime이 초 단위로 계산되고 200,000 = 2.31일이라는 것을 올바르게 이해하고 있습니까?

그렇게 할 수 있습니까? (작동하는 듯, 총 6개 발견)

 
abeiks :

조금. 특히 이 TimeDay(Time[80]) 함수에서 하루의 시작 "n"을 초 단위로 가져와야 하지만 이것은 저에게 적합하지 않습니다.


특히 이 TimeDay(Time[80]) 함수 에서 몇 가지 중간 계산 을 더 수행해야 합니다. 아직 시간[80] 막대의 시간이 있습니다. 다음과 같이 더 쉬울 것입니다.

     int n = iBarShift ( NULL , PERIOD_D1 , Time [ 80 ]);           // индекс дня, которому принадлежит время бара - Time[80]
datetime DayTime = iTime ( NULL , PERIOD_D1 , n);             // Начало дня "n" в секундах
     int cb = iBarShift ( NULL , 0 ,DayTime);                   // Получим на текущем ТФ индекс первого бара дня "n"
 
sv. :

나는 구멍의 존재에 대한 이야기를 평가하기로 결정했습니다.

다음은 매우 유용한 스크립트 입니다. 저는 1년 이상 사용하고 있습니다. 따옴표 아카이브가 업로드되면 특히 오랫동안 설정을 탐구하지 않으려면 두 개의 매개 변수를 변경해야 합니다. 화면에서 빨간색 프레임으로 강조 표시됩니다.

차트에 던지고 보고서가 있는 파일이 있는 위치에 메시지가 표시될 때까지 몇 초 동안 기다리십시오.

 
addict :

구매 주문이 하나 열리지만 다시 주문할 수 있는 주문의 수는 무한합니다.


다음과 같이 함수에 쓰기

정수 시작()

if( OrdersTotal()==0 && CountTrades()==0)

{

OrderSend("EURUSD",OP_BUYLIMIT,l,1.36000,5,0,1.36000+tp*Point,"내 주문",1);

OrderSend("EURUSD",OP_BUYSTOP,l,1.36000,5,0,1.36000+tp*Point,"내 주문",1);

또 다른

{
OrderSend("EURUSD",OP_SELLLIMIT,l,1.36000,5,0,1.36000-tp*포인트,"내 주문",2);
OrderSend("EURUSD",OP_SELLSTOP,l,1.36000,5,0,1.36000-tp*포인트,"내 주문",2);
}

}

리턴(0);

}

//+----------------------------------------------- --------------------+

정수 CountTrades()

{

정수 개수 = 0;

for(int trade = OrdersTotal()-1; trade >=0; trade--)

{

OrderSelect (거래,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)

카운트++;

}

}

반환(카운트);

 
pu6ka :


특히 이 TimeDay(Time[80]) 함수 에서 몇 가지 중간 계산을 더 수행해야 합니다. 아직 시간[80] 막대의 시간이 있습니다. 다음과 같이 더 쉬울 것입니다.


고맙습니다! :)