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

 
MarkTrade :

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


 for (i= 0 ;i> 5 <==ошибка ;i++)
 
MarkTrade :

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

hadi çizgiyi kıralım

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

Sıfırdan beşe gideyim. Her yinelemeden sonra sayaç bir artacaktır. i beşten küçükken yinelemeler hesaplanacaktır. Yani, böyle bir döngü çalışacak ve içinde beş yanlış hesaplama gerçekleşecek: 0, 1, 2, 3, 4 - bunlar döngü sayacının alacağım değerlerdir. Ben beşe eşit olunca döngü bozulacak

Ne var bakalım:

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

Sayacınız i sıfır olarak başlatıldı, ancak döngü, i beşten büyük olana kadar yinelenmelidir. Ve başlangıçta beşten fazla değil. Bu nedenle, döngü başlamaz.

 
artmedia70 :

hadi çizgiyi kıralım

Sıfırdan beşe gideyim. Her yinelemeden sonra sayaç bir artacaktır. i beşten küçükken yinelemeler hesaplanacaktır. Yani, böyle bir döngü çalışacak ve içinde beş yanlış hesaplama gerçekleşecek: 0, 1, 2, 3, 4 - bunlar döngü sayacının alacağım değerlerdir. Ben beşe eşit olunca döngü bozulacak

Ne var bakalım:

Sayacınız i sıfır olarak başlatıldı, ancak döngü, i beşten büyük olana kadar yinelenmelidir. Ve başlangıçta beşten fazla değil. Bu nedenle, döngü başlamaz.



Aynen öyle! Teşekkür ederim! gözlerim bulanık görünüyor
 
Kot :

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

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.


Yapmak istediğiniz şeye filtreleme denir. Bu yüzden "filtre" kelimesini arayın, filtreleme konusunda uzman birkaç danışmana bakın ve gördüğünüz gibi, ihtiyacınız olanı kendiniz yapabilirsiniz.
 
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 BU 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.

( 0.3 * 16 = 4.8 ) < ( 0.3 * 16.66666 = 5)
Böyle bir farkı mı kastettiniz bilmiyorum, ancak 16.6666'ya yuvarlama nedeniyle, doğal olarak kâr, almayı planladığınız 5 dolardan daha az olacaktır.
 
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ş hesaplayın. İş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 BU 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.

neden bu kadar karmaşık anlamıyorum
daha kolay olmaz mı??

   double sumprofit= 0 ;
   for ( int i= 0 ; i< OrdersTotal (); i++) 
      {
       if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) 
          {
           if ((OrderSymbol()== Symbol ()) 
              {
               if (OrderType()==OP_BUY || OrderType()==OP_SELL) 
                  {
                    sumprofit+=OrderProfit()+OrderCommission()+OrderSwap();
                  }
             }
         }
      }
   if (sumprofit > 5 ) AllPosClose();// 5 ----> суммарный профит позиций
 

ya da öylesine

 double sumprofit;
   for ( int i= 0 ; i< OrdersTotal (); i++) 
      {
       if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) 
          {
           if ((OrderSymbol()== Symbol ()) 
              {
               if (OrderType()==OP_BUY || OrderType()==OP_SELL) 
                  {
                    sumprofit+=OrderProfit()+OrderCommission()+OrderSwap();
                  }
             }
         }
      }
   if (sumprofit > 5 ) AllPosClose(); //5 ----> суммарный профит позиций
   if (sumprofit < - 5 ) Dolivka(); //  определенным лотом Sell или Buy
 
bana bir programcı değil, indirilen göstergelerin terminalde nerede olduğunu söyle (nasıl görebilir ve çalıştırabilirim). ??? İndirdim, oraya kurdum ama onları terminalin kendisinde bulamıyorum ??
 
fox6900 :
bana bir programcı değil, indirilen göstergelerin terminalde nerede olduğunu söyle (nasıl görebilir ve çalıştırabilirim). ??? İndirdim, oraya kurdum ama onları terminalin kendisinde bulamıyorum ??

Ve onları oraya nasıl kurdunuz? Bize nasıl olduğunu söyle ... belki sana söyleriz ..
 
Dll ile AccountNumber () okumak mümkün ve nasıl? En azından nereye kazılacağına dair ipucu. Yani fonksiyonun değerini dll'ye, yani dinamik kütüphanenin kendisinden aktarmadan.