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

 
친절한 사람들, 어떤 코드를 어드바이저에 삽입해야 하는지 알려주십시오. 그러면 특정 포인트 후에 동일한 가격에 2개의 주문을 열고 각각에 대해 정지와 이익을 얻을 수 있습니다. 가격이 나가고, 가능하다면 어떻게 추적을 추가하여 수익을 내고 켜고 끄거나 구성할 수 있습니까? 미리 감사합니다...오랜동안 해봤는데 안되는게.. 쉬우면 알려주세요...
 

여기에 개발자가 있습니다. 의견을 보내주십시오.


아니면 DC에 물어봐야 할까요?


 void start()
  {
   double tickvalue = MarketInfo ( Symbol (), MODE_TICKVALUE);

   for ( int i = OrdersHistoryTotal ()- 1 ; i >= 0 ;i--)
    {
     if (! OrderSelect (i,SELECT_BY_POS,MODE_HISTORY )) continue ;
     if ( OrderSymbol ()!= Symbol () || OrderType () >= 2 ) continue ;
     if ( OrderType () == 0 )
      {
       Alert (( OrderClosePrice () - OrderOpenPrice ())/ Point *tickvalue* OrderLots (), " <-Buy history-> " , OrderProfit ());
      }
     if ( OrderType () == 1 )
      {
       Alert (( OrderOpenPrice () - OrderClosePrice ())/ Point *tickvalue* OrderLots (), " <-Sell history-> " , OrderProfit ());
      }
    }
  }
 
fore-x :

여기에 개발자가 있습니다. 의견을 보내주십시오.


아니면 DC에 물어봐야 할까요?



센트 또는 페니의 10분의 1을 반올림하면(예금이 얼마인지) 학생들이 답할 것입니다.

 
P_I_R_A_T_E :
친절한 분들, 어드바이저에 어떤 코드를 넣어야 하는지 알려주세요, 일정 포인트 이후에 같은 가격에 사고팔 수 있는 2개의 주문이 열리도록...
안 돼요. 매수 주문과 매도 주문 의 가격이 다르기 때문에 동시에 즉시 동일한 가격으로 열 수 없습니다. 그리고 일반적으로 단일 스레드 MT4는 가격이 달라도 동시에 시장에서 주문을 열 수 없습니다.
 
Reshetov :
안 돼요. 매수 주문과 매도 주문의 가격이 다르기 때문에 동시에 즉시 동일한 가격으로 열 수 없습니다. 그리고 일반적으로 단일 스레드 MT4는 가격이 달라도 동시에 시장에서 주문을 열 수 없습니다.

답변 감사합니다... 그리고 보류 중인 중지 주문 을 생성한다면? 그리드 위아래? 고정 로트로 제작도 가능한가요? 페어를 열 때 새로 열린 이 페어보다 먼저 빈 공간에 새 페어가 열리나요?

 
Roll :


센트 또는 페니의 10분의 1을 반올림하면(예금이 얼마인지) 학생들이 답할 것입니다.

둥글다면 묻지 않을 것이다. 화면을 보면 일부 값을 반올림할 수 없습니다. 간단히 말해서 결과가 다양합니다. 잠깐, 반올림:


 double profit;
bool norm = false;

void start()
  {
   double tickvalue = MarketInfo ( Symbol (), MODE_TICKVALUE);

   for ( int i = OrdersHistoryTotal ()- 1 ; i >= 0 ;i--)
    {
     if (! OrderSelect (i,SELECT_BY_POS,MODE_HISTORY )) continue ;
     if ( OrderSymbol ()!= Symbol () || OrderType () >= 2 ) continue ;
     if ( OrderType () == 0 )
      {
      profit = (Normalize( 1 , norm) - Normalize( 2 , norm))/ Point *tickvalue*Normalize( 3 , norm);
       Alert (Normalize( 4 , norm), " <-Buy history-> " , OrderProfit ());
      }
     if ( OrderType () == 1 )
      {
      profit = (Normalize( 2 , norm) - Normalize( 1 , norm))/ Point *tickvalue*Normalize( 3 , norm);
       Alert (Normalize( 4 , norm), " <-Sell history-> " , OrderProfit ());
      }
    }
  }
  
double Normalize( int x, bool z)
  {
   if (z == true)
    {
     if (x == 1 ) return ( NormalizeDouble ( OrderClosePrice (), Digits ));
     if (x == 2 ) return ( NormalizeDouble ( OrderOpenPrice () , Digits ));
     if (x == 3 ) return ( NormalizeDouble ( OrderLots () , 2 ));
     if (x == 4 ) return ( NormalizeDouble (profit , 2 ));
    }
  
   if (z == false)
    {
     if (x == 1 ) return ( OrderClosePrice ());
     if (x == 2 ) return ( OrderOpenPrice ());
     if (x == 3 ) return ( OrderLots ());
     if (x == 4 ) return (profit);
    }
  
  }

 
fore-x :

여기에 개발자가 있습니다. 의견을 보내주십시오.


아니면 DC에 물어봐야 할까요?


Alert 및 Comment는 표시될 때 숫자를 반올림 하지만 실제로는 더 정확합니다.
 
BeerGod :
Alert 및 Comment는 표시될 때 숫자를 반올림하지만 실제로는 더 정확합니다.
숫자가 맞지 않는 경우에만 반올림하고 소수점 이하 네 자리는 허용되며 저는 최대 세 자리만 사용할 수 있습니다.
 
그리고 왜 여기서 소리를 지르세요?
 
fore-x :

여기에 개발자가 있습니다. 의견을 보내주십시오.


아니면 DC에 물어봐야 할까요?



그래서 문제가 무엇입니까? 5 이상은 반올림되지 않습니까? 이것이 당신을 귀찮게합니까, 아니면 다른 무엇입니까?