프랙탈 브레이크 아웃 멈춤 - 페이지 2

 

현재 종료 괄호 "}" 오류가 발생합니다.


그러나 기능 을 다시 확인했으며 모두 올바르게 처리되었습니다.


다른 방법을 시도했지만 동일한 오류가 계속 발생했습니다.

 
ZacharyRC :

현재 종료 괄호 "}" 오류가 발생합니다.


그러나 기능을 다시 확인했으며 모두 올바르게 처리되었습니다.


다른 방법을 시도했지만 동일한 오류가 계속 발생했습니다.


오류를 찾았습니다 . 신경 쓰지 마세요!
 
ZacharyRC :

안녕 드브리스:


너무 많은 핍 후에 손익분기점에 수정 정지 손실을 넣으려고 하여 최종 코드에서 문제가 발생했습니다.


눈부신 오류가 보이시나요???

이것을 다시 읽어야 합니다. 함수 반환 값이란 무엇입니까? 어떻게 사용합니까? OrderModify()에서 무슨 일이 일어나고 있는지 알고 싶지 않습니까? OrderSelect()가 실패하면 어떻게 됩니까?

 
if ( OrdersTotal ()> 1 )
{
OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES);
if (OrderType()==(OP_BUY)&&(Move.BE))
{

이것은 EA의 거래를 얻는 올바른 방법이 아닙니다.

위치 0이 관리해야 하는 EA의 것인지 확신할 수 없습니다.

항상 루프를 사용하여 열려 있는 모든 거래를 통과한 다음 원하는 방식으로 선택하십시오.

귀하의 Symbol() EA가 거래 중이며 귀하가 귀하의 EA와 함께 제공한 MAGICNUMBER

.

내 방식은 같다

 

 for (i = OrdersTotal ()- 1 ; i >= 0 ; i--)         //always counting down checking trades
    {
     if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)== false )         break ;     // if false we abort the loop
     if (OrderMagicNumber()!=MagicNumber || OrderSymbol()!= Symbol ()) continue ;   //if selected trade not symbol or magicnumber next one
 
RaptorUK :

이것을 다시 읽어야 합니다. 함수 반환 값이란 무엇입니까? 어떻게 사용합니까? OrderModify()에서 무슨 일이 일어나고 있는지 알고 싶지 않습니까? OrderSelect()가 실패하면 어떻게 됩니까?


나는 오늘 밤에 확실히 다시 읽을 것이다. 나는 아직 완전히 이해하지 못했다.
데브리스 :

이것은 EA의 거래를 얻는 올바른 방법이 아닙니다.

위치 0이 관리해야 하는 EA의 것인지 확신할 수 없습니다.

항상 루프를 사용하여 열려 있는 모든 거래를 통과한 다음 원하는 방식을 선택하십시오.

귀하의 Symbol() EA가 거래 중이며 귀하가 귀하의 EA와 함께 제공한 MAGICNUMBER

.

내 방식은 같다

지난번에 for() 루프를 사용하고 있었는데 몇 가지 오류가 있어서 포기했습니다. 다시 시도하고 텍스트를 다시 읽으십시오.


감사합니다.

 
RaptorUK :

이것을 다시 읽어야 합니다. 함수 반환 값이란 무엇입니까? 어떻게 사용합니까? OrderModify()에서 무슨 일이 일어나고 있는지 알고 싶지 않습니까? OrderSelect()가 실패하면 어떻게 됩니까?


오늘은 조금 느린 것 같아요! 그 싱크를 넣은 후에 MQL4 언어가 메시지 보드가 아니라 오류를 찾는 데 가장 좋은 동료가 될 수 있음을 깨달았습니다.



TY RaptorUK!

 
ZacharyRC :

오늘은 조금 느린 것 같아요! 그 싱크를 허용 한 후 MQL4 언어가 메시지 보드가 아니라 오류를 찾는 데 가장 좋은 동료가 될 수 있음을 깨달았습니다.

정확히는 100% 맞습니다. :-)
 
deVries :

이것은 EA의 거래를 얻는 올바른 방법이 아닙니다.

위치 0이 관리해야 하는 EA의 것인지 확신할 수 없습니다.

항상 루프를 사용하여 열려 있는 모든 거래를 통과한 다음 원하는 방식을 선택하십시오.

귀하의 Symbol() EA가 거래 중이며 귀하가 귀하의 EA와 함께 제공한 MAGICNUMBER

.

내 방식은 같다

아, 알겠습니다. 이렇게 하면 내 거래를 순환하고 어느 것이 매직 넘버와 일치하는지 알 수 있습니다. 루프는 지금까지 가장 좋은 방법입니다.

 
ZacharyRC :

아, 알겠습니다. 이렇게 하면 내 거래를 순환하고 어느 것이 매직 넘버와 일치하는지 알 수 있습니다. 루프는 지금까지 가장 좋은 방법입니다.

더 많이 사용할수록 더 많은 트릭을 배우게 됩니다....
 

여전히 어려움이 있습니다. 이유를 알아보기 위해 오류를 수행했습니다.


저널 보고:

1) 오류 4051=잘못된 매개변수

2) 주문 수정을 위한 유효하지 않은 티켓

 //----------------------------------------------//
//-----------------EXITING ORDERS---------------//


for ( int i= OrdersTotal ()- 1 ; i>= 0 ;i--)
{
if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)== false )   break ;


if (OrderMagicNumber()!=MagicNumber || OrderSymbol() != Symbol ()) continue ;

if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)== true ) Print ( GetLastError (),i);
if (OrderType()==OP_BUY)
{

 if (Move.BE && StopLoss > 0 ) 
 {
   if (Bid - OrderOpenPrice() >= Point * StopLoss)
     {
       if (OrderStopLoss() < OrderOpenPrice() + Point * MoveStopTo) 
        {
                  OrderModify(OrderTicket(),OrderOpenPrice(), OrderOpenPrice() + Point * MoveStopTo, OrderTakeProfit(), 0 , Red);
                   Print ( "Cant Modify Order" + GetLastError (),i);
 }
  }
   }
    }
 else {
 
     if (Move.BE && StopLoss > 0 ) {
               if (OrderOpenPrice() - Ask >= Point * StopLoss)
                {
                   if (OrderStopLoss() > OrderOpenPrice() - Point * MoveStopTo)
                   {
                  OrderModify(OrderTicket(),OrderOpenPrice(), OrderOpenPrice() - Point * MoveStopTo, OrderTakeProfit(), 0 , Red);
                   Print ( "Cant Modify Order" + GetLastError (),i);
}
 }
  }
   }
    }