MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1647

 
EVGENII SHELIPOV # :

모두에게 좋은 하루입니다. 저는 그룹 주문 후행 코드를 작성 중입니다. 후행에 대한 코드 논리는 다음과 같습니다.

그룹 주문에 대한 후행은 어떤 조건에서 시작해야 합니까?

 
EVGENII SHELIPOV # :

모두에게 좋은 하루입니다. 저는 그룹 주문 후행 코드를 작성 중입니다. 후행에 대한 코드 논리는 다음과 같습니다.



   int order[]={ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 };



void Tral_BU_Stop() {
 
   int j;
   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--) {
   if ( OrderSelect (i, SELECT_BY_POS,MODE_TRADES)==True){
   if (OrderMagicNumber()==Mg&&OrderSymbol()== Symbol ()&&OrderType() ==OP_BUYSTOP){
  j++;
   if ( Bid<=OrderOpenPrice()-DistPoint*order[j]*Po){
   bool modb=OrderModify(OrderTicket(),Bid+(DistPoint*order[j])*Po,OrderStopLoss(),OrderTakeProfit(), 0 , clrGreen );}} }}}
//================
   void Tral_SEL_Stop() {
  
   int j;
   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--) {
   if ( OrderSelect (i, SELECT_BY_POS,MODE_TRADES)==True){
   if (OrderMagicNumber()==Mg&&OrderSymbol()== Symbol ()&&OrderType() ==OP_SELLSTOP){
  j++;
   if (Ask>OrderOpenPrice()+DistPoint*order[j]*Po){
   bool mods=OrderModify(OrderTicket(),Ask-(DistPoint*order[j])*Po,OrderStopLoss(),OrderTakeProfit(), 0 , clrRed );}} }}} 

값을 변경하면 행복할 것입니다. 더 자세히 알아낼 것입니다.

 
Aleksandr Egorov # :

값을 변경하면 행복할 것입니다. 더 자세히 알아낼 것입니다.

"로"는 무엇입니까?
DistPoint*order[j] *Po
 
MakarFX # :
"로"는 무엇입니까?

약어 가리키다

 
MakarFX # :

그룹 주문에 대한 후행은 어떤 조건에서 시작해야 합니까?




 //+----------------------------------------------------------------------------+
//| Трейлинг стоп групповых ордеров                                            |
//+----------------------------------------------------------------------------+
void TrailingGroupOrder()
  {
   for ( int i = OrdersTotal ()- 1 ; i>= 0 ; i--)
     {
       if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES))
        {
         if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic)
           {
             if ( Or derType() == OP_BUY && Bid - GetAveragePrice() > TrailingStopGroupOrder* Point )
              {
               if (Bid - GetAveragePrice() > TrailingStopGroupOrder* Point || OrderStopLoss() == 0 )
                 {
                   if (OrderStopLoss() < Bid - (TrailingStep + TrailingStopGroupOrder)* Point || OrderStopLoss() == 0 )
                    {
                     if (!OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble (Bid - TrailingStopGroupOrder* Point , Digits ), tp, 0 ))
                         Print ( "Ошибка модификации групповых ордеров на покупку!" );
                    }
                 }
              }
             if (OrderType() == OP_SELL && GetAveragePrice() - Ask > TrailingStopGroupOrder* Point )
              {
               if (GetAveragePrice() - Ask > TrailingStopGroupOrder* Point || OrderStopLoss() == 0 )
                 {
                   if (OrderStopLoss() > Ask + (TrailingStep + TrailingStopGroupOrder)* Point || OrderStopLoss() == 0 )
                    {
                     if (!OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble (Ask + TrailingStopGroupOrder* Point , Digits ), tp, 0 ))
                         Print ( "Ошибка модификации групповых ордеров на продажу!" );
                    }
                 }
              }
           }
        }
     }
  }

 int                          TrailingStep                   = 1 ;       // Шаг для TrailingStop
extern int                   TakeProfitGroupOrder           = 30 ;       // Тейкпрофит групповых ордеров
extern int                   TrailingStopGroupOrder         = 10 ;       // Трейлинг стоп груповых ордеров
 
Aleksandr Egorov # :

약어 가리키다

이 시나리오에서 두 번째 주문을 열 때 손절매가 설정되고 그리드에서 더 이상 세 번째 주문을 열 수 없을 수도 있습니다...

 
EVGENII SHELIPOV # :

나는 그것이 어떤 조건에서 시작되는지를 의미했습니다.

TrailingGroupOrder()
 
MakarFX # :

나는 그것이 어떤 조건에서 시작되는지를 의미했습니다.

 if (CountTrade()> 1 )
     {
      TrailingGroupOrder();
     }
 
MakarFX # :

이 상황에서 2차 주문을 열 때 손절매가 발생하고 그리드에서 더 이상 3차 주문을 열 수 없을 수도 있습니다...

글쎄, 내가 아는 한, 주문이 열리기 전에 중지할 수 없습니다.

그리고 그룹 수정은 그것 없이는 할 수 없습니다

j++;
   if (Ask>OrderOpenPrice()+DistPoint*order[j]*Po){
   bool mods=OrderModify(OrderTicket(),Ask-(DistPoint*order[j])*Po,OrderStopLoss(),OrderTakeProfit(), 0 , clrRed );}
 
MakarFX # :

이게 왜 중복임?

이렇게 될 수 있을까


또한 어떤 매개변수가

Makar 당신이 옳았지만 이 코드의 대부분은 내 것이 아닙니다. 튜토리얼에서 가져왔습니다. 게다가, 이 교체는 제기된 문제를 해결하지 못합니다.