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

 
TarasBY :

이 같은:

현재 시간부터 Time_Control까지의 지그재그 극단을 배열로 수집합니다.


 void fGet_ExtremumsZZPrice ( string fs_Symbol,           // инструмент
                             int fi_TF,                   // таймфрейм
                             datetime fdt_TimeControl,   // время, до которого ищем экстремумы
                             int fi_ExtDepth = 12 ,       // ExtDepth         
                             int fi_ExtDeviation = 5 ,     // ExtDeviation
                             int fi_ExtBackstep = 3 )     // ExtBackstep
{
     double ld_Value, lda_Extremum[];
     int     li_size = iBarShift (fs_Symbol, fi_TF, fdt_TimeControl), li_IND = 0 ;
//---- 
     for ( int li_Bar = 1 ; li_Bar < li_size; li_Bar++)
    {
        ld_Value = iCustom (fs_Symbol, fi_TF, "ZigZag" , fi_ExtDepth, fi_ExtDeviation, fi_ExtBackstep, 0 , li_Bar);
         if (ld_Value != 0 .)
        {
             ArrayResize (lda_Extremum, li_IND + 1 );
            lda_Extremum[li_IND] = ld_Value;
            li_IND++;
        }
    }
//---- 
}

그리고 그런 순간을 알려주십시오. 모든 지그재그를 계산하는 방법, 몇 개입니까?

 

여보세요,

문법에 대해 미리 사과드립니다 :/. 문제는 견적 내역(코드를 통해)을 다시 작성하는 방법입니다. Hotelosby는 MT4를 사용하여 다른 브로커의 데이터를 분석합니다.
 
berezhnuy :

그리고 그런 순간을 알려주십시오. 모든 지그재그를 계산하는 방법, 몇 개입니까?




li_IND 변수 등에 기록됨
count= ArraySize (lda_Extremum);
 
berezhnuy :

그리고 그런 순간을 알려주십시오. 모든 지그재그를 계산하는 방법, 몇 개입니까?

이렇게 하면:

 int fGet_ExtremumsZZPrice ( string fs_Symbol,           // инструмент
                           int fi_TF,                   // таймфрейм
                           datetime fdt_TimeControl,   // время, до которого ищем экстремумы
                           int fi_ExtDepth = 12 ,       // ExtDepth         
                           int fi_ExtDeviation = 5 ,     // ExtDeviation
                           int fi_ExtBackstep = 3 )     // ExtBackstep
{
     double ld_Value, lda_Extremum[];
     int     li_size = iBarShift (fs_Symbol, fi_TF, fdt_TimeControl), li_IND = 0 ;
//---- 
     for ( int li_Bar = 1 ; li_Bar < li_size; li_Bar++)
    {
        ld_Value = iCustom (fs_Symbol, fi_TF, "ZigZag" , fi_ExtDepth, fi_ExtDeviation, fi_ExtBackstep, 0 , li_Bar);
         if (ld_Value != 0 .)
        {
             ArrayResize (lda_Extremum, li_IND + 1 );
            lda_Extremum[li_IND] = ld_Value;
            li_IND++;
        }
    }
//----
    return (li_IND);
}
- 함수는 fdt_TimeControl 이후에 발견된 극값의 수를 반환합니다.
 

덕분에

 

여보세요,

설정에서 1 : 1의 고정 스케일 차트가 가능하다고 전문가에게 쓰는 것이 가능합니까?

가능하다면 방법을 알려주세요.

미리 감사드립니다.

 
내 차트에서 몇 초마다 촛불의 색상이 컬러로 바뀌고 다시 흑백으로 바뀝니다. 이전에는 그렇지 않았습니다. 어떻게 든 이것을 끌 수 있습니까?
 

안녕하세요.

a=true 및 b=true 조건에서 두 개의 보류 중인 주문 (BuyStop 및 SellStop)을 여는 코드를 작성했으며 잠시 후 어드바이저는 두 번째 신호가 나타날 때까지 두 주문을 모두 닫지만 때로는 어드바이저가 2개의 보류 중인 주문을 같은 방향. 왜 이런 일이 일어나고 이 "버그"를 피하는 방법은 무엇입니까?



if (a=true && b=true)
{
정수 주문 수 = 주문 총계();
if (OrderCount>1) return(0);
ticket1=OrderSend(Symbol(), OP_BUYSTOP, getLot(), PriceOpen_Buy, 슬리피지, PriceOpen_Sell,0,0,Green);
수면(1000);

ticket2=OrderSend(Symbol(), OP_SELLSTOP, getLot(), PriceOpen_Sell, 슬리피지, PriceOpen_Buy,0,0,Green);

절전(1000*59*시간 프레임);

(int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) 중단;
if (OrderType()==OP_BUYSTOP ) OrderDelete(OrderTicket());
if (OrderType()==OP_SELLSTOP ) OrderDelete(OrderTicket());
if (OrderType()==OP_SELL ) OrderClose(OrderTicket(),OrderLots(),Ask,slippage);
if (OrderType()==OP_BUY ) OrderClose(OrderTicket(),OrderLots(), 입찰, 미끄러짐);
}

리턴(0);

}


말해 주세요.

미리 감사드립니다

 
r772ra :



이러한 변수의 값은 tayseries 배열에 저장됩니다.

즉, 당신은 괜찮습니다.

정황,

감사합니다 시도해보겠습니다)
 
Shixan :

안녕하세요.

a=true 및 b=true 조건에서 두 개의 보류 중인 주문(BuyStop 및 SellStop)을 여는 코드를 작성했습니다. 잠시 후 어드바이저는 두 번째 신호가 나타날 때까지 두 주문을 모두 닫지만 때로는 어드바이저가 2개의 보류 중인 주문을 같은 방향. 왜 이런 일이 일어나고 이 "버그"를 피하는 방법은 무엇입니까?

말해 주세요.

미리 감사드립니다

아마도 여기:

 if (OrderCount> 0 ) return ( 0 );

사실, 그들은 그렇게 많이 "자지" 않습니다 - Sleep(1000*59*TimeFrame); - 새로운 틱이 와서 코드가 작동하기 시작하고 두 개의 주문이 열린 다음 "2시간" 동안 일시 중지(조건부)한 다음 닫기를 시도합니다. 갑자기 주문 중 하나가 해당 가격으로 시장 하나가 된 경우 2시간 전에 받았습니다 - ORIGINAL!!! 누가 가르쳤어???

주문 개시 시간을 전역 변수 로 고정하고 TimeCurrent()와 고정 시간의 차이를 제어할 수 있습니다.