어떤 디자인이 맞습니까? - 페이지 6 12345678 새 코멘트 Vladyslav Goshkov 2010.06.16 10:35 #51 valenok2003 : while 코드에서는 스레드가 사용 중인 동안에만 지연됩니다. 그런 다음 요금을 업데이트해야 합니다. RefreshRates(). 그렇지 않으면 이전 요청 및 입찰 값을 사용하게 됩니다. 또는 MarketInfo에서 요청/입찰을 요청하십시오. Sergey Guliaev 2010.06.16 10:44 #52 VladislavVG : 그런 다음 요금을 업데이트해야 합니다. RefreshRates(). 그렇지 않으면 이전 요청 및 입찰 값을 사용하게 됩니다. 또는 MarketInfo에 요청하십시오. 그래서 개가 뒤돌아본 곳입니다. 이 빌드는 다음과 같이 작동했습니다. //+------------------------------------------------------------------+ //| CloseThisSymbolAll.mq4 | //+------------------------------------------------------------------+ int start() { //---- for ( int trade = OrdersTotal ()- 1 ; trade >= 0 ; trade--) { OrderSelect (trade, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol ()) { while (!IsTradeAllowed()) Sleep ( 1000 ); RefreshRates(); if (OrderType() == OP_BUY ) OrderClose(OrderTicket(), OrderLots(), NormalizeDouble (Bid, Digits ), 5 , CLR_NONE ); if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), NormalizeDouble (Ask, Digits ), 5 , CLR_NONE ); } } //---- return ( 0 ); } //+------------------------------------------------------------------+ 어쨌든 처음에는 제대로 작동했습니다. 덕분에! [Удален] 2010.06.16 10:48 #53 VladislavVG : 그런 다음 요금을 업데이트해야 합니다. RefreshRates(). 그렇지 않으면 이전 요청 및 입찰 값을 사용하게 됩니다. 또는 MarketInfo에서 요청/입찰을 요청하십시오. 고맙습니다! 제 어드바이저에서도 수정하겠습니다.. Vladyslav Goshkov 2010.06.16 10:54 #54 valenok2003 : 그래서 개가 뒤돌아본 곳입니다. 이것이 디자인이 작동한 방식입니다. 어쨌든 처음에는 제대로 작동했습니다. 거의 - 하나 이상의 조건을 수정해야 합니다. for ( int trade = OrdersTotal ()- 1 ; trade >= 0 ; trade--) { if (! OrderSelect (trade, SELECT_BY_POS, MODE_TRADES)) break ; ........................... 주문이 나오지 않으면 할 일이 없습니다. 행운을 빕니다. Sergey Guliaev 2010.06.16 10:59 #55 VladislavVG : 거의 - 하나 이상의 조건을 수정해야 합니다. 주문이 나오지 않으면 할 일이 없습니다. 네, 논리적입니다. 이것은 사이클에서 벗어난 실수입니다. while ( OrdersTotal ()> 0 ) khorosh 2010.06.16 10:59 #56 valenok2003 : 다섯 거기에는 슬리피지 = 5가 있었고 이것은 5자리 따옴표로는 충분하지 않습니다. Sergey Guliaev 2010.06.16 11:07 #57 그래서 결국: //+------------------------------------------------------------------+ //| CloseThisSymbolAll.mq4 | //+------------------------------------------------------------------+ int start() { //---- for ( int trade = OrdersTotal ()- 1 ; trade >= 0 ; trade--) { if (! OrderSelect (trade, SELECT_BY_POS, MODE_TRADES)) break ; if (OrderSymbol() == Symbol ()) { while (!IsTradeAllowed()) Sleep ( 1000 ); RefreshRates(); if (OrderType() == OP_BUY ) OrderClose(OrderTicket(), OrderLots(), NormalizeDouble (Bid, Digits ), slippage, CLR_NONE ); if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), NormalizeDouble (Ask, Digits ), slippage, CLR_NONE ); } } //---- return ( 0 ); } //+------------------------------------------------------------------+ 아니면 다른 의견이 있습니까? Sergey Guliaev 2010.06.16 11:08 #58 khorosh : 거기에서 당신은 슬리피지(slippage) = 5를 가지고 있었고 이것은 다섯 자리 따옴표로 충분하지 않습니다. 비교적 조용한 시장에서 5는 충분히 IMHO입니다. Vladislav Andruschenko 2010.06.16 11:16 #59 한 번에 코드 기반에서 다른 유형을 닫기 위한 세트를 게시했습니다. 파일: expo-ucloseupacknv3.rar 40 kb Vladislav Andruschenko 2010.06.16 11:17 #60 https://www.mql5.com/ru/code/mt4 12345678 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
while 코드에서는 스레드가 사용 중인 동안에만 지연됩니다.
그런 다음 요금을 업데이트해야 합니다. RefreshRates(). 그렇지 않으면 이전 요청 및 입찰 값을 사용하게 됩니다. 또는 MarketInfo에서 요청/입찰을 요청하십시오.
그런 다음 요금을 업데이트해야 합니다. RefreshRates(). 그렇지 않으면 이전 요청 및 입찰 값을 사용하게 됩니다. 또는 MarketInfo에 요청하십시오.
그래서 개가 뒤돌아본 곳입니다.
이 빌드는 다음과 같이 작동했습니다.
어쨌든 처음에는 제대로 작동했습니다.
덕분에!
그런 다음 요금을 업데이트해야 합니다. RefreshRates(). 그렇지 않으면 이전 요청 및 입찰 값을 사용하게 됩니다. 또는 MarketInfo에서 요청/입찰을 요청하십시오.
고맙습니다!
제 어드바이저에서도 수정하겠습니다..
그래서 개가 뒤돌아본 곳입니다.
이것이 디자인이 작동한 방식입니다.
어쨌든 처음에는 제대로 작동했습니다.
주문이 나오지 않으면 할 일이 없습니다.거의 - 하나 이상의 조건을 수정해야 합니다.
행운을 빕니다.
주문이 나오지 않으면 할 일이 없습니다.거의 - 하나 이상의 조건을 수정해야 합니다.
다섯
그래서 결국:
아니면 다른 의견이 있습니까?
거기에서 당신은 슬리피지(slippage) = 5를 가지고 있었고 이것은 다섯 자리 따옴표로 충분하지 않습니다.