[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 772

 
FoxUA :


상황에 대한 추가 설명을 피하기 위해. FoxUA 는 모든 미묘함을 드러낼 질문으로 자신의 주제를 만듭니다. "초보자 질문..."은 "빠른" Q&A의 주제입니다.
 
DDFedor :

상황에 대한 추가 설명을 피하기 위해. FoxUA 는 모든 미묘함을 드러낼 질문으로 자신의 주제를 만듭니다. "초보자 질문..."은 "빠른" Q&A의 주제입니다.

나는 태도를 명확히 하지 않지만 나에게 하는 말에 대해 논평한다.

아무도 속도에 대해 이야기하지 않지만 도움이되지 않는 의미없는 댓글

 
FoxUA :

Andrey, 혼란스럽습니다. 코드를 보니 HaveBuyLimitOrderEnd 변수는 이 구성에서만 찾을 수 있습니다.

  if (HaveBuyLimitOrderEnd== true) 
  {DeleteOrder();  // Выбираем            
  }}

그리고 그 위에 다음과 같은 몇 가지 게시물을 작성합니다.

일반적으로 본질은 불만이 없지만 첫 번째 의미가 그에게 충족되는 것과 같습니다.

if ( HaveBuyLimitOrderEnd == true)
{ModifyBuyStopOrder(PRAskS); // 선택하다
} }

그러면 어떻게 되어야 합니까?

 
ToLik_SRGV :

Andrey, 혼란스럽습니다. 코드를 보니 HaveBuyLimitOrderEnd 변수는 이 구성에서만 찾을 수 있습니다.

그리고 그 위에 몇 가지 게시물을 작성합니다.

그래서 어떻게 되어야 합니까?



그것은 그렇습니다. 여기에 캐비티의 논리적 부분이 있으므로 블록은 조건에서 거의 동일한 차이가 있습니다.

 if (bs== 1 &&bl== 1 )
{OpenBuyLimitOrder(Lot* 7 ,PRAskL); 
   if (HaveBuyStopOrder== true ) 
  ModifyBuyStopOrder(PRAskS);   // Выбираем            
      
  }   

if (bt== 1 &&bl== 1 ) 
{OpenBuyStopOrder(Lot,PRBidS);
   if (HaveBuyLimitOrder== true ) 
  ModifyBuyLimitOrder(PRAskL);   // Выбираем            
  } 

if (ss== 1 &&sl== 1 )
{OpenSellLimitOrder(Lot* 7 ,PRBidL); 
   if (HaveSellStopOrder== true ) 
  ModifySellStopOrder(PRBidS);   // Выбираем            
  } 

if (st== 1 &&sl== 1 )
{OpenSellStopOrder(Lot,PRBidS); 
   if (HaveSellLimitOrder== true ) 
  ModifySellLimitOrder(PRBidL);   // Выбираем            
  } 

   if (bs== 1 &&bl== 3 )
{OpenBuyLimitOrderEnd(Lot* 15 ,PRAskL); 
   if (HaveBuyStopOrder== true ) 
  ModifyBuyStopOrder(PRAskS);   // Выбираем            
  } 

if (bt== 1 &&bl== 3 ) 
{OpenBuyStopOrder(Lot,PRBidS);
OpenBuyLimitOrder(Lot* 3 ,PRAskL);
   if (HaveBuyLimitOrder== true ) 
  DeleteOrder();   // Выбираем            
  } 

if (ss== 1 &&sl== 3 )
{OpenSellLimitOrderEnd(Lot* 15 ,PRBidL); 
   if (HaveSellStopOrder== true ) 
  ModifySellStopOrder(PRBidS);   // Выбираем            
  } 

if (st== 1 &&sl== 3 )
{OpenSellStopOrder(Lot,PRBidS);
OpenSellLimitOrder(Lot* 3 ,PRBidL);
   if (HaveSellLimitOrder== true ) 
  DeleteOrder();   // Выбираем            
  } 

   if (bs== 1 &&bl== 7 )
{
     if (HaveBuyStopOrder== true ) 
  ModifyBuyStopOrder(PRAskS);   // Выбираем            
  } 

if (bt== 1 &&bl== 7 ) 
{OpenBuyStopOrder(Lot,PRBidS);
OpenBuyLimitOrder(Lot* 3 ,PRAskL); 
   if (HaveBuyLimitOrderEnd== true ) 
  DeleteOrder();   // Выбираем            
  } 

if (ss== 1 &&sl== 7 )
{   if (HaveSellStopOrder== true ) 
  ModifySellStopOrder(PRBidS);   // Выбираем            
  } 

if (st== 1 &&sl== 7 )
{OpenSellStopOrder(Lot,PRBidS); 
OpenSellLimitOrder(Lot* 3 ,PRBidL); 
   if (HaveSellLimitOrderEnd== true ) 
  DeleteOrder();   // Выбираем            
  } 

따라서 모든 블록은 "첫 번째 변수가 1이고 두 번째 변수가 1,3,7과 같으면 로트가 ____이고 가격이 _____인 보류 주문 을 엽니다." 보류 중인 주문이 true이면 이 주문을 수정(삭제)합니다.

 
안녕하세요. 상황은 다음과 같습니다. 지시자 시프트 값은 for 연산자에 의해 버퍼에서 이동됩니다. 즉, for(i=0;i<=100;i++), MD1=MD1+i, MD1=iMACD(..... ..., i) , 위치를 여는 것은 맨 마지막 막대(이 경우 100번째 막대)가 시작 기준을 충족하는 경우에만 발생합니다. 열림이 0 bar(개방 기준이 올바른 경우) 방향으로 발생해야 하며 이후 막대는 고려되지 않습니다. 이 문제에 대한 해결책이 있습니까? 미리 감사드립니다.
 
아마도 for(i=100;i>=0;i--), ?
 
sergeev :
아마도 for(i=100;i>=0;i--), ?
그래서 어떤 이유로 주문이 전혀 열리지 않습니다(MD1=MD1-i 변경됨).
 

안녕하세요 여러분, 저는 고문을 단순화하라는 조언을 받았고 단순화하기 시작했지만 한 가지 문제가 발생했습니다. 로그에서 주문을 열 때 문제의 본질은 오류 4107을 기록하지만 동시에 모든 주문을 침착하게 엽니 다. 문제가 무엇인지 살펴보겠습니다. 모든 코드는 Kim의 라이브러리 Igor V. aka KimIV에서 가져온 것입니다.

파일:
test_21.mq4  15 kb
 
sergeev :
아마도 for(i=100;i>=0;i--), ?
i>=2만 작동하는 것 같습니다. 0 또는 1이면 각각 -1과 0을 반환합니다. 고맙습니다.
 
FoxUA :

안녕하세요 여러분, 저는 고문을 단순화하라는 조언을 받았고 단순화하기 시작했지만 한 가지 문제가 발생했습니다. 로그에서 주문을 열 때 문제의 본질은 오류 4107을 기록하지만 동시에 모든 주문을 침착하게 엽니 다. 문제가 무엇인지 살펴보겠습니다. 모든 코드는 Kim의 라이브러리 Igor V. aka KimIV에서 가져온 것입니다.

정지 가격을 정상화하십시오.