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

 
Trader7777 :

얘들아 기능 좀 봐봐 막연한 의심에 괴로워


클로징이 있는 경우 사이클을 거꾸로 하는 것이 좋습니다.
 
splxgf :

클로징이 있는 경우 사이클을 거꾸로 하는 것이 좋습니다.

아니요, 이전 주문에서 새 주문으로 닫아야 합니다.
 
Trader7777 :

아니요, 이전 주문에서 새 주문으로 닫아야 합니다.

순서를 변경하면 구식에서 신품으로 변경됩니다. 그 동안 새로운 것에서 오래된 것으로, 때로는 하나를 통해서도 해결될 수 있습니다.
 
evillive :

순서를 변경하면 구식에서 신품으로 변경됩니다. 그 동안 새로운 것에서 오래된 것으로, 때로는 하나를 통해서도 해결될 수 있습니다.

(int i = OrdersTotal() -1; i>0; i--)에 대해 수행하면 새 항목에서 이전 항목으로 닫힙니다!
 
evillive :

순서를 변경하면 구식에서 신품으로 변경됩니다. 그 동안 새로운 것에서 오래된 것으로, 때로는 하나를 통해서도 해결될 수 있습니다.

이해가 되지 않습니다. 오류를 제안하기에는 너무 게으른 경우 TS에 따르면 필요하지 않은 기능을 왜 나에게 부과합니까?
 

좋은 저녁이에요 ...

여기이 https://www.mql5.com/ru/code/9767 표시기가 고문에서 처방하므로 맞습니까?

if(iCustom( NULL,0, "웨이브(MACD_FZR)",1,0)<낮음[1] )

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"macd 샘플",16384,0,Green);

if(티켓>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("구매 주문이 열렸습니다: ",OrderOpenPrice());

}

else Print("구매 주문 열기 오류: ",GetLastError());

리턴(0);

}

// 매도(SELL) 가능성 확인

if(iCustom( NULL, 0, "wave(MACD_FZR)",1,1)>높음[1] )

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"macd sample",16384,0,Red);

 
Trader7777 :

이해가 되지 않습니다. 오류를 제안하기에는 너무 게으른 경우 TS에 따르면 필요하지 않은 기능을 왜 나에게 부과합니까?

자, 그럼 함수를 살펴보겠습니다. 예를 들어 첫 번째 주문이 취해지고 조건과 일치하므로 삭제됩니다. 두 번째 주문이 그 자리를 차지합니다.

다음 주기에서 세 번째 순서가 확인되고 두 번째 순서는 건너뜁니다.

따라서 그들은 잘못된 열거를 지적했습니다 ...

자신의 순서가 중요한 경우 삭제 시 루프 변수를 감소시킬 수 있습니다.

 
Trader7777 :

이해가 되지 않습니다. 오류를 제안하기에는 너무 게으른 경우 TS에 따르면 필요하지 않은 기능을 나에게 부과하는 이유는 무엇입니까?

나는 조언했다 - 동안. 유형(업데이트 3):

 void CloseHalfOrders( int otype) {
   int count = 0 ;
   double CTexisting = CountTrades(otype), nCloseOrdersCnt = NormalizeDouble (CTexisting/ 2 , 1 ), price;
   int i = 0 ;
   while (i < OrdersTotal ()) {
       if ( OrderSelect (i, SELECT_BY_POS,MODE_TRADES)) {
         if (OrderSymbol()== Symbol () && OrderMagicNumber()==Magic && OrderType() == otype) {
             if (otype == OP_BUY) price = Bid;
             else if (otype == OP_SELL) price = Ask;
             else return ; //работаем только с OP_BUY/OP_SELL
             if (count < nCloseOrdersCnt) {
               OrderClose(OrderTicket(),OrderLots(),price, 0 ,Lime);
               count++;
               Sleep ( 1000 );
               i = 0 ;
               continue ;
            } else i = OrdersTotal ();
         }
      }
      i++;
   }
}
 

또는

           OrderClose ( OrderTicket (), OrderLots (), Bid , 0 ,Lime);
           i--;
 
                    if (count<n)

마감된 주문의 총 수와 비교하여 k 및 n이 있는 이유는 무엇입니까?