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

 
FAQ :


이해하고 더 많은 질문:

따라서 기능을 사용하여 양초의 여는 시간을 제어해야 합니다. iTime

iTime 기능을 사용하여 양초의 여는 시간을 제어하려고했습니다.

주문은 15시간 캔들에서 시작되지만 15시간 캔들은 종종 첫 번째 캔들이 아닙니다.

그 전에 이전 양초는 이미 1.3000과 접촉하고 있었습니다.

그리고 1.3000을 넘은 15시간 양초 이전에 다른 양초가 없도록 해야 합니다.

고맙습니다.

 
때때로 초보자는 ... 정확히 논리, 단순한 인간 논리에 의해 곤경에 처합니다. 프로그래밍은 다소 선형적입니다. 귀하의 조건을 한 줄로 생각해보십시오.
 
FAQ :
때때로 초보자는 ... 정확히 논리, 단순한 인간 논리에 의해 곤경에 처합니다. 프로그래밍은 다소 선형적입니다. 귀하의 조건을 한 줄로 생각해보십시오.

내 아이디어를 그래픽으로 보여드리겠습니다.

http://clip2net.com/s/5vbxUK

이 아이디어를 한 줄에 어떻게 맞추겠습니까?

고맙습니다.
 
시간에, 역순으로. 이것이 프로그램이 분석하는 방법입니다. 결정 지점에 있다고 상상해보십시오.
 
FAQ :
시간에, 역순으로. 이것이 프로그램이 분석하는 방법입니다. 결정 지점에 있다고 상상해보십시오.

죄송합니다. 의도를 잘 이해하지 못합니다.

코드의 형태로 어떻게 보일지 적어주시면 감사하겠습니다..

고맙습니다.

 
solnce600 :

좋은 오후에요 여러분!

나는 그러한 아이디어를 인코딩하는 방법을 알려줄 사람에게 매우 감사할 것입니다.


TF 5 일정

현재 입찰가는 1.3150입니다.

가격 수준이 있습니다 - 1.3000.

가격이 내려가고 있습니다.

======================================

// 가격이 1.3000을 넘으면

// 가격이 처음으로 1.3000을 넘으면

// 가격 처음으로 1.3000을 넘고 교차점 에서 15 시간 캔들 안에 있는 경우 (즉, 15:00, 15:05 ..... 15:55)


// 거래를 엽니다.

=====================================

고맙습니다.



이것은 완전한 구현이 없는 아이디어일 뿐입니다

 외부 더블 크로스레벨 = 1.3 ;
외부 정수 시간 = 15 ;

정수 시작 (){
    공전 정수 가로 질러 가다 = 0 ;

    만약 ( TimeHour ( TimeCurrent ()) == 시간 ) { // 초는 시간에 해당합니다.
        만약 ( isCrossPrice ( crossLevel , Bid )) { //레벨 교차가 유효한 입찰
            십자가 ++ ;
            만약 ( 십자가 == 1 ) { // 레벨의 첫 번째 열거
                만약 ( 이 양초에서 이전에 주문이 열리지 않았습니다 ) { // 이 검사를 직접 구현
                    오픈 오더 () ; // 주문 열기 - 직접 구현
                    가로 질러 가다 = 0 ;
                }
            }
        }
    }
}

부울 isCrossPrice ( 더블 레벨 , 더블 가격 ){
    부울 입술 = 거짓 ;
    공전 더블 이전 = 0 ;

    만약 ( 이전 > 0 ) {
        만약 (( 이전 <= 수준 && 가격 > 수준 ) || // 레벨 교차
            ( 이전 >= 수준 && 가격 < 수준 )) { // 레벨 크로싱 다운
            입술 = 사실 ;
        }
    }
    이전 = 가격 ;
    반환 ( res ) ;
}
 
keekkenen :

이것은 완전한 구현이 없는 아이디어일 뿐입니다


정말 감사합니다.
 
solnce600 :


죄송합니다. 의도를 잘 이해하지 못합니다.

코드의 형태로 어떻게 보일지 적어주시면 감사하겠습니다..

고맙습니다.


코드는 아직 멀었고 원리, 알고리즘을 깨닫게 됩니다. 따라서 알고리즘을 구성하는 방법을 배우자마자 코드에 대해 즉시 기분이 나아질 것입니다.
 

이틀 동안 나는 고통을 겪고 그것을 알아낼 수 없습니다. 마지막 n개의 막대에 대한 최저가를 찾아야 하지만 현재 막대가 아닌 함수를 통해 받은 막대에서 찾아야 합니다. 함수는 주문이 열린 막대의 인덱스를 반환합니다. 역사상 가장 낮은 가격 n개의 막대를 찾아야 하는 것은 이 막대에서입니다. 아래는 내 코드입니다. 무엇이 잘못되었습니까?

 double low_price_n_bar()
 {
   
   double low_bar= 100000 , index_bar;
   
   for ( int i=time_orders; i<=count_bar; i++) //time_orders индекс бара получаемого из функции, count_bars внешняя переменная количество баров для сдвига назад по истории
   {
    index_bar= ND(iLow( Symbol (), 0 ,i));
     if (index_bar<low_bar)
    {
      low_bar=index_bar;     
    }
   
   }
   return (low_bar);
 }
 

친애하는 포럼 사용자! 도움을 요청합니다.


if (TimeBar==시간[0]) return(0);


이중 MA1 = NormalizeDouble (iMA(NULL,TimeFrame_2,MA_Period_2,MA_Shift_2,MA_Method_2,Applied_Price_2,0),Digits); // 여기서 0은 지정된 현재 막대를 기준으로 한 이동입니다. 이전 기간 수
//더블 MA21 = NormalizeDouble(iMA(NULL,timeframe_2,period_2,ma_shift_2,ma_method_2,applied_price_2,2),Digits);
이중 MA2 = NormalizeDouble(iMA(NULL,TimeFrame_3,MA_Period_3,MA_Shift_3,MA_Method_3,Applied_Price_3,0),자리수);
//더블 MA31 = NormalizeDouble(iMA(NULL,timeframe_3,period_3,ma_shift_3,ma_method_3,applied_price_3,2),Digits);
이중 MA3 = NormalizeDouble(iMA(NULL,TimeFrame_4,MA_Period_4,MA_Shift_4,MA_Method_4,Applied_Price_4,0),자리수);

이중 OsMA = NormalizeDouble(iOsMA(NULL,TimeFrame_5,FastEMA_5,SlowEMA_5,SignalSMA_5,Applied_Price_5,0),자리수);

if (MaxOrders>b && Low[0]>=MathMax(MA1,MA2)&& Low[0]>MA3 && Ask>MathMax(MA1,MA2)+DeltaOpen*Point && Ask>MA3 && MA2<MA3 && MA1<MA3 && OSMA>0 && 무역)
{
if (OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slippage,SL,TP,"Puria_1",Magic,0,Blue) ==-1) TimeBar=0;
else TimeBar=시간[0];

}
if (MaxOrders>s && High[0]<=MathMin(MA1,MA2) && High[0]<MA3 && Bid<MathMin(MA1,MA2)-DeltaOpen*Point && Bid<MA3 && MA1>MA3 && MA2>MA3 && OSMA<0 && 무역)
{
if (OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),Slippage,SL,TP,"Puria_1",Magic,0,Red) ==-1) TimeBar=0;
else TimeBar=시간[0];
}

리턴(0);


이러한 조건에서 고문은 예를 들어 SELL에서 거래를 열고 이익으로 닫고 즉시 SELL에서 다른 거래를 엽니다. 신호가 도착하면 하나의 거래만 열려야 한다는 조언자를 작성하는 방법, 즉 하나의 신호 - 하나의 거래.
미리 감사드립니다.