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

 
Öyle bir şey yok, eski yapılara destek kesildi.
 

Merhaba! Lütfen danışman kodundaki para yönetimini değiştirmeme yardım edin.

EA'nın 2 koşulu var

1- minimum lot + sabit lotla çalışma veya ücretsiz fon yüzdesinde 2- lot artış

ve 1. başarısız işlemden sonra lotun - 0,01 lot, 2. işlem de başarısız olursa - 0,02 lot kadar artırmam gerekiyor,

ve 3. mağlubiyetten sonra parti tekrar minimuma indi.

Uzman Danışmanıma ekleyebileceğim işlevlere ihtiyacım var (tercihen mümkün olduğunca basit)

Include (lot_lib) aracılığıyla koda eklemeye çalıştım bir sürü hata veriyor ve hiçbir şey olmuyor.

Zaman ayırdığınız için şimdiden teşekkürler!.


 

Merhaba!

Kodu yazıyorum, amaç son üç çubuğun en düşük/en yüksek noktasında stoploss seviyesini ayarlamak. İşte olanlar:

 double FindSL( int mode)
   {
     double sl; //уровень стоплосса
     double buf; //буфер
     double lvl1, lvl2, lvl3; //выборка из 3-х последних баров
     if (mode == 1 ) //покупали
      {
       lvl1 = iLow (symb, 0 , 0 );
       lvl2 = iLow (symb, 0 , 1 );
       lvl2 = iLow (symb, 0 , 2 );
       buf = MathMin (lvl1, lvl2); //ищем низ
       sl = MathMin (buf, lvl3);
      }
     else if (mode == 2 ) //продавали
      {
       lvl1 = iHigh (symb, 0 , 0 );
       lvl2 = iHigh (symb, 0 , 1 );
       lvl3 = iHigh (symb, 0 , 2 );
       buf = MathMax (lvl1, lvl2); //ищем вершину
       sl = MathMax (buf, lvl3);
      }
     return (sl);
   }

Siparişler aşağıdaki kodla açılır:

 int OpenOrder( int sell_or_buy)                                   //Открытие ордеров
   {
    GetLot();

     if (sell_or_buy== 2 )                                           //покупка
       {
        StopLoss = FindSL( 1 );
         OrderSend (symb, OP_BUYSTOP, Lots, iHigh (symb, 0 , 1 ), 0 , StopLoss, 
         iHigh (symb, 0 , 1 )+TakeProfit* Point , "Ichimoku Simple Adviser Trade" , 1001 , TimeCurrent ()+ExpirationTime, Green );    
         return ( 1 );
       }
     else if (sell_or_buy== 1 )                                     //продажа
       {
        StopLoss = FindSL( 2 );
         OrderSend (symb, OP_SELLSTOP, Lots, iLow (symb, 0 , 1 ), 0 , StopLoss, 
         iLow (symb, 0 , 1 )-TakeProfit* Point , "Ichimoku Simple Adviser Trade" , 1001 , TimeCurrent ()+ExpirationTime, Red );
         return ( 1 );
       }
     else { return ( 0 );}
   } 

StopLoss global bir değişkendir .

Test ederken, paranın bir anda, tek bir işlemde tükendiği bir an gelir. Partiler küçüktür, bu nedenle tek sorun, kaybı durdurmanın bir nedenden dolayı ayarlanmamış olmasıdır (0'a eşittir).

Neyin yanlış olduğunu anlayamıyorum.

Koda bir bakın, nerede hata yapmış olabilirim?

 
gogent :

Merhaba!

Kodu yazıyorum, amaç son üç çubuğun en düşük/en yüksek noktasında stoploss seviyesini ayarlamak. İşte olanlar:

Siparişler aşağıdaki kodla açılır:

StopLoss global bir değişkendir.

Test ederken, paranın bir anda, tek bir işlemde tükendiği bir an gelir. Partiler küçüktür, bu nedenle tek sorun, herhangi bir nedenle durdurma kaybının ayarlanmamış olmasıdır (0'a eşittir).

Neyin yanlış olduğunu anlayamıyorum.

Koda bir bakın, nerede hata yapmış olabilirim?

Zararı durdur , satın alımlardan sonra her zaman 0'dır.

Sebep: lvl3 değişkeni tanımlanmadı (mekanik hata)

 

Merhaba.

yayılmasını anlıyorum. Yayılma her zaman bana karşı. Yani zararı durdurmaya eklemeli ve kârı al'dan çıkarmalı mıyım? Yani 50 puanlık net kar elde etmek istersem (bir döviz çifti için spread 3 puandır), o zaman sırayla kâr al = 53 puan belirtmeliyim. Eğer 50 puanlık net bir kayba izin veriyorsam, o zaman sırayla zararı durdur = 47 puan belirtmeliyim. Her şeyi doğru anladım mı?

Şimdiden teşekkürler!

 
01123456789 :

Merhaba.

yayılmasını anlıyorum. Yayılma her zaman bana karşı. Öyleyse, zararı durdurmaya eklemeli ve kârdan çıkarmalı mıyım? Yani 50 puanlık net kar elde etmek istersem (bir döviz çifti için spread 3 puandır), o zaman sırayla kâr al = 53 puan belirtmeliyim. Eğer 50 puanlık net bir kayba izin veriyorsam, o zaman sırayla zararı durdur = 47 puan belirtmeliyim. Her şeyi doğru anladım mı?

Şimdiden teşekkürler!


Merhaba!

Planlarınız ve beklentilerinizden bahsediyorsak, o zaman her şey böyle.

Resmi olarak konuşursak, "sırasıyla ... kâr al = 53 puan" ifadesinin ne anlama geldiği açık değil.

 

Merhaba! Kullanıcı f-it ile anlamaya yardımcı olun.

Anladığım kadarıyla: koşul doğruysa isitpik- (doğru) için döndürülür. Koşul, AO'dan yapılan hesaplamayı içeren 0. arabellek tarafından hesaplanır. Yoksa tamponda sadece son i-bar mı var ve bu kriterler için şartlar sağlandığında isitpik() e (true) geçiliyor? Ve eğer bu yukarıda koşula göre yapılıyorsa, neden (i) değişkenine int tipi atansın .


 bool isitpik( int i )
   {
   if (ExtBuffer0[i]> 0 && ExtBuffer0[i]>ExtBuffer0[i+ 1 ] && ExtBuffer0[i]>ExtBuffer0[i- 1 ]) return ( true );
   if (ExtBuffer0[i]< 0 && ExtBuffer0[i]<ExtBuffer0[i+ 1 ] && ExtBuffer0[i]<ExtBuffer0[i- 1 ]) return ( true );
   }
 
tara :


Merhaba!

Planlarınız ve beklentilerinizden bahsediyorsak, o zaman her şey böyle.

Resmi olarak konuşursak, "sırasıyla ... kâr al = 53 puan" ifadesinin ne anlama geldiği açık değil.

"Siparişte, kar al = 53 puan" diyerek, bekleyen bir emir (örneğin, Buy Stop ) ve iki zararı durdur ve kar al sütununu kastettim. Yani, 50 puanlık bir kar elde etmek istiyorsam, o zaman bekleyen bir siparişte 53 puan kar al belirtmem gerekiyor, 50 değil, çünkü 3 puan spread'i yiyecek. Böyle?
 
01123456789 :
"Siparişte, kar al = 53 puan" diyerek, bekleyen bir emir (örneğin, Buy Stop) ve iki zararı durdur ve kar al sütununu kastettim. Yani, 50 puanlık bir kar elde etmek istiyorsam, o zaman bekleyen bir siparişte 53 puan kar al belirtmem gerekiyor, 50 değil, çünkü 3 puan spread'i yiyecek. Böyle?

Emirlerdeki TP ve SL, puan olarak değil, fiyat olarak belirtilir.
 
01123456789 :
"Siparişte, kar al = 53 puan" diyerek, bekleyen bir emir (örneğin, Buy Stop) ve iki zararı durdur ve kar al sütununu kastettim. Yani, 50 puanlık bir kar elde etmek istiyorsam, o zaman bekleyen bir siparişte 53 puan kar al belirtmem gerekiyor, 50 değil, çünkü 3 puan spread'i yiyecek. Böyle?
Her DC'de, tüm bunlar sözleşmede belirtilmiştir. Alış emirleri Sor satırında, Satış emirleri ise Bid satırında kapalıdır. Bu doğru, anlıyorsunuz, hangi yayılmaya bağlı olarak kârınıza ekleyeceksiniz. 50p almak istiyorsanız. sonra +3 (brüt çiftin yayılmasına bağlı olarak). Tüm çizelgelerin Bid tarafından çizildiğini unutmayın.