[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 289

 

Pekala, prensipte, stratejinin kendisi çok uzun ve karmaşık ve onu tarif etmenin bir anlamı yok, bir döngü oluşturmak için 1 puan tobish, toplam == 1 yerine bir şey bulmam gerekiyor, bu pozları açmadı talebe karşılık gelmiyorsa, o zaman st .... ..... açık 1'de kapanırsa, ......... ile kapanırsa tp açılır 2, koşul siparişin olmamasıdır pazar, hepsi bu,

 
FoxUA :

peki, prensip olarak, stratejinin kendisi çok uzun ve karmaşık ve onu tarif etmenin bir anlamı yok, bu bir döngü oluşturmak için 1 nokta tobish, toplam == 1 yerine bir şey bulmam gerekiyor, bu da pozları açmadı talebe karşılık gelmiyorsa, o zaman st'de kapanırsa .... ..... açık 1, kapatılırsa ........... tp açılır 2, koşul bir piyasada sipariş, hepsi bu,


O zaman kullandığınız Igor işlevi size uymuyor. Son kapatılan siparişin türünü ve neden (tp veya sl) kapatıldığını döndürecek bir işleve ihtiyacınız var. Belirli bir türdeki bir siparişin son kapanış nedenini döndürmek yerine. Şimdi bir şeyler bulmaya çalışacağım...

 
Figar0 :


O zaman kullandığınız Igor işlevi size uymuyor. Son kapatılan siparişin türünü ve neden (tp veya sl) kapatıldığını döndürecek bir işleve ihtiyacınız var. Belirli bir türdeki bir siparişin son kapanış nedenini döndürmek yerine. Şimdi bir şeyler bulmaya çalışacağım...


Peki, Klimo'ya benzer bir şeyiniz varsa, sadece son sipariş kapansın, size çok minnettar olacağım.
 

Bu işlevi Igor'un işleviyle birlikte deneyin:

 //+----------------------------------------------------------------------------+
//|  Версия   : 30.03.2011                                                     |
//|  Описание : Возвращает тип последней закрытой позиции                      |
//|  если Buy 1 , если Sell -1                                                 |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    symbol - наименование инструмента                                       |
//|    magic - MagicNumber                                                     |
//+----------------------------------------------------------------------------+
int LastCloseDeal( string symbol, int magic) 
{
   int lastclosetime=- 1 ;
   int lastcloseticket=- 1 ;
   int lastdealtype= 0 ;

   for ( int i= 0 ; i<OrdersHistoryTotal(); i++) 
  {
     if (! OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) continue ; 
     if (OrderSymbol()==symbol || OrderMagicNumber()==magic) 
    {
       if (lastclosetime<OrderCloseTime()) 
      {
        lastclosetime=OrderCloseTime();
        lastcloseticket=OrderTicket();
      }
    }
  }

   if ( OrderSelect (lastcloseticket, SELECT_BY_TICKET, MODE_HISTORY)) 
  {
     if (OrderType()==OP_BUY) lastdealtype= 1 ;
     if (OrderType()==OP_SELL) lastdealtype=- 1 ;   
  }
   return (lastdealtype);
}
 

O zaman kod parçanız şöyle görünmelidir:

 bool Buystop=isCloseLastPosByStop( NULL ,OP_BUY,MagBuy);
bool BuyTake=isCloseLastPosByTake( NULL ,OP_BUY,MagBuy);
bool Sellstop=isCloseLastPosByStop( NULL ,OP_SELL,MagBuy);
bool SellTake=isCloseLastPosByTake( NULL ,OP_SELL,MagBuy);

//--------------------------------------------------------------------------------+
if (total== 1 ) 
 {

   if (LastCloseDeal( Symbol (), MagBuy)== 1 )

  {
       if (Buystop==True)    OpenPosition( NULL , OP_SELL, Lot,Bid+Sl3* Point , Bid-Tp3* Point ,MagBuy);
       if (BuyTake==True)   OpenPosition( NULL , OP_BUY,  Lot, Ask-Sl* Point , Ask+Tp* Point ,MagBuy);      
   }

   if (LastCloseDeal( Symbol (), MagBuy)==- 1 )

   { 
       if (Sellstop==True)   OpenPosition( NULL , OP_BUY,  Lot, 0 , Ask+Tp* Point ,MagBuy);
       if (SellTake==True)    OpenPosition( NULL , OP_BUY,  Lot, Ask-Sl* Point , Ask+Tp* Point ,MagBuy); 
   }  

}

 
Figar0 :

O zaman kod parçanız şöyle görünmelidir:


ATP deneyeceğim
 
Merhaba, lütfen belirli noktalarda sanal durdurma kayıplarının ayarlanmasına yardımcı olun, daha kesin olacağım: yeni SL hakkında veri göndermek yerine, danışman bunları değişkenlerde (veya başka bir yerde) ve iz, iz, iz , ve fiyat belirli bir seviyeye ulaştığında (fiyatlar ) DC'ye bir emrin kapatılması hakkında bir sinyal gönderir (sanal durdurma kaybı ile bir tür sanal takip durdurma). Başka bir deyişle, DC sunucusu için 1 pip'ten görünmez bir seviyede takip eden bir stop içeren bir uzman... Bu gerçek mi?
 
Centuriy :
Merhaba, lütfen belirli noktalarda sanal durdurma kayıplarının ayarlanmasına yardımcı olun, daha kesin olacağım: yeni SL hakkında veri göndermek yerine, danışman bunları değişkenlerde (veya başka bir yerde) ve iz, iz, iz , ve fiyat belirli bir seviyeye ulaştığında (fiyatlar ) DC'ye bir emrin kapatılması hakkında bir sinyal gönderir (sanal durdurma kaybı ile bir tür sanal takip durdurma). Başka bir deyişle, DC sunucusu için 1 pip'ten görünmez bir seviyede takip eden bir stop içeren bir uzman... Bu gerçek mi?


Evet, gerçekten, elbette. Açık siparişlerden geçersiniz, bunların bir açılış fiyatı vardır , örneğin, X fiyatında bir Satın alma açılışımız, Y puanlık bir sanal durdurma kaybımız var, bu nedenle mevcut fiyat Z < = XY*Puan ise, siparişi kapatın . Elbette spreadler de dikkate alınmalı ve stoploss sabit değil de hesaplanmışsa hesaplanan değer bir yerde saklanmalı vb.

"Sanal durdurma", "sanal durdurma kaybı" vb. için aramayı kullanın.

 
Figar0 :


Evet, gerçekten, elbette. Açık siparişlerden geçersiniz, bunların bir açılış fiyatı vardır, örneğin, X fiyatında bir Buy açılışımız, Y puanlık bir sanal durdurma kaybımız var, bu nedenle mevcut fiyat Z < = XY*Puan ise, siparişi kapatın . Elbette spreadler de hesaba katılmalı ve stoploss sabit değil de hesaplanmışsa hesaplanan değer bir yerde saklanmalı vs.

"Sanal durdurma", "sanal durdurma kaybı" vb. için aramayı kullanın.

Bence az çok resmileştirilmiş kendi sipariş muhasebesi olmadan yapılamaz.

Kendi sipariş dizinizi oluşturun ve gerekli tüm verileri içindeki sanal duraklarda saklayın.

 
Figar0 :


Evet, gerçekten, elbette. Açık siparişlerden geçersiniz, bunların bir açılış fiyatı vardır, örneğin, X fiyatında bir Buy açılışımız, Y puanlık bir sanal durdurma kaybımız var, bu nedenle mevcut fiyat Z < = XY*Puan ise, siparişi kapatın . Elbette spreadler de hesaba katılmalı ve stoploss sabit değil de hesaplanmışsa hesaplanan değer bir yerde saklanmalı vs.

"Sanal durdurma", "sanal durdurma kaybı" vb. için aramayı kullanın.

Cevap için teşekkürler, ama sorun stoploss'ta değil, takip eden stop'un kendisinde (sondaki stop), neden sanal bir taneye ihtiyacım var, çünkü min 1 noktayı takip etmek ve OrderModify komutunu göndermek istiyorum. Her tikte DC, bu holiganlık IMHO ))

"ve stoploss sabit değil, hesaplanmışsa, o zaman hesaplanan değer güvenli bir şekilde bir yerde saklanmalıdır, vb."

bunu detaylandırabilir misin? nerede saklanmalı, nasıl aranmalı, bunların değişken olması gerektiğini düşünüyorum yoksa yanılıyorum...