Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 113

 
hoz :


Aslında evet. Belki çok geç, ama bir şey yapıştırmıyorum. İşte esasen pp'deki kar. bu, açılıştan kapanışa kadar olan mesafedir. O halde ifade neden doğru değil?

Çünkü bu ifadenin sonucunu da Noktaya bölmeniz gerekiyor.
 

Zaten tamamen bir şey sürüyorum ... :) Görev:

1. 0.1 lotluk bir açık pozisyon var

2. TakeProfit'i 50 pip.

3. Potansiyel Kâr = Çok*Al*PazarBilgisi(Symbol(), MODE_TICKVALUE); formülünü kullanarak potansiyel kârını hesaplıyorum.

4. Hesaplamaya dayanarak, 5,00 dolar (0.1 * 50 * 1.0) potansiyel bir kâr elde ediyorum Harika.

Pozisyon negatif olur ve bir noktada başka bir ortalama Buy açılır, ancak çok fazla 0,2 ile

1. Bu iki pozisyon için başabaş hesaplarım. İşlev uzun süredir gerektiği gibi kullanılmaktadır ve henüz herhangi bir şikayet görmemiştir:

 //+----------------------------------------------------------------------------+
/*
Расчёт уровня БУ для множества по одному инструменту:
сумма лотов = суммарная позиция (СП)
стоимость тика СП = СТ
профит СП = ПСП
Формула расчёта довольно проста:
КП = ПСП / (СТ * СП)
В которой узнаём количество пипс (КП) до уровня БУ относительно текущей цены (ТЦ) символа.
И подставив КП в формулу БУ = ТЦ - КП * Point получаем уровень цены БУ.
В зависимости от направления СП выбирается прибавлять либо отнимать от ТЦ.
*/
double PriceWL( int op, int m1, int m2, double &ll) {
   double Res, pp, pt, tic, NumPP, Prof= 0 , SumLot= 0.00000001 ;
   int i;
   
   pt =MarketInfo(sy,MODE_POINT);
   tic=MarketInfo(sy,MODE_TICKVALUE);                           // Стоимость тика СТ
   for (i= 0 ; i< OrdersTotal (); i++) {
       if ( OrderSelect (i,SELECT_BY_POS)) {
         if (OrderSymbol()!=sy)         continue ;
         if (OrderType()!=op)           continue ;
         if (OrderMagicNumber()==m1 || OrderMagicNumber()==m2) {
            Prof+=(OrderProfit()+OrderSwap()+OrderCommission());   // Суммарный профит позиций ПСП
            SumLot+=OrderLots();                                   // Суммарный лот позиций    СП
            }
         }
      }
   SumLot= MathAbs (NormalizeLot(SumLot));
   NumPP= MathAbs (Prof/(tic*SumLot));                           // Количество пунктов до уровня бу КП
   if (op== 0 ) Res=Ask+NumPP*pt;
   if (op== 1 ) Res=Bid-NumPP*pt;
   ll=SumLot;
   return (Res);
}
//+----------------------------------------------------------------------------+

2. Harika. Başabaş seviyesini hesapladık, ama... eğer bu iki pozisyonun alımlarını üzerine koyarsanız, sıfıra yaklaşacaklar. Tamam, düşünüyorum. Şimdi, daha önce hesaplanan bire - 5 $'a eşit bir toplam kâr elde etmek için bu İB seviyesine gerektiği kadar puan eklemem gerekiyor.

3. Ve burada beynimde bir fiş var. Ne yapıyorum: 5 dolar alıyorum, bu iki pozisyonun toplam lotuna bölüyorum (0.1+0.2=0.3), TICK_VALUE ile çarpıyorum

5/(0.3*1.0) = 16.66666 var. Sonra onu Nokta (0,00016) ile çarpıyorum ve başabaş fiyatına ekliyorum.

4. Harika. Alımlar oraya aktarılıyor, ama bana öyle geliyor ki iki Baeks'in bu seviyede kapanmasının toplam karı 5$'a eşit değil - bana daha az görünüyor. Bu, test programından görülebilir. Bir pozisyon kapatıldığında, bakiyedeki artışın, toplam alımın hesaplanan seviyesine göre birçok pozisyonun kapatıldığından çok daha fazla olduğunu açıkça göstermektedir (grafikteki bu yerler, üzerlerinde bir özkaynak çizgisinin görünmesiyle görülebilir). ). Takvim:


nerede hatalıyım?

Toplam karı yazdırabileceğinizi anlıyorum, ancak ... Değişkenlerin ne kadar olduğunu değil, hesaplamalarda nerede yanlış gidebileceğimi anlamak istiyorum. Onları zaten yazdırdım.

 
semiromid :

Fiyatım 5 haneden oluşmaktadır. Örnek: 1.3221.


4 hane demektir. Ondalık noktadan sonra 4 veya 5 anlamına gelir.Beş basamaktan bu, örneğin 132210 olur.
 

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\

Lord programcılar! Lütfen bana bir danışmanı bir göstergeyle nasıl birleştireceğimi söyle?

Örneğin, kendi algoritmasıyla işlem yapan basit bir mo_bidir.mq4 botu aldım ve algoritmasına göre işlem açmaya devam etmesi gerekiyor, ancak 3x MA sinyalinden sonra -

örneğin üzerinde sinyal - Üç Hareketli Ortalama :

FastEMA>MediumEMA>YavaşEMA ( trend yukarı ) - bot satın alır

HızlıEMA<OrtaEMA<YavaşEMA ( trend aşağı ) – bot satıyor

Inp_Signal_ThreeEMA_FastPeriod = 8;

Inp_Signal_ThreeEMA_MediumPeriod = 38;

Inp _ Signal _ ThreeEMA _ SlowPeriod = 48;

Ayrıca, beş dakikalık grafikte işlem yapmaya devam etmek için danışmana ve günlük veya 4 saatlik zaman diliminden sinyaller vermek için göstergeye ihtiyacım var ve böylece zaman dilimlerini bot ayarlarında değiştirmek mümkün olacak.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\

Tekrar ettiğim için özür dilerim ama en azından hangi forum başlığına başvuracağımı söyleyin yoksa yeni bir konu oluşturmam mı gerekiyor?

Teşekkür ederim.

 
Buradasınız: İş
 

Merhaba. Lütfen OrderSend'in neden pozisyon açmadığını açıklar mısınız?

 if ( NormalizeDouble (Open[ 0 ],Norm)>ma && NormalizeDouble (Bid,Norm)<=ma)

      {

       if (CheckFiltr()>=Filtr) 

         {

         Print (CheckFiltr()+ " Buy" ); <= Это в журнале есть, значит должна открыться сделка.

         for (i= 0 ;i> 5 ;i++)

            {

            res= OrderSend ( Symbol (),OP_BUY,Lot,Ask, 3 ,Bid-Sl* Point , 0 , "OpenBuy" ,Magik, 0 ,Green);

             Print ( "Проверка Бай " +i); <= Этого в журнале нет.

             if (res> 0 ) break ;

             Print ( GetLastError ()); <= Этого в журнале нет.

             Sleep ( 5000 );

            }

         }

      }   
 
for (i=0;i<5;i++)
 
artmedia70 :

Zaten tamamen bir şey sürüyorum ... :) Görev:

1. 0.1 lotluk bir açık pozisyon var

2. TakeProfit'i 50 pip.

3. Potansiyel Kâr = Çok*Al*PazarBilgisi(Symbol(), MODE_TICKVALUE); formülünü kullanarak potansiyel kârını hesaplıyorum.

4. Hesaplamaya dayanarak, 5,00 dolar (0.1 * 50 * 1.0) potansiyel bir kâr elde ediyorum Harika.

Pozisyon negatif olur ve bir noktada başka bir ortalama Buy açılır, ancak çok fazla 0,2 ile

1. Bu iki pozisyon için başabaş hesaplarım. İşlev uzun süredir gerektiği gibi kullanılmaktadır ve henüz herhangi bir şikayet görmemiştir:

2. Harika. Başabaş seviyesini hesapladık, ama... eğer bu iki pozisyonun alımlarını üzerine koyarsanız, sıfıra yaklaşacaklar. Tamam, düşünüyorum. Şimdi, daha önce hesaplanan bire - 5 $'a eşit bir toplam kâr elde etmek için bu İB seviyesine gerektiği kadar puan eklemem gerekiyor.

3. Ve burada beynimde bir fiş var. Ne yapıyorum: 5 dolar alıyorum, bu iki pozisyonun toplam lotuna bölüyorum (0.1+0.2=0.3), TICK_VALUE ile çarpıyorum

5/(0.3*1.0) = 16.66666 var. Sonra onu Nokta (0,00016) ile çarpıyorum ve başabaş fiyatına ekliyorum .

4. Harika. Alımlar oraya aktarılıyor, ama bana öyle geliyor ki iki Baeks'in bu seviyede kapanmasının toplam karı 5$'a eşit değil - bana daha az görünüyor. Bu, test programından görülebilir. Bir pozisyon kapatıldığında, bakiyedeki artışın, toplam alımın hesaplanan seviyesine göre birçok pozisyonun kapatıldığından çok daha fazla olduğunu açıkça göstermektedir (grafikteki bu yerler, üzerlerinde bir özkaynak çizgisinin görünmesiyle görülebilir). ). Takvim:


nerede hatalıyım?

Toplam karı yazdırabileceğinizi anlıyorum, ancak ... Değişkenlerin ne kadar olduğunu değil, hesaplamalarda nerede yanlış gidebileceğimi anlamak istiyorum. Onları zaten yazdırdım.

Pozisyon Sat olsa bile ekle ??
Dosyalar:
mr01.mq4  6 kb
 
FAQ :

 for (i= 0 ;i< 5 ;i++)

Üzgünüm, lütfen burada neyin yanlış olduğunu açıklayın. Anlayamıyorum.

 
pako :
Pozisyon Sat olsa bile ekle ??

Bai'nin pozisyonlarından bahsediyorum. Bu kadar titiz olmana gerek yok. Doğal olarak, Satış pozisyonları için çıkarırım.