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

 
DhP :

double tmp ve NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0) arasındaki fark nedir?

Bunları çarpmak her zaman sıfırdan büyük olacaktır.

Bence de))

(-) * (-) = +

(+) * (+) = +


uh... kesinlikle haklısın... NormalizeDouble (iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0) - burada 0 yerine "i" yazmanız gerekiyor - Bu durumu değiştirdim ama o hiç anlaşma yapmaya başlamadı ....

şimdi kod şöyle görünüyor:

 bool signal_MACD() 
  { 
     bool signal_MACD = false;
     double tmp = iMACD ( Symbol (),TF,fast_ema,slow_ema,signal_period, PRICE_CLOSE ,MODE_MAIN, 0 ); 
     for ( int i= 1 ;i<= 5 ;i++) 
    { 
       if ( NormalizeDouble ( iMACD ( Symbol (),TF,fast_ema,slow_ema,signal_period, PRICE_CLOSE ,MODE_MAIN,i)*tmp, 4 )< 0.0 ) 
       { 
          signal_MACD = true; 
           break ; 
       }        
    } 
     return (signal_MACD);
  } 

ama her şey çalışmıyor

 
CLAIN :


uh...kesinlikle haklısın... NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0) - burada 0 yerine "i" yazmanız gerekiyor - Bu durumu değiştirdim ama o hiç anlaşma yapmaya başlamadı ....

şimdi kod şöyle görünüyor:

ama her şey çalışmıyor

Bu doğruyu yanlışa değiştirir mi?

Fonksiyon çıkış değerini değiştiriyor mu?

 
CLAIN :


uh... kesinlikle haklısın... NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0) - burada 0 yerine "i" yazmanız gerekiyor - Bu durumu değiştirdim ama o hiç anlaşma yapmaya başlamadı ....

şimdi kod şöyle görünüyor:

ama her şey çalışmıyor


"Yazdır"ı kullanın, günlükleri okuyun ve "ne olduğunu" beklenenle karşılaştırın.
 

Değer fonksiyonu değişmiyor.... en azından ben öyle değerlendiriyorum çünkü işlemler açılmaya başlamadı.

baskı nasıl kullanılır?

 bool signal_MACD() 
  { 
     bool signal_MACD = false;
     double tmp = iMACD ( Symbol (),TF,fast_ema,slow_ema,signal_period, PRICE_CLOSE ,MODE_MAIN, 0 ); 
     for ( int i= 1 ;i<= 5 ;i++) 
    { 
       if ( NormalizeDouble ( iMACD ( Symbol (),TF,fast_ema,slow_ema,signal_period, PRICE_CLOSE ,MODE_MAIN,i)*tmp, 4 )< 0.0 ) 
       { 
          signal_MACD = true; 
           Print ( NormalizeDouble ( iMACD ( Symbol (),TF,fast_ema,slow_ema,signal_period, PRICE_CLOSE ,MODE_MAIN,i)*tmp);
           break ; 
       }        
    } 
     return (signal_MACD);
  } 

Sadece bu sürüme sahibim, ama bana bir şey de yanlış gibi görünüyor ....

 
CLAIN :

Değer fonksiyonu değişmiyor.... en azından ben öyle değerlendiriyorum çünkü işlemler açılmaya başlamadı.

baskı nasıl kullanılır?

Sadece bu sürüme sahibim, ama bana bir şey de yanlış gibi görünüyor ....


 Print ( "iMACD(" , Symbol (), "," ,TF, "," ,fast_ema, "," ,slow_ema, "," ,signal_period, "," , PRICE_CLOSE , "," ,MODE_MAIN, "," ,i, "," , ")*" ,tmp, "=" , iMACD ( Symbol (),TF,fast_ema,slow_ema,signal_period, PRICE_CLOSE ,MODE_MAIN,i)*tmp);
 
MaxZ :

Tüm değişkenler bildirilirse, MQL4 sözdiziminde herhangi bir hata görmüyorum...

Ve o zaman sorun ne?

Sayesinde.

Uzman Danışmanım için bir geri alma hesaplaması yapıyorum. Hesaplamaların yanlışlığını gördüm ve bu nedenle hata içerebilecek blokları ayırmaya başladım.

 


Merhaba.

anlamama yardım et
Bir danışman yazıyorum, emirlerle uğraşamam.
emirlerim var:
OrderSend(Symbol(),OP_SELLLIMIT,lot,cena_sell,3,sl _sell,tp_sell,"",1,0,Red);
Uyarı(GetLastError());

OrderSend(Symbol(),OP_SELLLIMIT,lot_1,cena_sell_d_ 1,3,sl_sell,tp_sell_d_1,"",2,0,Kırmızı);
Uyarı(GetLastError());

OrderSend(Symbol(),OP_SELLLIMIT,lot_2,cena_sell_d_ 2,3,sl_sell,tp_sell_d_2,"",3,0,Kırmızı);
Uyarı(GetLastError());

OrderSend(Symbol(),OP_SELLLIMIT,lot_3,cena_sell_d_ 3,3,sl_sell,tp_sell_d_3,"",4,0,0,Kırmızı);
Uyarı(GetLastError());
İhtiyacım var:
İlk kar al tetiklenirse, geri kalan emirleri silin.
İlki işe yaramadıysa, ikincisi kâr ettiyse, üçüncü ve dördüncü lot_3 ve lot_4'ü değiştirin.

 
sergey_r :


Merhaba.

anlamama yardım et
Bir danışman yazıyorum, emirlerle uğraşamam.
emirlerim var:
OrderSend(Symbol(),OP_SELLLIMIT,lot,cena_sell,3,sl_sell,tp_sell,"",1,0,Red);
Uyarı(GetLastError());

OrderSend(Symbol(),OP_SELLLIMIT,lot_1,cena_sell_d_ 1,3,sl_sell,tp_sell_d_1,"",2,0,Kırmızı);
Uyarı(GetLastError());

OrderSend(Symbol(),OP_SELLLIMIT,lot_2,cena_sell_d_ 2,3,sl_sell,tp_sell_d_2,"",3,0,Kırmızı);
Uyarı(GetLastError());

OrderSend(Symbol(),OP_SELLLIMIT,lot_3,cena_sell_d_ 3,3,sl_sell,tp_sell_d_3,"",4,0,0,Kırmızı);
Uyarı(GetLastError());
İhtiyacım var:
İlk kar al tetiklenirse, geri kalan emirleri silin.
İlki işe yaramadıysa, ikincisi kâr ettiyse, üçüncü ve dördüncü lot_3 ve lot_4'ü değiştirin.


Önce ne geldi - bu forum sayfasındaki işlevi kullanın - al ile siparişi kapatmak için bayrağı döndürür. Bundan önce, (farklı) sipariş miktarlarınıza bağlı olarak, her biri için kendi sihirli_sayınızı ayarlayın, yani. lot - sihir 1, lot 1 - sihir 2, vb. Daha sonra bu fonksiyonu kullanarak magic 1 ile emrin kapanışını kontrol edin, evet ise "gerisini sil". Kodun devamında, ikinci sırayı sihirli sayı 2 ile kontrol edersiniz - evet ise, üçüncü ve dördüncü sıraları değiştirin (hacimlerini değiştirin), elbette min. toleranslar ve diğer her şey ... Bunun gibi bir şey ...
 

Fonksiyonları nasıl kullanacağımı anlamıyorum. Nasıl yapılacağını tarif edebilir misin?

İşte bu izinleri koyuyorum. Ayrıca o sayfadan işlevi araya sokuyorum. Veya nasıl ? Bunun nasıl yapılacağına dair bir örnek açıklayın. Lütfen.

 
sergey_r :

Fonksiyonları nasıl kullanacağımı anlamıyorum. Nasıl yapılacağını tarif edebilir misin?

İşte bu izinleri koyuyorum. Ayrıca o sayfadan işlevi araya sokuyorum. Veya nasıl ? Bunun nasıl yapılacağına dair bir örnek açıklayın. Lütfen.



İşlevlerle çalışma sırası, her şeyin etrafında döndüğü temel şeylerdir... Bir parça ayırın, baykuş örneklerine bakın (yetkili bir kodda), bunlar kod tabanında bulunur - bu baykuş örneğini alın, temelli zaten üzerinde ve kendi heykelinizi yapın .. Bu temel, onsuz - hiçbir şey. Kod tabanında bu örneğe dayanarak kendim bir baykuş yayınladım.

Sakin ol, acele etme - sakin ol.

Neden: