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

 
simpleton :

일반 포지션의 가격 외에 다른 계산이 필요한 경우 변수 자체를 참조로 전달하여 호출된 함수에 S1 및 S2의 값을 "반환"하고 함수에서 오류 표시기를 반환할 수 있습니다. 즉, 호출된 함수의 프로토타입은 "bool fun(double &S1, double &S2);"과 같이 보일 수 있습니다. 호출 함수는 변수를 생성하여 fun() 에 전달하고 fun()이 true를 반환하면 전달된 변수(자체적으로 다른 이름을 가질 수 있음)의 값을 S1 및 S2로 사용합니다.

고맙습니다! 나는 당신을 이해했다. OrderSelect 에 오류가 없는 한 계속을 제외하고 중지하는 방법이 명확하지 않습니다.

메시지를 늦게 삭제하고 설명과 거의 동일하게 수행했습니다.

 double CenaUsrednenija( const int type, const int Magic){
double nn= 0 ,bb= 0 ;
 double factb= 0 ;
   int total= OrdersTotal ();

for ( int i=total- 1 ; i>= 0 ; i--)
  {
     if (!( OrderSelect (i, SELECT_BY_POS, MODE_TRADES))) continue ;
     if (OrderSymbol() != Symbol ()) continue ;  

   if ( OrderSelect (i,SELECT_BY_POS))
     {
       if (OrderSymbol()== Symbol ())
        {
         if (OrderType()==type && OrderMagicNumber()==Magic)
           {
             double op=OrderOpenPrice();
             double llot=OrderLots();
             double itog=op*llot;
            bb=bb+itog;
            nn=nn+llot;
            factb= NormalizeDouble (bb/nn, _Digits );
         //  Print("  type= ",type," Цена открытия= ",op, " Лот= ",llot, " itog=op*llot= ",itog, " factb=bb/nn= ",factb);
        
           }
        }
     }
  }   return (factb);  
}  
 

그런 기능을 쓸 수 없습니다.

- SELL 주문이 -1000pip의 손실인 경우. , 그런 다음 1000p의 거리에서 동일한 SELL 주문을 엽니다. 처음부터. -1000p이면 엽니다.

 
Top2n :

그런 기능을 쓸 수 없습니다.

- SELL 주문이 -1000pip의 손실인 경우. , 그런 다음 1000p의 거리에서 동일한 SELL 주문을 엽니다. 처음부터. -1000p이면 엽니다.


어려움은 무엇이었습니까? 예를 들어, 티켓으로 OrderSelect 를 사용하여 필요한 주문을 선택하십시오. 그 이익을 OrderProfit 과 비교한 다음 다른 Order OrderSend 를 열도록 요청을 보냅니다.
 
Top2n :

그런 기능을 쓸 수 없습니다.

- SELL 주문이 -1000pip의 손실인 경우. , 그런 다음 1000p의 거리에서 동일한 SELL 주문을 엽니다. 처음부터 . -1000p이면 엽니다.


이 조건에 따르면 두 번째 주문은 첫 번째 주문 의 시작 가격 에서 약 1000포인트 떨어진 현재 가격에서 시작되어야 하므로 복잡한 것은 없습니다. 새 위치를 여는 간단한 주문입니다.
 
여러분, 누가 더 나은 품질을 위한 인용문 아카이브를 찾을 수 있는 곳을 알려줄 수 있습니까?
 
Top2n :
여러분, 누가 더 나은 품질을 위한 인용문 아카이브를 찾을 수 있는 곳을 알려줄 수 있습니까?

Tickstory를 다운로드하고 이미 Dukascopy에서 틱을 다운로드한 다음 MT4로 내보낼 수 있지만 이는 일시적일 뿐이며 터미널이 자체 파일로 다시 덮어씁니다. 즉, 테스터 전용이므로 시뮬레이션의 품질은 99.9%입니다.
 
evillive :

Tickstory를 다운로드하고 이미 Dukascopy에서 틱을 다운로드한 다음 MT4로 내보낼 수 있지만 이는 일시적일 뿐이며 터미널이 자체 파일로 다시 덮어씁니다. 즉, 테스터 전용이므로 시뮬레이션의 품질은 99.9%입니다.

네, 정말 감사합니다!
 

WindowTimeOnDropped()의 문제점을 파악할 수 없습니다. 차트에 덤프할 때 값이 없습니다(항상 = 0). 테스트를 위해 약간의 코드를 작성했습니다.


 //+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- input parameters

double xBuffer[];
int init()
  {
   string short_name;
//---- indicator line
   SetIndexStyle( 0 , DRAW_LINE );
   SetIndexBuffer ( 0 ,xBuffer);
//---- name for DataWindow and indicator subwindow label
   short_name= "Mouse" ;
   IndicatorShortName(short_name);
   SetIndexLabel( 0 ,short_name);
//----
   return ( 0 );
  }

int start()
  {
   datetime Mouse=WindowTimeOnDropped();
   Alert ( " Mouse= " ,Mouse);
  xBuffer[ 0 ]=Mouse;
   return ( 0 );
  }
 
동료 여러분, EA에서 onChartEvent(...) 이벤트를 무시할 수 있는 방법을 알려주세요.

문제는 EA가 실행되는 동안 차트의 기간을 변경하면 EA가 다시 초기화되어 새 차트에서 거래가 시작된다는 것입니다. 차례로, 그 전에 열린 트랜잭션은 "무인" 상태로 유지됩니다.

싸우는 방법? 어떤 기적적인 방법으로 차트를 다시 그리는 것이 필요하지만 동시에 이전에 초기화된 EA를 여기에 연결합니다.

 
intrade :
동료 여러분, EA에서 onChartEvent(...) 이벤트를 무시할 수 있는 방법을 알려주세요.

문제는 EA가 실행되는 동안 차트의 기간을 변경하면 EA가 다시 초기화되어 새 차트에서 거래가 시작된다는 것입니다. 차례로, 그 전에 열린 트랜잭션은 "무인" 상태로 유지됩니다.

싸우는 방법? 어떤 기적적인 방법으로 차트를 다시 그리는 것이 필요하지만 동시에 이전에 초기화된 EA를 여기에 연결합니다.


정확한 개봉 조건을 처방하십시오!