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

 
melnikas :

제 경우가 그렇게 어려운가요?

 double ExtVolumesBuffer[];

당신은 그 장소에 맞습니다. 배열을 사용하기 전에 크기를 지정해야 합니다. 글쎄, 그것을 다른 버퍼로 만들거나

 
//+------------------------------------------------------------------+
int deinit()
  {    
   return ( 0 );
  }
//+------------------------------------------------------------------+
int start()
  {
  f1(); //Как сделать, что-бы после вызова функции, программа могла остановиться?
   Alert ( "Есть сигнал" ); // И до этого места работа программы бы не дошла
   return ( 0 );
  }
//+------------------------------------------------------------------+  
   int f1()
    {
     return (f2());
    }
//+------------------------------------------------------------------+    
   int f2()
    {  
     return (deinit()); //Тут, по задумке, нужно остановить работу всей программы
    }
//+------------------------------------------------------------------+  
또는 호출된 함수 에서 프로그램을 중지할 수 없습니까? (예시 코드, 지표에 사용)
 
fore-x :
또는 호출된 함수에서 프로그램을 중지할 수 없습니까? (예시 코드, 지표에 사용)
 return (deinit());

멈추다은 무슨 뜻인가요? 차트에서 전문가/지표를 제거하시겠습니까?


deinit()에 대해:

deinit를 호출해도 표시기/EA가 비활성화되지는 않지만 비활성화하면 deinit를 호출하게 됩니다.

 
ilunga :

멈추다은 무슨 뜻인가요? 차트에서 전문가/지표를 제거하시겠습니까?


deinit()에 대해:

deinit를 호출해도 표시기/EA가 비활성화되지는 않지만 비활성화하면 deinit를 호출하게 됩니다.

중지한다는 것은 호출된 함수 에서 시작하는 함수의 실행을 중지하는 것을 의미합니다. return(0)처럼.

deinit에 관해서는 알고 있으므로 이 퍼즐을 푸는 방법을 모르겠습니다. 분명히 당신은 그렇게 할 수 없습니다.

 
fore-x :

중지한다는 것은 호출된 함수에서 시작하는 함수의 실행을 중지하는 것을 의미합니다. return(0)처럼.

deinit에 관해서는 알고 있으므로 이 퍼즐을 푸는 방법을 모르겠습니다. 분명히 당신은 그렇게 할 수 없습니다.

그렇다면 이 함수(-1) 또는 다른 것을 반환하는 것을 방지하고 이미 start()에서 검사를 통해 이 함수를 호출하는 것을 방지하는 것은 무엇입니까? 예를 들면 다음과 같습니다.

 int start()
  {
  if (f1() == -1) return (0);
   Alert ( "Есть сигнал" ); // И до этого места работа программы бы не дошла
   return ( 0 );
  }
//+------------------------------------------------------------------+  
   int f1()
    {
if (все плохо) return (-1); else return (0);
    }
 
ilunga :

그렇다면 이 함수(-1) 또는 다른 것을 반환하는 것을 방지하고 이미 start()에서 검사를 통해 이 함수를 호출하는 것을 방지하는 것은 무엇입니까? 예를 들면 다음과 같습니다.

 //+------------------------------------------------------------------+
int start()
  {
   if (f1() < 0 ) return ( 0 );
   Alert ( "Есть сигнал" ); // И до этого места работа программы бы не дошла
   return ( 0 );
  }
//+------------------------------------------------------------------+  
   int f1()
    {
     return (f2());
    }
//+------------------------------------------------------------------+    
   int f2()
    {  
     return (- 1 ); //Тут, по задумке, нужно остановить работу всей программы
    }
//+------------------------------------------------------------------+  
나는 당신을 이해했습니다. 나는 단지 코드에서 불필요한 움직임을 피하고 싶었습니다. 예를 들어 주셔서 감사합니다!
 
ilunga :

당신은 그 장소에 맞습니다. 배열을 사용하기 전에 크기를 지정해야 합니다. 글쎄, 그것을 다른 버퍼로 만들거나

정말 감사합니다!
 


dkfl.zrjdktdbx 09.12.2011 16:56

좋은 저녁이에요! 거래 로봇이 이익에 도달했을 때 약 50번 정도 포지션을 청산하지 않는다는 사실에 직면했다고 상상해 보십시오. 그런 다음 그는 모든 것, 연기자 및 모든 것을 닫고 다시 설정해야 합니다. 닫지 않으면 주문 혼란과 손실이 발생합니다.


따라서 때때로 이익을 취하여 100파운드에 마감된 주문의 경우 주문 마감 가격(주문 마감 가격)이 0과 같다고 상상해 보십시오 !!!!!

여기, 화면에서 직접 확인하십시오. 여기 아래에서 다섯 번째 줄이 있습니다. 조건부로 49라는 이름의 주문은 이익 실현으로 마감되었습니다. 그리고 하단 주문 마감 가격에서 9번째 줄에 - 주문 마감 가격은 0입니다!!!!!

그래서 코드에 그렇게 복잡한 것은 없는 것 같습니다.. 바로 지금 포스팅하겠습니다.

주문하면 렘자폼님이 생각나네요. 이익실현으로 어떤 주문이 닫히면 나는 모든 주문을 삭제하고 다시 렘자폰님 시스템에서 시간을 기억하고 설정합니다.

 for ( i= OrdersHistoryTotal ();i> 0 ;i--){ OrderSelect (i- 1 ,SELECT_BY_POS,MODE_HISTORY  );
Alert ( "wremjapomnim " ,wremjapomnim, "  OrderCloseTime(        )   " ,   OrderCloseTime ( ),   " " ,i , " OrderTakeProfit( ) " , OrderTakeProfit ( ),
   " OrderClosePrice(    )  " , OrderClosePrice (   ) );
if ( OrderTakeProfit ( )== OrderClosePrice (       )&&wremjapomnim< OrderCloseTime ( )|| ( NormalizeDouble ( OrderClosePrice ()- OrderTakeProfit (), Digits )< 2 * Point )
   &&wremjapomnim< OrderCloseTime (       )|| ( NormalizeDouble ( OrderClosePrice ()- OrderTakeProfit (), Digits )>- 2 * Point )&&wremjapomnim< OrderCloseTime (       )){C= 0 ;A= 1 ;   Alert ( "C" ,C, "A" ,A);
   for ( int ii= OrdersTotal ();ii> 0 ;ii--){ OrderSelect (ii- 1 ,SELECT_BY_POS );
   if ( OrderMagicNumber ( )== 2000 && OrderSymbol ()== Symbol ()|| OrderMagicNumber ( )== 1000 && OrderSymbol ()== Symbol ()){ 
   OrderDelete ( OrderTicket ( )) ; Alert ( "OrderDelete-vse" ,   GetLastError ( ) ); stsBUY= 0 ;stsSELL= 0 ;
   OrderClose ( OrderTicket ( ), OrderLots ( ), OrderClosePrice ( ) , 0 , CLR_NONE ); Alert ( "OrderClose-vse" ,   GetLastError ( ) ); C= 0 ; }     }              }
   
                                                      } 
 
경고는 코드의 두 번째 및 세 번째 줄에 있으며 다음을 포함하여 모든 것을 로그에 기록합니다. 주문 49의 OrderClosePrice ( )가 0이라는 사실.
 

어드바이저에서 프랙탈의 형성을 추적하는 방법을 알려주세요. 새로운 프랙탈이 형성된 후 주문을 열어야 합니다. 이 지표는 일반적으로 어떻게 작동하는지, 어떤 종류 의 위쪽 선이 있고 아래쪽이 있으며 프랙탈 자체의 형성이 어떻게 식별되는지 명확하지 않습니다.

그리고 또 다른 질문은 프랙탈이 다시 그려지는지 여부입니다. 예를 들어 프랙탈이 형성되고 한 촛불이 이 최소값을 돌파한 후 프랙탈이 다시 그려질까요 아니면 다른 하나가 추가될까요?

 
안녕하세요, 예를 들어 마지막 촛불의 저점과 고점을 찾는 방법을 알려주십시오.