[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 529

 
Çubuklar kaldırıldı, fiyattan X adımlı bekleyen emirler eklendi, geriye kalan tek şey, kapanan emirlerin hemen ayrı ayrı açılması ve 4 emrin tamamının kapanmasını beklememek ve % öz sermayeye bağlı olarak lotu hesaplamak, bu 2 nüansı düzeltmeye yardımcı olun
işte şimdi nasıl göründüğü:

//+------------------------------------------- --------------------+
//| mo_bidir.mq4 |
//| 5M zaman diliminde en iyi şekilde çalışır |
//+------------------------------------------- --------------------+
#özellik telif hakkı "Telif hakkı © 2010 - Monu Ogbe"

#define MAGIC 1234
#define KİMLİK "mo_bidir"

dış çift lot = 1;
harici çift stop_loss = 76; //
dış çift al kar = 750; //
extern int adımlar = 5;// Bekleyen siparişlerin adımı

int start(){

if (OrdersTotal() == 0){
OrderSend(Symbol(), OP_BUY, lot,Ask, 3, Ask - stop_loss * Point, Bid + take_profit * Point, IDENT, MAGIC, 0, Mavi);
OrderSend(Symbol(), OP_SELL, lot,Bid, 3, Bid + take_profit * Point, Ask - take_profit * Point, IDENT, MAGIC, 0, Red);
OrderSend(Symbol(), OP_BUYSTOP, 0,5*lot,Sor+adımlar*Puan, 3, Ask - stop_loss * Point, Bid + take_profit * Point, IDENT, MAGIC, 0, Mavi);
OrderSend(Symbol(), OP_SELLSTOP, 0.5*lot,Bid-steps*Puan, 3, Bid + take_profit * Point, Ask - take_profit * Point, IDENT, MAGIC, 0, Red);
}
dönüş(0);
}
Dosyalar:
 
belck :
Tarihte başabaş bir kod arıyorum. belki birilerinde vardır. Paylaş.
Başabaş kodum var, ancak açık siparişlerden çalışıyor.
Danışmanım, karşı sinyalde zarar edeni kapatıyor ve bir sinyalle açılıyor. ve şimdi kırmızıda ne kadar olduğunu hatırlamak ve bilgileri iletmek için bu başabaş koduna ihtiyacınız var, böylece ikincisi vb. siparişler, önceki zararları hesaba katarak grafikte zaten sıfır kâr çizgisi gördü. Danışmanın durağı yoktur. bu, zararı durdurarak değil, negatif bir ticareti kapatmak anlamına gelir.


buğulanmış şalgamdan daha kolay, ortak bir grafik elemanı yaparsınız - yatay bir çizgi , bu çizginin fiyatı ihtiyacınız olan fiyat olacaktır. her seferinde istenilen fiyata (kapanışla başabaş) taşıyın ve emri kapatırken (satırı) silmeyin, bir sonraki siparişte içindeki o eski fiyata bakın
 
belck :
Tarihte başa baş bir kod arıyorum. belki birilerinde vardır. Paylaş.
Başabaş kodum var, ancak açık siparişlerden çalışıyor.
Danışmanım, karşı sinyalde zarar edeni kapatıyor ve bir sinyalle açılıyor. ve şimdi kırmızıda ne kadar olduğunu hatırlamak ve bilgileri iletmek için bu başabaş koduna ihtiyacınız var, böylece ikincisi vb. siparişler, önceki zararları hesaba katarak grafikte zaten sıfır kâr çizgisi gördü. Danışmanın durağı yoktur. bu, zararı durdurarak değil, negatif bir ticareti kapatmak anlamına gelir.

Doğru anladıysam, sorunuzun bir kısmı, kullanılmış bir hat belirlemek için mevcut piyasa emirlerindeki kar seviyesi ile müteakip karşılaştırma için danışmanınızın ardışık olarak kapatılan kârsız işlemlerindeki toplam zararın muhasebeleştirilmesi mi?
 
FAQ :

buğulanmış şalgamdan daha kolay, ortak bir grafik elemanı yaparsınız - yatay bir çizgi, bu çizginin fiyatı ihtiyacınız olan fiyat olacaktır. her seferinde istenilen fiyata (kapanışla başabaş) taşıyın ve emri kapatırken (satırı) silmeyin, bir sonraki siparişte içindeki o eski fiyata bakın

daha kolay, daha kolay değil.

Kendim uygulayamıyorum.

İşlemleri kaybettiğimde çizginin görünmesi benim için önemlidir, böylece ulaşıldığında kapatabilirim. Kapatmayı uygulayacağım. ancak kodu oluşturmanın doğruluğunun mantığını bir türlü yakalayamıyorum.

yani, yalnızca kaybedilen siparişler olduğunda çizilecek bir çizgiye ihtiyacım var ve bu çizgi, açık ticaretin çoğundan ve önceki işlem kaybetme geçmişinden gelecek.
 
Roman. :
Doğru anladıysam, sorunuzun bir kısmı, kullanılmış bir hat belirlemek için mevcut piyasa emirlerindeki kar seviyesi ile müteakip karşılaştırma için danışmanınızın ardışık olarak kapatılan kârsız işlemlerindeki toplam zararın muhasebeleştirilmesi mi?

Stop hattım yok, yani zararı durdur ve kârı al yok.

Anlaşmayı kapatmak için gitmeniz gereken fiyat çizgisini, önceki kapalı kârsız siparişler engellenecek şekilde görmek istiyorum.

Sayacak ve başlangıç bloğuna bilgi aktaracak blok blok başlatmaya ihtiyacım var ve orada, başlangıç bloğunda, bu satırın fiyatına ulaşıldığında işlemi kapatmak için bu bilgiyi kullanacağım. Kapanışı organize edeceğim. ama tarihteki başabaş noktasının kendisi yazmam için çalışmıyor.

 
Global bir değişkene ihtiyacınız var, onu terminalin globallerinde yapın veya bir grafik nesnesi yapın - o zaman sadece bu grafikte görünür olacak, gerekirse bir dosyaya veya kayıt defterine veya doğrudan belleğe yazacaksınız. Birçok seçenek var.
 
FAQ :
Global bir değişkene ihtiyacınız var, onu Terminal'in globallerinde yapın veya bir grafik nesnesi yapın - o zaman sadece bu grafikte görünür, gerekirse bir dosyaya veya kayıt defterine veya doğrudan belleğe yazın. Birçok seçenek var.
bana cevap verdin mi
 
belck : ama başabaş bloğunun kendisini tarihe göre yazamam.

İşte kod bölümüm - bu belirli Uzman Danışmanın (büyüye göre) art arda kaybedilen işlemlerin toplam kaybını hesaba katmaktan sorumlu. Ağ Çığ versiyonum için yaptım - ihtiyaçlarınıza göre düzenleyin - kod yorumlandı ...

genel değişkenler

 double Current_Loss, Sum_Loss;     // текущий и суммарный убыток 
int start()    // -----------------------СТАРТ ЭКСПЕРТА---------------
{

//---------------------расчет по истории ордеров номера очередной итерации----------------------------------------------- 
  Iteration = 0 ; // зануляем инерации перед их учетом в цикле по истории
  Sum_Loss = 0 ;   // суммарный убыток по этим итерациям

datetime 
Time_at_History_Current = 0 ,
Time_at_History_Previos = 0 ;     
 
 if ( OrdersHistoryTotal () != 0 )
   {
     for ( int counter = OrdersHistoryTotal ()- 1 ; counter >= 0 ; counter--)
      {
       OrderSelect (counter, SELECT_BY_POS, MODE_HISTORY);
       if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber)
         {
           if ( OrderType () == OP_BUY || OrderType () == OP_SELL)
            {
             if ( OrderProfit () < 0 ) // если убыток по выбранному ордеру, то считаем суммарный и записываем время закрытия ордера
                                   // для последующего его анализа при подсчете количества итераций
                {
                 double lastLoss = OrderProfit ();
                 Sum_Loss=Sum_Loss+lastLoss;   // считаем общий убыток по закрытым подряд убыточным ордерам
                 Time_at_History_Current = OrderCloseTime ();
                } 
             
             //Print(" Time_at_History_Current_в цикле = ", TimeToStr(Time_at_History_Current, TIME_DATE|TIME_SECONDS));
             //Print(" Time_at_History_Previos_в цикле = ", TimeToStr(Time_at_History_Previos, TIME_DATE|TIME_SECONDS));
             
             if (Time_at_History_Current != Time_at_History_Previos) // если они не равны, то считаем итерации и делаем их равными
               {
                Time_at_History_Previos = Time_at_History_Current ;
                Iteration++;
                 //Print("Iteration at History в условии сравнения  = ",  Iteration);
               }   
             else // они равны, то проверяем, дополнительно, наличие профита по выбранному следующему ордеру и выходим из цикла
               {
                 if ( OrderProfit () >= 0 )
                   break ;
               }
            }
         }
      }
   }
 //Print("Iteration at History = ",  Iteration, " Time_at_History_Current = ", TimeToStr(Time_at_History_Current, TIME_DATE|TIME_SECONDS),
 //      " Time_at_History_Previos = ", TimeToStr(Time_at_History_Previos, TIME_DATE|TIME_SECONDS));
...
...
}// конец старт   

Kodun bu bölümünden sonra, bu Uzman Danışmanın zaten açık olan siparişleri arasında geçiş yapar ve toplam kârlarını hesaplarsınız. Sonra bu değeri bir değişkenle karşılaştırın

Sum_Loss

ve bir karar ver.

 
belck :
Tarihte başa baş bir kod arıyorum. belki birilerinde vardır. Paylaş.
Başabaş kodum var, ancak açık siparişlerden çalışıyor.
Danışmanım, karşı sinyalde zarar edeni kapatıyor ve bir sinyalle açılıyor. ve şimdi kırmızıda ne kadar olduğunu hatırlamak ve bilgileri iletmek için bu başabaş koduna ihtiyacınız var, böylece ikincisi vb. siparişler, önceki zararları hesaba katarak grafikte zaten sıfır kâr çizgisi gördü. Danışmanın durağı yoktur. bu, zararı durdurarak değil, negatif bir ticareti kapatmak anlamına gelir.

Tüm kapatılan anlaşmalar için toplam karı hesaplayın ve bunu TotalCloseProfit gibi bir değişkene kaydedin. Ve sonra, herhangi bir grafik ve diğer ekstra zil ve ıslık olmadan aşağıdaki kod parçasını kullanarak:

 if (TotalCloseProfit) < 0.0 ) { // Имеем убыток по закрытым позам
   if (( AccountEquity () + TotalCloseProfit) >= AccountBalance ()) { // Достигли безубытка
     // Здесь какой-то код, который необходимо выполнить при достижении безубытка
  }
}
 
utyff :


dergiye baktım.

nedeni bu gibi görünüyor, sadece ne anlama geldiğini bilmiyorum. Biri açıklayacak mı? Ve nasıl düzeltilir?

Bu bir hata değil. Günlükteki hatalar sarı simgeler yerine kırmızı ile işaretlenmiştir.