MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1647

 
EVGENII SHELIPOV # :

Herkese iyi günler, takip eden grup siparişleri için bir kod yazıyorum. Takip için kod mantığı aşağıdaki gibidir:

Grup siparişlerinin takibi hangi koşullar altında başlamalıdır?

 
EVGENII SHELIPOV # :

Herkese iyi günler, takip eden grup siparişleri için bir kod yazıyorum. Takip için kod mantığı aşağıdaki gibidir:



   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 );}} }}} 

değerleri değiştir ve mutlu olacaksın, sanırım daha fazla anlayacaksın

 
Aleksandr Egorov # :

değerleri değiştir ve mutlu olacaksın, sanırım daha fazla anlayacaksın

"Ro" nedir?
DistPoint*order[j] *Po
 
MakarFX # :
"Ro" nedir?

kısalt. nokta

 
MakarFX # :

Grup siparişlerinin takibi hangi koşullar altında başlamalıdır?




 //+----------------------------------------------------------------------------+
//| Трейлинг стоп групповых ордеров                                            |
//+----------------------------------------------------------------------------+
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 # :

kısalt. nokta

Bu durumda, ikinci sırayı açarken, bir stoploss yerleştirilecek ve şebekede üçüncü sırayı açmak artık mümkün olmayabilir...

 
EVGENII SHELIPOV # :

hangi koşullarda başladığını kastetmiştim

TrailingGroupOrder()
 
MakarFX # :

hangi koşullarda başladığını kastetmiştim

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

Bu senaryoda, ikinci sırayı açarken, zararı durdurma işlemi yapılacak ve üçüncü sırayı şebekede açmak artık mümkün olmayabilir...

iyi, bildiğim kadarıyla sipariş açılmadan stop yapılamaz

ve grup değişikliği onsuz yapılamaz

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

Bu çoğaltma neden?

böyle olabilir mi


Ayrıca hangi parametreleri göster

Makar Haklısın ama bu kodun çoğu benim değil. Ben öğreticiden aldım. Ayrıca, bu değiştirme, sorulan soruyu çözmez.