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

 
플래그 유형의 전역 또는 정적 부울 변수로 만듭니다. 조건이 오고 flag=true일 때 주문을 열고 flag=false로 만듭니다. 이제 주문이 마감되면 새 주문이 열리지 않습니다. 조건이 사라지면 flag=True를 다시 설정합니다.
[삭제]  
Roger :
플래그 유형의 전역 또는 정적 부울 변수로 만듭니다. 조건이 오고 flag=true일 때 주문을 열고 flag=false로 만듭니다. 이제 주문이 마감되면 새 주문이 열리지 않습니다. 조건이 사라지면 flag=True를 다시 설정합니다.

주문이 열렸지만 N 조건 때문에 정확히 닫혔는지 확인하는 방법은 무엇입니까? 많은 조건이 있고 조건 N의 존재가 주문이 체결되었음을 보장하지 않기 때문입니다.

즉, 주문이 완료되었지만 조건 N의 트리거로 인해 n개의 초를 닫았다는 것을 알아야 합니다. 그리고 조건 N이 사라지고 주문이 닫힌 순간부터 n개 이상의 초가 경과하지 않은 경우 주문을 다시 열어야 합니다.

 
Xaoss1990 :

주문이 열렸지만 N 조건 때문에 정확히 닫혔는지 확인하는 방법은 무엇입니까? 많은 조건이 있고 조건 N의 존재가 주문이 체결되었음을 보장하지 않기 때문입니다.

즉, 주문이 완료되었지만 조건 N의 트리거로 인해 n개의 초를 닫았다는 것을 알아야 합니다. 그리고 조건 N이 사라지고 주문이 닫힌 순간부터 n개 이상의 초가 경과하지 않은 경우 주문을 다시 열어야 합니다.


Logic과 함께 Alert() , Print() 를 더 적극적으로 사용 하세요!
 
Xaoss1990 :

말씀해 주십시오. 전문가 여러분!

상황을 상상해보십시오. N 번째 조건의 트리거로 인해 중지가 트리거되었습니다 . 그러나 몇 초 후에 N 번째 조건이 사라졌습니다. N번째 조건이 사라진 후 거래를 다시 성사하기 위해 어떤 기능을 사용할 수 있습니까? 즉, 정확히 N번째 조건 때문에 중지가 특정 수의 막대 전에 트리거되었는지 확인해야 하고 N번째 조건이 사라졌으므로 다시 거래를 하십시오!!!


프로그래밍 방식으로 - 주문을 열 때 - 마법과 설명이 있습니다 - 주문이 열리는 조건에 대한 정보는 마법이나 설명에서 암호화될 수 있습니다

일반적으로 스탑은 조건이 아니라 가격 수준에 도달함으로써 트리거됩니다. 이 주문은 조건에 의해 마감될 수 있습니다.

 
Xaoss1990 :

주문이 열렸지만 N 조건 때문에 정확히 닫혔는지 확인하는 방법은 무엇입니까? 많은 조건이 있고 조건 N의 존재가 주문이 체결되었음을 보장하지 않기 때문입니다.

즉, 주문이 완료되었지만 조건 N의 트리거로 인해 n개의 초를 닫았다는 것을 알아야 합니다. 그리고 조건 N이 사라지고 주문이 닫힌 순간부터 n개 이상의 초가 경과하지 않은 경우 주문을 다시 열어야 합니다.

너무 어렵게 만들고 있습니까? 결국 조건 N이 발생할 수도 있지만 조건 X에 따라 닫힐 수 있습니다.

솔루션은 위치 관리 논리에 크게 의존합니다. 예를 들어 n개의 캔들 이전에 마감된 주문을 찾고 주문이 마감된 순간과 현재 순간에 이벤트 N을 확인합니다.

 
 int CountH,NewCountH,CountL,NewCountL;
 double ResistH,ResistL;
 
 //========================
 
 int start(){

 //--------------------------
   double bid = Bid;
   double UPPprice = bid+ 3000.0 * Point ;
   double LOWprice = bid- 3000.0 * Point ;
   NewCountH= 0 ;
   ResistH= 0 ;
   NewCountL= 0 ;
   ResistL= 0 ;
  
   while (LOWprice<UPPprice)
    {
      CountH= 0 ;
      CountL= 0 ;
       for ( int i= 1 ; i<= 6000 ; i++){  
           if (LOWprice> bid) if ( iHigh ( NULL , 60 ,i)>LOWprice && LOWprice> iLow ( NULL , 60 ,i))CountH++;  
           if (LOWprice<=bid) if ( iHigh ( NULL , 60 ,i)>LOWprice && LOWprice> iLow ( NULL , 60 ,i))CountL++;
       } 
       if (CountH>NewCountH){NewCountH=CountH;ResistH=LOWprice;} 
       if (CountL>NewCountL){NewCountL=CountL;ResistL=LOWprice;}   
      LOWprice=LOWprice+ 5 * Point ;
    }
 //----------------------------
 
 return ( 0 );
 }
이 주기를 "촉진"하는 방법은 무엇입니까? 아주 오랫동안 계산합니다.
 
DhP :

이 주기를 "촉진"하는 방법은 무엇입니까? 아주 오랫동안 계산합니다.


이해가 안될 수도 있지만 여기:

           if (LOWprice> bid) if ( iHigh ( NULL , 60 ,i)>LOWprice && LOWprice> iLow ( NULL , 60 ,i)) CountH++;  
           if (LOWprice<=bid) if ( iHigh ( NULL , 60 ,i)>LOWprice && LOWprice> iLow ( NULL , 60 ,i)) CountL++;
같은 조건
 
abolk :


이해가 안될 수도 있지만 여기:

동일한 조건 - 어떤 경우에도 CountH는 CountL과 같습니다.

아니요, 가격이 Bid보다 높으면 CountH를 계산하고 낮으면 CountL을 계산합니다.
 
DhP :
아니요, 가격이 Bid보다 높으면 CountH로 계산됩니까? 더 낮으면 - CountL


계산 속도를 높일 수 있습니다.

감소 i<= 6000

 
abolk :


계산 속도를 높일 수 있습니다.

a) 감소 i<= 6000
b) 막대의 시작 부분에서만 계산

) i의 수를 줄이는 것은 가능하지만 바람직하지 않다. 그래서 그는 1년 동안 바를 먹습니다.

b) 소절의 시작 부분에... 이것은 아마도 옵션일 것입니다. M15에서 작동합니다.

그러나 어쨌든 거의 2초로 계산됩니다.