[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 341

 
친애하는 뉴스! 여기에서 논의된 질문 중 일부는 매우 구체적이며 실제로 힌트와 도움을 받을 가치가 있습니다. 그러나 일부 EXPERTO 작성자는 프로그래밍을 시작할 때 ML에 대한 교과서도 읽지 않는다는 사실에서 솔직히 말해서 발생합니다. 요청: 튜토리얼을 다운로드(5mb)하면 포럼에서 답변을 기다릴 필요가 없습니다.
 
costy_ >> :

저장된 쌍은 템플릿 초기화 중에 한 번 표시기로 "구동"된 다음 "완전히 독립적이 됩니다"/

변경된 모든 매개변수 ind. par-ry ind를 변경한 경우 템플릿에 저장됩니다. 템플릿을 다시 저장합니다.


고맙습니다!

 

마제파 08.12.2009 17:42

답: 코드!

알고리즘을 이해하면 설정된 시간에 매수(매도)를 열고 가격이 다른 방향으로 > 10포인트를 넘으면 주문을 닫고 반대 방향에 서 있습니다.

닫기를 위해 내 고유의 일반 기능을 사용합니다.

//창에서 모든 시장가 주문을 닫는 함수 --------------------------------------- -------------------------------------------------- -- -------
무효 _CloseAllOrder()
{
for(int i=0; i<OrdersTotal(); i++) //모든 통화에 대한 모든 주문을 반복합니다.
{
if (OrderSelect(i,SELECT_BY_POS)==true) //주문이 성공적으로 선택된 경우
{
if (OrderSymbol()!=Symbol()) 계속 // 선택한 주문 이 잘못된 통화인 경우 검색을 계속합니다.
{
switch(OrderType()) //필요한 순서대로 유형(Bue_Sell)을 결정하고 닫습니다.
{
사례 0:OrderClose(OrderTicket(),OrderLots(),Bid,2);중단;
사례 1:OrderClose(OrderTicket(),OrderLots(),Ask,2);중단;
}
}
}
}
반품;
}
즉, 이제 반대 방향으로 열기 전에 _CloseAllOrder()

 


친구, 나는 단지 배우고 있습니다. 프로그램의 내용을 보지 말고 프로그램에서 오류를 찾도록 도와주세요.

정수 시작()
{
스위치(현재 상태)
{
케이스 STATE_SHORT:
MyOrderTicket = OrderSend (Symbol(), OP_SELL, 랏, 입찰, 1, 0, 0,NULL, 1, 0, 빨간색);
주문선택(MyOrderTicket,SELECT_BY_TICKET);
if (OrderModify(OrderTicket(),OrderOpenPrice(),Bid+90*Point,Bid-Profit1*Point,0,Green)==true)
{현재 상태=STATE_1;
부서지다;
}
사례 STATE_1:
주문선택(MyOrderTicket,SELECT_BY_TICKET);
if(요청 <= OrderTakeProfit())
{현재 상태=STATE_SHORT;
부서지다;
}
if(입찰가 >= (OrderOpenPrice()+Profit1*Point)
{현재 상태=STATE_SHORT;
부서지다;
}
}
//----
리턴(0);
}


오류는 '\end_of_program' - 불균형 왼쪽 괄호 입니다. 실수는 어디에 있습니까?









 
Klinskih >> :

친구, 나는 단지 배우고 있습니다. 프로그램의 내용을 보지 말고 프로그램에서 오류를 찾도록 도와주세요.

있습니다:

                     if ( Bid > = ( OrderOpenPrice ( ) + Profit1 * Point )

필요한:

                     if ( Bid > = OrderOpenPrice ( ) + Profit1 * Point )
 

각 메모리 셀에 대한 레코드를 사용하지 않고 1차원 배열을 선언하는 방법(가능한가요?)

  ии[1]=ExtMapBuffer1[0]; ии[2]=ExtMapBuffer2[0];  ии[3]=ExtMapBuffer3[0]; 

및 1차원 시퀀스

  ии[3]={ExtMapBuffer1[0],ExtMapBuffer2[0],ExtMapBuffer3[0]} 

또는 숫자 및 논리 상수에 대해서만 1차원 시퀀스!!?

 
TheXpert >> :

있습니다:

필요한:



고마워 친구 야!

 
future >> :

질문이 하나 더 있습니다. if (OrdersTotal()==0)이... 만약 열린 주문의 수가 0이라면... 어떤 일이 일어날지... 만약 하루에 열린 주문의 수가 0이라면.

OrdersDayTotal 같은 것이 있지 않습니까?

아니요, 하지만 항상 자신의 기능을 작성할 수 있습니다)

 int OrdersDayTotal ( string Symb )
 {
int cnt ,
OrdersDayTotal = 0 ,
Time0 = iTime ( NULL , PERIOD_D1 , 0 ) ;

for ( cnt = 0 ; cnt < OrdersTotal ( ) ; cnt + + )
   {
   OrderSelect ( cnt , SELECT_BY_POS , MODE_TRADES ) ;
   if ( OrderSymbol ( ) = = Symb & & OrderType ( ) < 2 )
       {
       if ( OrderOpenTime ( ) > Time0 ) OrdersDayTotal + + ;
       }
   }
for ( cnt = 0 ; cnt < OrdersHistoryTotal ( ) ; cnt + + )
   {
   OrderSelect ( cnt , SELECT_BY_POS , MODE_HISTORY ) ;
   if ( OrderSymbol ( ) = = Symb & & OrderType ( ) < 2 )
       {
       if ( OrderOpenTime ( ) > Time0 ) OrdersDayTotal + + ;
       }
   }
return ( OrdersDayTotal ) ;
 }

매수 및 매도 주문은 오늘 개장한 특정 상품에 대해 고려됩니다. 연기되지 않습니다.

if(OrdersDayTotal(Symbol())==0) {...}

이 같은)

 
Stepan241 >> :

마제파 08.12.2009 17:42

답: 코드!

알고리즘을 이해하면 설정된 시간에 매수(매도)를 열고 가격이 다른 방향으로 > 10포인트를 넘으면 주문을 닫고 반대 방향에 서 있습니다.

닫기를 위해 내 고유의 일반 기능을 사용합니다.

//창에서 모든 시장가 주문을 닫는 함수 --------------------------------------- -------------------------------------------------- -- -------
무효 _CloseAllOrder()
{
for(int i=0; i<OrdersTotal(); i++) //모든 통화에 대한 모든 주문을 반복합니다.
{
if (OrderSelect(i,SELECT_BY_POS)==true) //주문이 성공적으로 선택된 경우
{
if (OrderSymbol()!=Symbol()) 계속 //선택한 주문이 잘못된 통화인 경우 검색을 계속합니다.
{
switch(OrderType()) //필요한 순서대로 유형(Bue_Sell)을 결정하고 닫습니다.
{
사례 0:OrderClose(OrderTicket(),OrderLots(),Bid,2);중단;
사례 1:OrderClose(OrderTicket(),OrderLots(),Ask,2);중단;
}
}
}
}
반품;
}
즉, 이제 반대 방향으로 열기 전에 _CloseAllOrder()


기능 폭탄 두 페이지가 걸렸습니다. 감사합니다.
 
Stepan241 >> :

마제파 08.12.2009 17:42

답: 코드!

알고리즘을 이해하면 설정된 시간에 매수(매도)를 열고 가격이 다른 방향으로 > 10포인트를 넘으면 주문을 닫고 반대 방향에 서 있습니다.

닫기를 위해 내 고유의 일반 기능을 사용합니다.

//창에서 모든 시장가 주문을 닫는 함수 --------------------------------------- -------------------------------------------------- -- -------
무효 _CloseAllOrder()
{
for(int i=0; i<OrdersTotal(); i++) //모든 통화에 대한 모든 주문을 반복합니다.
{
if (OrderSelect(i,SELECT_BY_POS)==true) //주문이 성공적으로 선택된 경우
{
if (OrderSymbol()!=Symbol()) 계속 //선택한 주문이 잘못된 통화인 경우 검색을 계속합니다.
{
switch(OrderType()) //필요한 순서대로 유형(Bue_Sell)을 결정하고 닫습니다.
{
사례 0:OrderClose(OrderTicket(),OrderLots(),Bid,2);중단;
사례 1:OrderClose(OrderTicket(),OrderLots(),Ask,2);중단;
}
}
}
}
반품;
}
즉, 이제 반대 방향으로 열기 전에 _CloseAllOrder()


기능 폭탄 두 페이지가 걸렸습니다. 감사합니다.