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

 
Al ve sat emirleri için düzeltme yaptım, sadece eurusd ticareti yapıyorum bu yüzden sembollerde sorun yok. EA'ları kullanmıyorum, bu yüzden tüm siparişler manuel olarak veriliyor! Sorun, uzun süreli siparişlere ölçekleme için sahip olduğum siparişleri kapatmak için nasıl farklılaştırılacağıdır.
 
extern double CloseforBuy=1.4;
extern double CloseforSell=1.3;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

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

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


{
if(OrderType()==OP_BUY)
{
if(Bid>CloseforBuy)
{
for(int a=OrdersTotal()-1;a>=0;a--)
if(OrderSelect(a,SELECT_BY_POS, MODE_TRADES) )
//if(OrderSymbol()==Symbol())
OrderClose(OrderTicket(),OrderLots( ),OrderClosePrice(),1000,White);
//----

}}
if(OrderType()==OP_SELL)
{
if(Ask<CloseforSell)
{
for(int b=OrdersTotal()-1;b>=0;b--)
if(OrderSelect(b,SELECT_BY_POS, MODE_TRADES) )
//if(OrderSymbol()==Symbol())
OrderClose(OrderTicket(),OrderLots( ),OrderClosePrice(),1000,White);
//----
}}

return(0);
}
 

Bunu yapamazsın. . .

 if ( OrderType ()==OP_BUY)

. . . OrderSelect() sonrasına kadar. . . . OrderType() belgelerini okuyun, " Not: sipariş, OrderSelect() işlevi tarafından seçilmelidir."

Denemek . . .

 if (Bid>CloseforBuy)
   {
   for ( int a= OrdersTotal ()- 1 ;a>= 0 ;a--)
       if ( OrderSelect (a,SELECT_BY_POS, MODE_TRADES) && 
       OrderType ()==OP_BUY &&
       OrderSymbol ()== Symbol () )
         if ( ! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 1000 , White ) )
             Print ( "OrderClose failed, error: " , GetLastError ());

   }
 
deVries :

tp'yi 25 pipte ayarlayabilir ve ardından ticareti 5 pipte kapatabilirsiniz.

Evet, ancak fiyatlar aniden 5 pipten fazla değişirse , emri zamanında kapatamazsınız. Risklerin bir parçası.

Saygılarımla ve mutlu ticaret!!!

 
RaptorUK :

Bunu yapamazsın. . .

. . . OrderSelect() sonrasına kadar. . . . OrderType() belgelerini okuyun , " Not: sipariş, OrderSelect() tarafından seçilmelidir. işlev. "

Denemek . . .

Düzeltmeyi yaptım yardımlarınız için çok teşekkür ederim. Harika!!!

Tüm siparişleri değil, alım/satımlardan birini filtrelemek ve kapatmak için herhangi bir teklifiniz var mı? Böylece uzun vadeli siparişleri kafa derisi ve tutmak mümkün olacak!

Yardımın için teşekkürler!!!

 
ats :

Düzeltmeyi yaptım yardımlarınız için çok teşekkür ederim. Harika!!!

Tüm siparişleri değil, alım/satımlardan birini filtrelemek ve kapatmak için herhangi bir teklifiniz var mı? Böylece uzun vadeli siparişleri kafa derisine almak ve saklamak mümkün olacak!

Muhtemelen ama bu sizin stratejinize göre belirlenir. . . Kodlamanın yeterince basit olması gerektiğine karar verdiğinizde, hangi sırayı kapatmak ve hangisini çalışır durumda bırakmak istiyorsunuz.
 

Hangi siparişi kapatmak istediğinizi belirlemek kolaydır. Scalping için sıra budur! Son sipariş diyelim!

 

Temel fikir şudur: 1. Uzun vadeli açık pozisyonlarınız var ve kafa derisine sahip olmak istiyorsunuz.

2. bekleyen bir emir ayarladınız

3. EA'yı açarsınız

4. EA yalnızca BU siparişi kapatır

5. EA'yı kapatırsınız

 
ats :

Hangi siparişi kapatmak istediğinizi belirlemek kolaydır. Scalping için sıra budur! Son sipariş diyelim!

Verilen son emir en büyük emir pozisyon numarasına sahip olmalıdır. . . OrderOpenTime() ile iki kez kontrol edebilirsiniz
 
RaptorUK :
Verilen son emir en büyük emir pozisyon numarasına sahip olmalıdır. . . OrderOpenTime() ile iki kez kontrol edebilirsiniz

İyi bir fikir! bunun hakkında düşünmedim