[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 153

 
buroff :

"ForexSession" göstergesini buldum, ancak zaman parametrelerinin değiştirilmesi gerekiyordu. LocalGMT=3 - Moskova, BrokerGMT=0 - Londra ve ayrıca oturumların başlangıç ve bitiş zamanlarını değiştirdi.

Ama Amerika'da hiçbir şey olmuyor - New York'a 30 dakika eklemek için "void ShowSessionBroker ()" bloğunu ekledim - derlemeden sonra bir hata oluşuyor ve bunu düzeltmek için yeterli aklım yok.

Söyleyin bana kibar insanlar, neyi yanlış yaptım ve nasıl düzeltebilirim?

iyi derledim
 
Sergey_Rogozin :


ATP, neden sonunda 1 ve 0 var ??? ve RSI değerini bir öncekiyle karşılaştırırsanız, böyle yazmanız gerekir mi?
 double RSI = iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 2 );
 
Vovo4ka :

ATP, neden sonunda 1 ve 0 var ??? ve RSI değerini bir öncekiyle karşılaştırırsanız, böyle yazmanız gerekir mi?

Herhangi bir çubuğa numara koyma hakkınız vardır. Yalnızca hangi çubukta çift RSI değerini almak istediğiniz önemlidir.

Karşılaştırma için elbette en az iki değere sahip olmanız gerekir, yani. farklı çubuklardaki değerler.

 
Sergey_Rogozin :
Herhangi bir çubuğa numara koyma hakkınız vardır. Yalnızca hangi çubukta çift RSI değerini almak istediğiniz önemlidir.

Diyelim ki, mevcut RSI değerini bir öncekiyle kapanış fiyatından karşılaştırmak istersem, o zaman şöyle çıkıyor...
 double RSI1 = iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 1 );
double RSI2 = iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 2 );
ve sonra karşılaştırırız ... değil mi?
 
Vovo4ka :

Diyelim ki mevcut olanın RSI değerini bir öncekiyle kapanış fiyatından karşılaştırmak istersem, o zaman böyle çıkıyor ... ve sonra daha da karşılaştırıyoruz ... değil mi?
Oldukça doğru. Sadece bir düzeltme ile: mevcut çubuk sıfırdır.
 
Sergey_Rogozin :
Herhangi bir çubuğa numara koyma hakkınız vardır. Yalnızca hangi çubukta çift RSI değerini almak istediğiniz önemlidir.


Evet ve bana bunu nasıl yapacağımı söyleyemezsin, böylece sinyalde bir anlaşma açar ... aksi takdirde her şey için anlaşmalar açmasını sağlarım ... ((((

Ya sinyalde sadece bir işlem açıldıysa .... tekrarlandığında, bir diğeri ve bir öncekinin kapanıp kapanmadığı önemli değil ....

Eh, böyle bir şey..))

 

Bir sipariş açmadan önce zaten açık olan siparişlerin varlığını kontrol etmek gerekir.

Küçük/karmaşık olmayan bir işleve ihtiyacınız olacak,

cevabı, bir giriş sinyalinin varlığında piyasaya girişe izin verecek veya yasaklayacaktır.

 
Sergey_Rogozin :

Bir sipariş açmadan önce zaten açık olan siparişlerin varlığını kontrol etmek gerekir.

Küçük/karmaşık olmayan bir işleve ihtiyacınız olacak,

cevabı, bir giriş sinyali olsa bile piyasaya girişe izin verecek veya yasaklayacaktır.


bana söylermisin.....?? ne eklerdim .... yoksa danışmanı gerçekten değerlendiremem ... ((
 
Vovo4ka :

bana söylermisin.....?? ne eklerdim .... yoksa danışmanı gerçekten değerlendiremem ... ((
İşlev böyle bir şeye benziyor
   bool Exist(){
     for (int cnt= OrdersTotal ()- 1 ; cnt>= 0 ; cnt--){
         if ( OrderSelect (cnt,SELECT_BY_POS,MODE_TRADES)){
           if (OrderMagicNumber()==Magic){
             if (OrderSymbol()== Symbol ()){
               if (OrderType()< 2 ) return (true);
      } } } }        
   return (false);} 

Yani, açık pozisyonlar varsa, fonksiyon onları algılar ve true değerini döndürür.

OrderSend(.......)'den önceki göreviniz şöyle bir şey koymaktır:

 if (!Exist() && Signal) OrderSend (Symbol()........);
где Signal - Ваш сигнал на вход в рынок.
 

Lütfen siparişin geçerliliğini nasıl kontrol edeceğimi söyle? Örneğin , bekleyen bir emir verilir ve durdurma emrinin çalışıp çalışmadığını periyodik olarak kontrol etmek gerekir. yani gibi bir şey


bool check=OrderChek(bilet);

Comment("Biletli sipariş", bilet, "mevcut değil (işlendi)");


Nasıl yapacağımı bulamıyorum.