Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 587

 
Karputov Vladimir :
rüya11 :

İyi günler, böyle bir sorun .. takip eden bir durdurma işlevi var ...

sadece bir tane değil, sınırsız sayıda siparişin takip edilmesi için nasıl yeniden yapılır ...


Böyle bir tane var, her şey berbat.
 extern int              TrailingStep = 10 ;     //Шаг трейлинга
extern int              TrailingStop = 30 ;     //Трейлинг стоп
//+------------------------------------------------------------------+
//Трейлинг стоп
void Trailing()
{
 int err = GetLastError ();
 err = 0 ;
 
 for ( int i = OrdersTotal ()- 1 ; i>= 0 ; i--)
 {
   if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))
  {
   if ( OrderSymbol () == Symbol () && OrderMagicNumber () == Magic)
   {
     if ( OrderType () == OP_BUY )
    {     
     if ( Ask - OrderOpenPrice () > TrailingStop* Point )
     {
       if ( OrderStopLoss () < Ask - (TrailingStep + TrailingStop)* Point )
      {
       if (! OrderModify ( OrderTicket (), OrderOpenPrice (), NormalizeDouble ( Ask - TrailingStop* Point , Digits ), OrderTakeProfit (), 0 , clrGreen ))
       {
        err = GetLastError ();
         if (err != 0 ) Print ( "Ошибка модификации ордера № " , OrderTicket (), " на покупку! Код ошибки: " ,err, "." );
       }
      }
     }
    }
     if ( OrderType () == OP_SELL )
    {
     if ( OrderOpenPrice () - Bid > TrailingStop* Point )
     {
       if ( OrderStopLoss () > Bid + (TrailingStep + TrailingStop)* Point )
      {
       if (! OrderModify ( OrderTicket (), OrderOpenPrice (), NormalizeDouble ( Bid + TrailingStop* Point , Digits ), OrderTakeProfit (), 0 , clrRed ))
       {
        err = GetLastError ();
         if (err != 0 ) Print ( "Ошибка модификации ордера № " , OrderTicket (), " на продажу! Код ошибки: " ,err, "." );
       }
      }
     }
    }
   }
  }
 }
}
//+------------------------------------------------------------------+
 
barudkinarseniy :
Böyle bir tane var, her şey berbat.
Prensip aynı, belki yanlış yerde diyorsunuz!?
 
Alexey Viktorov :
OnTimer() ile mümkün değil mi?

Zamanlayıcıda yapıyorum. Bunu zaten anladım, teşekkürler, grafikleri güncellemek için her çizim döngüsüne ChartRedraw işlevini eklemem gerekiyordu. Kahretsin, mql5'e mql4'ten sonra bir sürü karmaşıklık eklendi ama belki de daha iyisi için...

 
Başka bir soru, bir tarih-saat değişkeni (tarih saat türünde) 1970'ten sonraki NUMBER saniyeye nasıl dönüştürülebilir? Sonuçta, zaman değerini sıradan bir tamsayıya eşitlersek, bu int değişkeni gerçekten bu saniye sayısına eşit olacaktır, ancak "tür dönüşümü nedeniyle olası veri kaybı " uyarısı olacaktır, bu biraz can sıkıcıdır. , sorunu bir şekilde çözmek mümkün mü?

 
loleg1991 :
Başka bir soru, bir tarih-saat değişkeni (tarih saat türünde) 1970'ten sonraki NUMBER saniyeye nasıl dönüştürülebilir? Sonuçta, zaman değerini sıradan bir tamsayıya eşitlersek, bu int değişkeni gerçekten bu saniye sayısına eşit olacaktır, ancak "tür dönüşümü nedeniyle olası veri kaybı " uyarısı olacaktır, bu biraz can sıkıcıdır. , sorunu bir şekilde çözmek mümkün mü?

"Sayısal türlerin dökümü" belgelerini okuyun
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
loleg1991 :
Başka bir soru, bir tarih-saat değişkeni (tarih saat türünde) 1970'ten sonraki NUMBER saniyeye nasıl dönüştürülebilir? Sonuçta, zaman değerini sıradan bir tamsayıya eşitlersek, bu int değişkeni gerçekten bu saniye sayısına eşit olacaktır, ancak "tür dönüşümü nedeniyle olası veri kaybı " uyarısı olacaktır, bu biraz can sıkıcıdır. , sorunu bir şekilde çözmek mümkün mü?

tarihsaat saniye sayısıdır

https://www.mql5.com/ru/docs/basis/types/integer/datetime

.

https://www.mql5.com/ru/docs/convert/stringtotime

Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип datetime
Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип datetime
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Тип datetime - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
loleg1991 :
Başka bir soru, bir tarih-saat değişkeni (tarih saat türünde) 1970'ten sonraki NUMBER saniyeye nasıl dönüştürülebilir? Sonuçta, zaman değerini sıradan bir tamsayıya eşitlersek, bu int değişkeni gerçekten bu saniye sayısına eşit olacaktır, ancak "tür dönüşümü nedeniyle olası veri kaybı " uyarısı olacaktır, bu biraz can sıkıcıdır. , sorunu bir şekilde çözmek mümkün mü?

Bir tarih olarak değil, saniye sayısı olarak yansıtılması gerektiğini kastediyorsanız, açıkça uzun türe aktarın.
 
Alexey Kozitsyn :
Bir tarih olarak değil, saniye sayısı olarak yansıtılması gerektiğini kastediyorsanız, açıkça uzun türe aktarın.
Evet, ekranı kastetmiştim, teşekkürler, yardımcı oldu.
 
loleg1991 :
evet, ekranı kastetmiştim, teşekkürler, yardımcı oldu.
Rica ederim)
 

Merhaba ! Lütfen bana EA'nın grafiğe bir düğme veya geçiş anahtarı gibi bir nesne eklemesinin mümkün olup olmadığını söyleyin ve eğer öyleyse, nasıl?