İzleyen Duraklar ve İzleyen Kar - sayfa 7

 
Arav007 :

İşte burada.

Saygılarımızla


Daha iyi bir yol için https://www.mql5.com/en/forum/150195/page6#924239 adresine bakın
 

Ben de gördüm ve test ettim.

Ayrıca, bu EA'yı tamamlamak için ihtiyacım olan ' Zararı Durdur ' ve 'En Az Kâr Kilitleme' ile ilgili sorunu da çözmüyor.

 

Bu, kodunuzun başlangıcıdır

 if ( OrdersTotal ()> 0 )
   { //----------------------------------------------------------------->1
    for ( int cnt= OrdersTotal ()- 1 ;cnt>= 0 ;cnt--)
     { //--------------------------------------------------------------->2    
      if (! OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES )) continue ;
      if ( OrderSymbol () == Symbol () && OrderMagicNumber () ==Magic_Number_1)
       {
       if ( OrderProfit ()< 0.03 )
         {
         if ( OrderType ()== OP_BUY )
           {  
           bOrderClosed = closeBuyOrder(iOrderType_Buy); //Closing Buy order    
            if (bOrderClosed)
             {
             Print ( "Buy Order 1 Closed" );
             }
             else
               {
               iLastError = GetLastError();                                       
               } //end else if(bOrderClosed)
           } //end if(OrderType()==OP_BUY)
       if ( OrderType ()== OP_SELL )
          {  
          bOrderClosed = closeSellOrder(iOrderType_Sell); //Closing Sell order
           if (bOrderClosed)
            {
             Print ( "Sell Order 1 Closed" );
            }
           e lse
              {
              iLastError = GetLastError();
              } //end else if(bOrderClosed)
          } //end if(OrderType()==OP_SELL)
        } // if (OrderProfit()<0.03)                          
      } // if(OrderSymbol() == Symbol() && OrderMagicNumber() ==Magic_Number_1)

bu kodun ne yaptığını açıklayın ve

bunu neden yapıyor... ve ne zaman oluyor

bu kodun ne yapmasını istiyorsun

bir hata varsa iLastError'ı biliyor musunuz?

 

ohh, teşekkürler. Gözlerimi açtın.

Koşul şu olduğundan, yürütüldüğünde tüm açık siparişleri kapatıyor:

if ( OrderProfit ()< 0.03 )

Böylece yeni açılan tüm siparişleri doğal olarak kapatacaktır.

Amacım, bir ticaret örneğin 0,1 $ kâr ederse ve sonra bu işlem geri dönerse, 0,01 $ gibi en düşük kârla kapatılacaktı.

Muhtemelen 'OrderProfit()' işlevi ile mümkün değildir.

Sondaki durma olayını kullanmam gerekecek.

 
Arav007 :

Ben de gördüm ve test ettim.

Ayrıca, bu EA'yı tamamlamak için ihtiyacım olan 'Zararı Durdur' ve 'En Az Kâr Kilitleme' ile ilgili sorunu da çözmüyor.


ne kodlamak istedin???

stoploss'ta ne sorun var

Başabaşta, istediğiniz gibi ilk iki işlem için en az kâr kilitlemeniz var,..... düşündüm

 
deVries :


ne kodlamak istedin???

stoploss'ta ne sorun var

Başabaşta, istediğiniz gibi ilk iki işlem için en az kâr kilitlemeniz var,..... düşündüm


Lütfen beni affedin.

Parametreleri doğru ayarlayamadım.

Evet, bu kadar! Çok teşekkürler.

SL, İlk İki işlem ve TP için de Taşındı.

Şimdi bu ayarları kullandım:

harici çift Başabaş =5;

harici çift BreakEvenSL =1;

harici çift TrailingStop =10;

harici çift TrailingStep =3;

Sadece kavramı netleştirmek için:

Piyasa, açık fiyattan 5 pip kâr ederse, Zarar Durdurma 1 pip kâr olarak belirlenir. Ardından Trailing Stop işlevi başlayacaktır.

10'luk bir İzleyen Durdurma ile, piyasa açılış fiyatından 10 pip kâr ederse, Zarar Durdurma kârda 3 pip olur, değil mi?

Ve sonra piyasa 10 pips daha fazla, yani toplamda 20 pips ulaşırsa, SL 6 pips karda mı olacak?

Saygılarımızla