TP'yi 5 pip'in altına nasıl ayarlarım? - sayfa 4

 
Doğru mu? Sadece son 100 dakikalık siparişleri kapatacak
 if (Bid>CloseforBuy)
{
   for ( int a= OrdersTotal ()- 1 ;a>= 0 ;a--)
       if ( OrderSelect (a,SELECT_BY_POS, MODE_TRADES) && 
       OrderType ()==OP_BUY && TimeCurrent ()- OrderOpenTime () <= 100   &&
       OrderSymbol ()== Symbol () )
         if ( ! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 1000 , White ) )
             Print ( "OrderClose failed, error: " , GetLastError ());
            }



if (Ask<CloseforSell)
{
   for ( int b= OrdersTotal ()- 1 ;b>= 0 ;b--)
       if ( OrderSelect (b,SELECT_BY_POS, MODE_TRADES) && 
       OrderType ()==OP_SELL &&   TimeCurrent ()- OrderOpenTime () <= 100   &&
       OrderSymbol ()== Symbol () )
         if ( ! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 1000 , White ) )
             Print ( "OrderClose failed, error: " , GetLastError ());
            }
 
ats :
Doğru mu? Sadece son 100 dakikalık siparişleri kapatacak

Neredeyse TimeCurrent() , son tick'in sunucu saatini temsil eden bir tarih-saat verir. . .

Not: tarih saat türü (1 Ocak 1970 gece yarısından itibaren geçen saniye miktarını temsil eden tam sayı).

Yani bunu kontrol etmeniz gerekiyor. . .

 TimeCurrent ()- OrderOpenTime () <=

100 dakika. . . . veya (100 * 60) saniye

 

Yardımın için çok çok teşekkür ederim!

Mutlu ticaret!

 

Merhaba!

EA'yı değiştirmeye çalıştım ama düzgün çalışmıyor. Hatanın nerede olduğu hakkında bir fikriniz var mı?

Teşekkür ederim

 extern double TPforBuys= 1 ;
extern double TPforSells= 1 ;
extern double TimeForEA= 120 ;

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{

return ( 0 );
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{

return ( 0 );
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{


double TPbuy = TPforBuys / 10000 ;
double TPB= OrderOpenPrice ()+ TPbuy;

// Close Buys
if (Bid>TPB)
{
   for ( int a= OrdersTotal ()- 1 ;a>= 0 ;a--)
       if ( OrderSelect (a,SELECT_BY_POS, MODE_TRADES) && 
       OrderType ()==OP_BUY && TimeCurrent ()- OrderOpenTime () <= (TimeForEA * 60 )  &&
       OrderSymbol ()== Symbol () )
         if ( ! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 1000 , White ) )
             Print ( "OrderClose failed, error: " , GetLastError ());
            }



double TPsell = TPforSells / 10000 ;
double TPS= OrderOpenPrice ()- TPsell;



// Close Sells
if (Ask<TPS)
{
   for ( int b= OrdersTotal ()- 1 ;b>= 0 ;b--)
       if ( OrderSelect (b,SELECT_BY_POS, MODE_TRADES) && 
       OrderType ()==OP_SELL &&   TimeCurrent ()- OrderOpenTime () <= (TimeForEA * 60 ) &&
       OrderSymbol ()== Symbol () )
         if ( ! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 1000 , White ) )
             Print ( "OrderClose failed, error: " , GetLastError ());
            }


return ( 0 );
}
 

Bunu değiştirmeye çalışın ve bunun "düzgün çalışıp çalışmadığını" görün ...

 TimeCurrent ()- OrderOpenTime () >= (TimeForEA * 60 ) // time to close
 

Bu doğru! EA yalnızca 2 saatten eski olmayan siparişleri kapatır! Sorun şu ki, 1 pipten sonra tüm siparişleri doğru şekilde kapatmıyor! Ama hata nerede bilmiyorum!

Teşekkür ederim

 
ats :

Bu doğru! EA yalnızca 2 saatten eski olmayan siparişleri kapatır! Sorun şu ki, 1 pipten sonra tüm siparişleri doğru şekilde kapatmıyor! Ama hata nerede bilmiyorum!

Teşekkür ederim

Yani istediğiniz gibi çalışıyor, doğru muyum? Çünkü "düzgün çalışmak" ile ne demek istediğin hakkında hiçbir fikrim yok ve yeterince tembelim ve bu nedenle 4 sayfa yanıt ve kod okumuyorum.

Yani aslında tam olarak sana bu cevabı neden verdiğimi bilmiyorum :)

 
onewithzachy :

Yani aslında tam olarak sana bu cevabı neden verdiğimi bilmiyorum :)

Bir değişiklik olsun diye internette dürüstlüğü görmek güzel :-)
 
onewithzachy :

Yani istediğiniz gibi çalışıyor, doğru muyum? Çünkü "düzgün çalışmak" ile ne demek istediğin hakkında hiçbir fikrim yok ve yeterince tembelim ve bu nedenle 4 sayfa yanıt ve kod okumuyorum.

Yani aslında tam olarak sana bu cevabı neden verdiğimi bilmiyorum :)

Sorun yok! Teşekkür ederim!
 

Bunu yaptığınızda. . . .

 double TPB= OrderOpenPrice ()+ TPbuy;

. . . Hangi Siparişin Açık Fiyatını kullanıyorsunuz? OrderOpenPrice() Not: " Order, önce OrderSelect() işlevi tarafından seçilmelidir . "