FORTS SL ve TP

 

Hey!

SL ve TP hiç kullanmadım

Lütfen, lütfen açıklayın.

C‌top-zarar ve kar al zaten mevcut pozisyonda ayarlandı

ve‌Bu parametreleri, verilen sıraya göre, yani pozisyon henüz açık değilken ayarlamak mümkün müdür?

Bir emirde parametreleri ayarlamak mümkünse, bir piyasa emrinde SL ve TP nasıl hesaplanır ( pozisyon fiyatı sabit değildir)?

 
prostotrader :

Hey!

ST ve TP'yi hiç kullanmadım

Lütfen, lütfen açıklayın.

C‌top-zarar ve kar al zaten mevcut pozisyonda ayarlandı

ve‌Bu parametreleri, verilen sıraya göre, yani pozisyon henüz açık değilken ayarlamak mümkün müdür?

Bir emirde parametreleri ayarlamak mümkünse, bir piyasa emrinde SL ve TP nasıl hesaplanır ( pozisyon fiyatı sabit değildir)?


İstediğiniz gibi ayarlayabilirsiniz, seviyeler sunucuda saklanır. Aynı sunucu durdurmalarınızı yürütmeyi reddedebilir .
 
Sergey Chalyshev :

İstediğiniz gibi ayarlayabilirsiniz, seviyeler sunucuda saklanır. Aynı sunucu durdurmalarınızı yürütmeyi reddedebilir .


Burada da sunucu hatalarının alınması istenmez.

Yani mevcut pozisyona kurmak daha mı iyi (emin olmak için)?

 
prostotrader :


Burada da sunucu hatalarının alınması istenmez.

Yani mevcut pozisyona kurmak daha mı iyi (emin olmak için)?


Durakları belirlememek, sınırlamak genellikle daha iyidir.
 
prostotrader :


Burada da sunucu hatalarının alınması istenmez.

Yani mevcut pozisyona kurmak daha mı iyi (emin olmak için)?

Değişim performansında okuma yazma bilmiyorum, ama yine de. Genel olarak, zaten mevcut bir pozisyona sipariş vermek daha iyidir, eğer bir kayma varsa, seviyeler tam olarak ayarladığınız boyuta karşılık gelecektir. Şahsen kontrol etmedim, ancak SL ve TP olmadan siparişin daha hızlı yürütüldüğünü okudum, bu doğruysa, önce pozisyonun açılmasını beklemek ve onunla çalışmak daha iyidir.
 
Sergey Chalyshev :

Durakları belirlememek, sınırlamak genellikle daha iyidir.


Bu yüzden daha önce hiç kullanmadım.

Hayır, şimdi CFOROrder sınıfını yazıyorum ve SL ve TP'yi ayarlamak için bir işlevi olmalı

Eklendi

POSITION_SL


POSITION_TP

Bunlar minimum seviyeler mi?


 
Vitaly Muzichenko :
Değişim performansında okuma yazma bilmiyorum, ama yine de. Genel olarak, zaten mevcut bir pozisyona sipariş vermek daha iyidir, eğer bir kayma varsa, seviyeler tam olarak ayarladığınız boyuta karşılık gelecektir. Şahsen kontrol etmedim, ancak SL ve TP olmadan siparişin daha hızlı yürütüldüğünü okudum, bu doğruysa, önce pozisyonun açılmasını beklemek ve onunla çalışmak daha iyidir.

teşekkürler
 
prostotrader :

teşekkürler
Sizin için zor değilse, önceden ayarlanmış emirlerle ve emirler olmadan yürütme hızını kişisel olarak kontrol edebilir, böylece topluluğa gerçek bir resim sağlamak için " SL ve TP olmadan, sipariş daha hızlı yürütülür " gerçeğini kanıtlayabilir veya reddedebilirsiniz. - Bazıları için faydalı olacağını düşünüyorum.
 
Vitaly Muzichenko :
Değişim performansında okuma yazma bilmiyorum, ama yine de. Genel olarak, zaten mevcut bir pozisyona sipariş vermek daha iyidir, eğer bir kayma varsa, seviyeler tam olarak ayarladığınız boyuta karşılık gelecektir. Şahsen kontrol etmedim, ancak SL ve TP olmadan siparişin daha hızlı yürütüldüğünü okudum, bu doğruysa, önce pozisyonun açılmasını beklemek ve onunla çalışmak daha iyidir.


Durdurma emirlerinin kendisi çok hızlı çalışır, çünkü bunlar sunucuda depolanır ve sunucunun kendisi koşullar altında emir gönderir. Aynı zamanda, piyasada kapalıysanız, sunucuya ping kaydedilir.

Ancak sınırlayıcılar daha güvenilirdir ve hız hiçbir şeyle karşılaştırılamaz (gecikme = 0).

Hızı fiziksel olarak ölçmedim, fiyatın henüz grafikteki durağa ulaşmadığı ve anlaşmanın zaten tamamlanmış olduğu ve geçmişte görüntülendiği gözle açıkça görülüyor ve ardından fiyat ve anlaşma olmaya başlıyor. çizelge üzerine çizilmiştir.

 
prostotrader :


Bu yüzden daha önce hiç kullanmadım.

Hayır, şimdi CFOROrder sınıfını yazıyorum ve SL ve TP'yi ayarlamak için bir işlevi olmalı

Eklendi

POSITION_SL


POSITION_TP

Bunlar minimum seviyeler mi?



Neden sunucuda saklanan koltuk değneği olmayan bir fonksiyon yazmıyorsunuz?

Sınırlarla hemen yazın. Eh, ya da en azından sınırları olan TP ve ortaya çıktığı gibi SL.

 
Sergey Chalyshev :


Neden sunucuda saklanan koltuk değneği olmayan bir fonksiyon yazmıyorsunuz?

Sınırlarla hemen yazın. Eh, ya da en azından sınırları olan TP ve ortaya çıktığı gibi SL.


Ancak sınıf kodunu gönderebileceğim için.

Benim ihtiyacım yok ama yeni başlayanların ihtiyacı olabilir.

void CFORTSOrder::SetSlTp( const string a_symbol, const double a_sl= 0 , const double a_tp= 0 )
{
   if ( PositionSelect (a_symbol))
  {
     ulong pos_ticket = ulong ( PositionGetInteger ( POSITION_TICKET ));
     ENUM_POSITION_TYPE pos_type = ENUM_POSITION_TYPE ( PositionGetInteger ( POSITION_TYPE ));
     double sl_level = PositionGetDouble ( POSITION_SL );
     double tp_level = PositionGetDouble ( POSITION_TP );
     MqlTradeRequest request = { 0 };
     MqlTradeResult   result  = { 0 };
    mem_magic = magic_storage + 1 ;
     if (magic_storage >= (magic_number + 65530 )) mem_magic = magic_number;
    request.symbol = a_symbol;
    request.action = TRADE_ACTION_SLTP ;
    request.comment = "Установка SL/TP" ;
    request.magic = mem_magic;
    request.position = pos_ticket;
     switch (pos_type)
    {
       case POSITION_TYPE_BUY :
         if (a_sl == 0 )
        {
          request.sl = sl_level;
        }
         else
         if (a_sl <= sl_level)
        {
          request.sl = a_sl;
        }
         else request.sl = sl_level;
         if (a_tp == 0 )
        {
          request.tp = tp_level;
        }
         else
         if (a_tp >= tp_level)
        {
          request.tp = a_tp;
        }
         else request.tp = tp_level;
       break ;
       case POSITION_TYPE_SELL :
         if (a_sl == 0 )
        {
          request.sl = sl_level;
        }
         else
         if (a_sl >= sl_level)
        {
          request.sl = a_sl;
        }
         else request.sl = sl_level;
         if (a_tp == 0 )
        {
          request.tp = tp_level;
        }
         else
         if (a_tp <= tp_level)
        {
          request.tp = a_tp;
        }
         else request.tp = tp_level;
       break ;
    }
     if ( OrderSend (request, result))
    {
       if (result.retcode == TRADE_RETCODE_DONE )
      {
        magic_storage = mem_magic;
         Print ( __FUNCTION__ , ": SL и/или TP установлен." );
      }
    }
     else Print ( __FUNCTION__ , ": SL и/или TP не установлен." );
  }
}

Neden: