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

 
silhouette :

주문 배치 알고리즘의 구현에 약간 매달렸습니다.

결론은 티켓이 있다는 것입니다. 티켓을 검색하는 조건으로 검색을 포함합니다.

주문 중 하나라도 마법과 일치하면 수정합니다.

또 다른 작업이 있습니다. 마법과 일치하는 주문이 없으면 새로운 보류 주문을 해야 합니다. if(OrderMagicNumber()!=magic)은 여기에서 작동하지 않습니다.

타사 사용자 정의 함수에 의존하지 않고 이 조건을 어떻게 구현할 수 있습니까?

모든 것이 매우 간단합니다. 부울 변수를 가져옵니다. 주문을 처리하기 전에 false로 설정하십시오. 주문이 처리되는 즉시 true로 변경합니다. 모든 주문을 확인한 후 변수 값을 확인하십시오. false로 유지되면 필요한 마법이 있는 단일 주문이 없는 것입니다. 새 주문을 엽니다.

 
midorum :

모든 것이 매우 간단합니다. 부울 변수를 가져옵니다. 주문을 처리하기 전에 false로 설정하십시오. 주문이 처리되는 즉시 true로 변경합니다. 모든 주문을 확인한 후 변수 값을 확인하십시오. false로 유지되면 필요한 마법이 있는 단일 주문이 없는 것입니다. 새 주문을 엽니다.

감사하다!
 
 

나는 ATR 표시기가 어떻게 작동 하는지 이해하고 동시에 그 코드를 연구하기로 결정했습니다. 본질은 이해했는데 이상하게 쓰네요.

시작 기능은 다음과 같습니다.

 int start()
  {
   int i,counted_bars= IndicatorCounted ();
//----
   if ( Bars <=AtrPeriod) return ( 0 );
//---- initial zero
   if (counted_bars< 1 )
       for (i= 1 ;i<=AtrPeriod;i++) AtrBuffer[ Bars -i]= 0.0 ;
//----
   i= Bars -counted_bars- 1 ;
   while (i>= 0 )
     {
       double high=High[i];
       double low =Low[i];
       if (i== Bars - 1 ) TempBuffer[i]=high-low;
       else
        {
         double prevclose=Close[i+ 1 ];
         TempBuffer[i]= MathMax (high,prevclose)- MathMin (low,prevclose);
        }
      i--;
     }
//----
   if (counted_bars> 0 ) counted_bars--;
   int limit= Bars -counted_bars;
   for (i= 0 ; i<limit; i++)
      AtrBuffer[i]= iMAOnArray (TempBuffer, Bars ,AtrPeriod, 0 , MODE_SMA ,i);
//----
   return ( 0 );
  }
//+----------------

다음은 오해가 있는 첫 번째 블록입니다.

 //---- initial zero
   if (counted_bars< 1 )
       for (i= 1 ;i<=AtrPeriod;i++) AtrBuffer[ Bars -i]= 0.0 ;
//----

counted_bars<1 의 값이면 무엇이든 하는 요점은 무엇입니까? 제 생각에 이것은 표시기가 단일 막대를 계산하지 않았으며 기능을 종료해야 하기 때문입니다. 아직 값이 없습니다... 캐치가 뭐죠?

AtrBuffer에 인덱스가 [Bars-i] 입니까? 결국, 내가 이해하는 바와 같이 여기서 요점은 값이 없으면 버퍼를 0.0으로 설정한다는 것입니다. 그러나 값 0.0은 (Bars) 에서 (AtrPeriod) 까지의 막대에 대해서만 설정되고 AtrPeriod 에서 0번째 막대 까지 버퍼에 아무 것도 기록되지 않는다는 것이 즉시 밝혀졌습니다 . 왜요?

나는 이 코드 조각을 이해하지 못한다.

다음 블록에서:

 //----
   i= Bars -counted_bars- 1 ;
   while (i>= 0 )
     {
       double high=High[i];
       double low =Low[i];
       if (i== Bars - 1 ) TempBuffer[i]=high-low;
       else
        {
         double prevclose=Close[i+ 1 ];
         TempBuffer[i]= MathMax (high,prevclose)- MathMin (low,prevclose);
        }
      i--;
     }
//----

줄에서:

 if (i== Bars - 1 ) TempBuffer[i]=high-low;

i==Bars-1 인 경우의 조건. 왼쪽 차트의 시작 부분부터 1번째 막대의 값을 고려한 것으로 나오네요.. 그런데 이게 너무 먼데 이 값이 무슨 소용이겠습니까?

[삭제]  

도움이 필요하다!

어드바이저가 주어진 드로다운 수준(예: 30%)에서 모든 미결 주문과 보류 중인 주문 을 마감하도록 하는 방법은 무엇입니까?

파일:
[삭제]  
OrderSend
(   string symbol, int cmd, double volume, double price, int slippage,
double stoploss, double takeprofit, string comment= NULL , int magic= 0 , datetime expiration= 0 , color arrow_color= CLR_NONE )

주문 기능에 날짜/시간 만료 매개변수가 있습니다 . 보류 중인 주문 이 작동하지 않으면 예를 들어 5분 후에 자체적으로 삭제되도록 무엇을 작성해야 합니까? TimeCurrent()+300 인가 아닌가?

 
BeerGod :

주문 설정 기능에 날짜/시간 만료 매개변수가 있습니다. 보류 중인 주문이 작동하지 않으면 예를 들어 5분 후에 삭제되도록 무엇을 작성해야 합니까? TimeCurrent()+300 인가 아닌가?

내가 실수하지 않으면 초가 표시됩니다. 그래서 당신 말이 맞아, 5분이 300이 될 것이다. 쉬지 않고 이익과 마감 시간 을 사용하려고 노력하고 그것을 인쇄에 표시하고 비교, 나는 이렇게합니다.
 
안녕하세요. 그것을 알아내는 사랑 도움, 비율은 0.10 스톱 200pip 200pip을 견뎌야 하는 데 얼마가 필요합니까?
 
laveosa :
안녕하세요. 그것을 알아내는 사랑 도움, 비율은 0.10 스톱 200pip 200pip을 견뎌야 하는 데 얼마가 필요합니까?
예를 들어 작업하는 계정에 따라 다릅니다. 정상 또는 센트. 0.01랏에 대한 1포인트 = 1센트(x10x200 = 20 USD)이고, 0.01랏에 대한 1포인트 = 10센트(x10x200 = 200 USD)가 됩니다.
 
paladin80 :
예를 들어 작업하는 계정에 따라 다릅니다. 정상 또는 센트. 0.01랏에 대한 1포인트 = 1센트(x10x200 = 20 USD)이고, 0.01랏에 대한 1포인트 = 10센트(x10x200 = 200 USD)가 됩니다.
1포인트 1센트가 있습니다. 그래서 200핍 스탑까지 내려가려면 20USD가 필요합니까?