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

 
fmillion :
'' - beklenmedik program sonu G:\work\MetaTrader Grubu\uzmanlar\Balista.mq4 (576, 1)

Fareyle dürtüyorum - yorumların olduğu bir yere gider ((... nasıl olunur?


Bir hatayı bulmanın en kolay yolu MetaEditor'daki "İptal" sihirli düğmesidir. Ve bir sonraki iptalden sonra kodu tekrar derlemeyi deneyin.
 
Güzel gün! Söylemek. sanırım kullanacağım
 double iMA (     string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift)

Yardım, zaman çerçevesi diyor - Dönem. Grafik dönemlerinden biri olabilir. 0, mevcut grafiğin periyodu anlamına gelir.

Yani belki, yoksa sadece grafiğin herhangi bir dönemi için mi? Ama oraya 15 değil, 20 girersem? Ve sayılarla yazmak daha mı iyi, yoksa PERIOD_M15 daha mı iyi?

Tamam, oraya 0 girdim ve dalga geçmiyorum.

 

Herkese iyi günler. Birisi bu göstergeye ses ekleyebilirse çok minnettar olurum.

Onlar. mashak'ı geçerken .... ve elbette, ses bu kavşağın üzerine düştüğü mumun kapanışında yalnızca bir kez olmalıdır.

Şimdiden teşekkür ederim.

Dosyalar:
 
Dimka-novitsek :
Güzel gün! Söylemek. sanırım kullanacağım

Yardım, zaman çerçevesi diyor - Dönem. Grafik dönemlerinden biri olabilir. 0, mevcut grafiğin periyodu anlamına gelir.

Yani belki, yoksa sadece grafiğin herhangi bir dönemi için mi? Ama oraya 15 değil, 20 girersem? Ve sayılarla yazmak daha mı iyi, yoksa PERIOD_M15 daha mı iyi?

Tamam, oraya 0 girdim ve dalga geçmiyorum.

Süre dakika olarak belirtilir. Örneğin, 60 bir saattir, 240 ise 4 saattir... vb., 5, M5'tir.
 

KimIV'te son kapatılan siparişten düşen/karın boyutunu döndürme işlevini bulamadım.

Fikir basit: Son kapatılan sıradaki mevduat para birimindeki Kar veya Düşüş miktarını izlemeniz gerekiyor.

 
fmillion :

KimIV'te son kapatılan siparişten düşen/karın boyutunu döndürme işlevini bulamadım.

Fikir basit: Son kapatılan sıradaki mevduat para birimindeki Kar veya Düşüş miktarını izlemeniz gerekiyor.

Bu yapı benim için çalışıyor:

 //---Поиск крайнего отработавшего ордера для открытия очередной позиции ---   
   for (orderIndex = ( OrdersHistoryTotal () - 1 ); orderIndex >= 0 ; orderIndex--)
   {   
       if (! OrderSelect (orderIndex, SELECT_BY_POS, MODE_HISTORY)) { Print ( "Ошибка при доступе к исторической базе (" , GetLastError (), ")" ); continue ;}   
       if (( OrderSymbol () != Symbol ()) || ( OrderMagicNumber () != MagicNumber))   continue ;              
   //------------------------- Принимаем в расчет только ордер, закрытый cамым крайним -----------------------
       if (time< OrderCloseTime ())     //(сравниваем его с хранящимся в пероеменной time) 
        {
         time= OrderCloseTime ();     //если время закрытия ордера больше - ложим его в переменную     
         int lastType = OrderType ();
         double lastLots = OrderLots ();
         double lastProfit = OrderProfit () + OrderSwap ();
         
         // Анализ только что закрывшегося ордера      
         if (lastProfit >= 0.0 )
         {
...
 
Roman. :

Bu yapı benim için çalışıyor:

Döngünün başındaki zaman değişkeninin değeri nedir?
 
fmillion :

KimIV'te son kapatılan siparişten düşen/karın boyutunu döndürme işlevini bulamadım.

Fikir basit: Son kapatılan sıradaki mevduat para birimindeki Kar veya Düşüş miktarını izlemeniz gerekiyor.

Algoritma şu şekildedir: son kapatılan siparişin sahip olduğu HİÇBİR ÖNEMLİ DEĞİL döndüren HERHANGİ bir işlev için aynı yere bakın. Bu son kapalı siparişin Biletini alırsınız. Emir döngüsünden çıktıktan sonra, alınan Bilete göre bir emir seçin ve kârını hesaplayın, eğer önemliyse, hesaplarken takas ve komisyonu dikkate almayı unutmayın:

    Profit = OrderProfit () + OrderSwap () + OrderCommission ();
 

Ders kitabından bilgi:

int ObjectGetShiftByValue ( dize adı, çift değer)
İşlev, belirtilen fiyat için çubuk numarasını (geçerli çubuğa göre ofset) hesaplar ve döndürür. Çubuk sayısı, birinci ve ikinci koordinatlar için doğrusal bir denklem kullanılarak hesaplanır. Trend çizgileri ve benzeri nesneler için kullanılır. Bir hata hakkında bilgi almak için GetLastError() işlevini çağırın.
Ayrıca bkz . ObjectGetValueByShift() .
Seçenekler:
isim - Nesnenin adı.
değer - Fiyat değeri.
Misal:
 int shift=ObjectGetShiftByValue("MyTrendLine#123", 1.34);

Soru:

Buradaki hata nerede, -1 numaralı mesaj barı veriyor (tarihteki ilk bar benim). Kılavuzda daha fazla bilgi bulamadım. Çubuk numarası fiyata göre nasıl bulunur?

 //=============================================================
int bar;
double cena;
//=============================================================
int start(){
cena= 1.3020 ;
bar= ObjectGetShiftByValue ( "bar" ,cena);
if (bar== 0 ){ Alert ( "Ошибка = " , GetLastError ());}
else if (bar!= 0 ){ Alert ( "Номер бара = " ,bar);}}
//============================================================
 
TarasBY :

Algoritma şu şekildedir: son kapatılan siparişin sahip olduğu HİÇBİR ÖNEMLİ DEĞİL döndüren HERHANGİ bir işlev için aynı yere bakın. Bu son kapalı siparişin Biletini alırsınız. Emir döngüsünden çıktıktan sonra, alınan Bilete göre bir emir seçin ve kârını hesaplayın, eğer önemliyse, hesaplarken takas ve komisyonu dikkate almayı unutmayın:

Anlamlı cevap için teşekkürler. Zaten kendim tahmin ettim))