Türkiye'den nasıl veri alınır? - sayfa 6

 
Retabs :


Düzelteceğim. Kodu zaten SRC düğmesini kullanarak koydum.

Yazdığınız gibi kurallara göre eklenmişse kodumu neden siliyorsunuz?


Çünkü kurallara göre eklenen kodunuzu sunmanız gerekiyor ve ben sizin değilim! Eve gidince sildim!
 
borilunad :

Çünkü kurallara göre eklenen kodunuzu sunmanız gerekiyor ve ben sizin değilim! Eve gidince sildim!


Lütfen bana söyle. Sadece gösterge çizgileri tekrar kesiştiğinde, yani val1 val2'ye eşit hale gelmedikten sonra yeni bir anlaşmanın açılmasına nasıl izin verilir? (yukarıdaki kod). Döngü?

 
Retabs :


Lütfen bana söyle. Bir işlemin açılması, diğeri kapanana kadar nasıl sınırlandırılır? (yukarıdaki kod).


Açmadan önce bir koşul belirleyin, pozisyon yoksa açabilirsiniz!

Pek çok farklı işlev var, ancak bunları incelerken, tüm durumlar için bir görev öneriyorum!

 if (OrderTotal() == 0 )
{
   // потом остальные условия, чтобы зря не производить расчёты,
   // если пока ещё есть открытая позиция. 
   // Если понадобится открывать больше позиций, тогда проставите
   // допустимый максимум, например, 3 позиции:
if (OrderTotal() < 3 )
{
   // Всё это не ленитесь находить в Документации! Замечено, что 
   // если находите сами и сами делаете, тогда ваши знания и навыки
   // будут крепкими!
  
 

borilunad :

Çünkü kurallara göre eklenen kodunuzu sunmanız gerekiyor ve ben sizin değilim! Eve gidince sildim!

Teşekkür ederim. Koşullarımı gözden geçirdim ve istediğimi tam olarak doğru yazmadığımı fark ettim. Afedersiniz.

Lütfen bana söyle. Sadece gösterge çizgileri tekrar kesiştiğinde , yani val1 val2'ye eşit hale gelmedikten sonra yeni bir anlaşmanın açılmasına nasıl izin verilir? (yukarıdaki kod). Böylece, o anda açık olan geçmiş işlemlerin sayısına bakılmaksızın ve elbette onlara dokunmadan 2 kavşak arasında yalnızca bir ticarete izin verilir.

Kavşak sırasında değerini değiştiren bir işaretçi olarak yeni bir değişken eklemeye çalıştım ama hiçbir şey olmadı.

Bence tek çıkış, işlemin gerçekleştiği anı yakalamak ve işaretçiyi orijinal değerine geri döndürmek.

 
Retabs :


Lütfen bana söyle. Sadece gösterge çizgileri tekrar kesiştiğinde, yani val1 val2'ye eşit hale gelmedikten sonra yeni bir anlaşmanın açılmasına nasıl izin verilir? (yukarıdaki kod). Döngü?


Ben size yazarken siz de benim tarafımdan yazılmış görmek istediğiniz şartları eklemişsiniz! Burası, Dokümantasyon'u göz önünde bulundurarak ve zaman çizelgesi çizelgenize, mum çubuklarına bakarak ihtiyacınız olanı kendiniz bulmanız ve yazmanız ve her şeyi erişilebilir bir şekilde açıklayan Sergei Kovalev'in Eğitimi çalışmasına dalmanız gereken yerdir!

Bu yüzden zaman kaybetmeyin, öğretileri alın ve sonuç olacaktır! Ve ipuçlarında, kendinize bir kötülük yapacaksınız, çünkü. profesyonelce yazılmış bir danışman bile her zaman bir dadıya ihtiyaç duyar, onsuz her an kaprisli olacak ve piyasa alışkanlıklarındaki sık değişiklikler nedeniyle kazanmayı bırakacaktır! Bu nedenle, her zaman yeni çözümler aramalı, deney yapmalı, stratejiyi biraz veya önemli ölçüde değiştirmelisiniz ve ne yaptığınızı bilmek başka birininkini anlamaktan çok daha kolaydır! Sana başarılar diliyorum!

 
borilunad :


Ben size yazarken siz de benim tarafımdan yazılmış görmek istediğiniz şartları eklemişsiniz! Burası, Dokümantasyon'u göz önünde bulundurarak ve zaman çizelgesi çizelgenize, mum çubuklarına bakarak ihtiyacınız olanı kendiniz bulmanız ve yazmanız ve her şeyi erişilebilir bir şekilde açıklayan Sergei Kovalev'in Eğitimi çalışmasına dalmanız gereken yerdir!

Bu yüzden zaman kaybetmeyin, öğretileri alın ve sonuç olacak! Ve ipuçlarında, kendinize bir kötülük yapacaksınız, çünkü. profesyonelce yazılmış bir danışman bile her zaman bir dadıya ihtiyaç duyar, onsuz her an kaprisli olacak ve piyasa alışkanlıklarındaki sık değişiklikler nedeniyle kazanmayı bırakacaktır! Bu nedenle, her zaman yeni çözümler aramalı, deney yapmalı, stratejiyi biraz veya önemli ölçüde değiştirmelisiniz ve ne yaptığınızı bilmek başka birininkini anlamaktan çok daha kolaydır! Sana başarılar diliyorum!


İyi. Yardımı reddetmem. " İşlemin gerçekleştiği anı yakalamak ve işaretçiyi orijinal değerine geri döndürmek " için hangi yöne kazacağımı söyle.
 
Retabs :

İyi. Yardımı reddetmem. " İşlemin gerçekleştiği anı yakalamak ve işaretçiyi orijinal değerine geri döndürmek " için hangi yöne kazacağımı söyle.


Zaman serisi Belgelerde, çizelgede çubuk mumlar ! Ve yol boyunca birçok şey öğreneceksiniz ve çok gerekli ve faydalı! Ve ders kitabı!

Ve eğer gerçekten bilmek ve yapabilmek istiyorsanız, bu bir veya iki gün, aylar ve yıllar boyunca, bir ömür boyu öğretmek için değildir! İyi şanlar!

 
_new-rena :

En sonunda.

Hata 130, durma ve alma nedeniyledir. Çalışmaları gereken bir fiyat seviyesi olmalıdır. (-100 veya 60 fiyat oranını beklemek imkansız, örneğin Fiyat-100*Puan veya Fiyat+60*Puan gibi olmalı)


Lütfen bana söyle. Sadece gösterge çizgileri tekrar kesiştiğinde , yani val1 val2'ye eşit hale gelmedikten sonra yeni bir anlaşmanın açılmasına nasıl izin verilir? Böylece, o anda açık olan geçmiş işlemlerin sayısına bakılmaksızın ve elbette onlara dokunmadan 2 kavşak arasında yalnızca bir ticarete izin verilir.

 //+------------------------------------------------------------------+
//|                                Sovetnik_RegressionPolynomial.mq4 |
//|                                                      Retabs 2014 |
//|                                                        www.----- |
//+------------------------------------------------------------------+
#property copyright "Retabs 2014"
#property link        "www.-----"
#property version    "1.00"
#property strict
//--- input parameters
input int    StopLoss= 60 ;
input int    TakeProfit= 100 ;
input double    Lots= 0.10 ;
input int    Shift= 5 ;

double SL;
double TP;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   double val1= iCustom ( NULL , 0 , "RegressionPolynomial" , 10000 , 55 , 5 , 2 , 0 , 0 , 0 );
   double val2= iCustom ( NULL , 0 , "RegressionPolynomial" , 10000 , 55 , 5 , 2 , 0 , 1 , 0 );
   
   if (val1>val2)
   OrderSend ( Symbol (), OP_BUY , Lots, Ask ,Shift, Ask -StopLoss* Point , Ask +TakeProfit* Point , "коммент" , 5371533 , 0 ,Red);
   
   if (val1<val2)
   OrderSend ( Symbol (), OP_SELL ,Lots, Bid ,Shift, Bid +StopLoss* Point , Bid -TakeProfit* Point , "коммент" , 5371533 , 0 ,Blue);
  }
//+------------------------------------------------------------------+
 
Retabs :


Lütfen bana söyle. Sadece gösterge çizgileri tekrar kesiştiğinde , yani val1 val2'ye eşit hale gelmedikten sonra yeni bir anlaşmanın açılmasına nasıl izin verilir? Böylece, o anda açık olan geçmiş işlemlerin sayısına bakılmaksızın ve elbette onlara dokunmadan 2 kavşak arasında yalnızca bir ticarete izin verilir.

Bunun gibi
 void OnTick ()
  {
//---
   double val10= iCustom ( NULL , 0 , "RegressionPolynomial" , 10000 , 55 , 5 , 2 , 0 , 0 , 0 );
   double val20= iCustom ( NULL , 0 , "RegressionPolynomial" , 10000 , 55 , 5 , 2 , 0 , 1 , 0 );

   double val11= iCustom ( NULL , 0 , "RegressionPolynomial" , 10000 , 55 , 5 , 2 , 0 , 0 , 1 );
   double val21= iCustom ( NULL , 0 , "RegressionPolynomial" , 10000 , 55 , 5 , 2 , 0 , 1 , 1 );
   
   if (val11 < val21 && val10>=val20)
   OrderSend ( Symbol (), OP_BUY , Lots, Ask ,Shift, Ask -StopLoss* Point , Ask +TakeProfit* Point , "коммент" , 5371533 , 0 ,Red);
   
   if (val11 > val21 && val10<=val20)
   OrderSend ( Symbol (), OP_SELL ,Lots, Bid ,Shift, Bid +StopLoss* Point , Bid -TakeProfit* Point , "коммент" , 5371533 , 0 ,Blue);
  }
 

Cevap için teşekkürler. Az önce kendim çözümler buldum, ancak farklı bir prensipte. Benimkini denedim ve seninki doğru görünüyor.

 //+------------------------------------------------------------------+
//|                                Sovetnik_RegressionPolynomial.mq4 |
//|                                                      Retabs 2014 |
//|                                                        www.----- |
//+------------------------------------------------------------------+
#property copyright "Retabs 2014"
#property link        "www.-----"
#property version    "1.00"
#property strict
//--- input parameters
input int    StopLoss= 100 ;
input int    TakeProfit= 160 ;
input double    Lots= 0.10 ;
input int    Shift= 5 ;

double SL;
double TP;
int     X= 0 ;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   double val1= iCustom ( NULL , 0 , "RegressionPolynomial" , 10000 , 55 , 5 , 2 , 0 , 0 , 0 );
   double val2= iCustom ( NULL , 0 , "RegressionPolynomial" , 10000 , 55 , 5 , 2 , 0 , 1 , 0 );
   

   if (X> 0 && val1==val2)
   Ctrl= 0 ;
   
   
     if (X== 0   )
      {
       if (val1>val2)
       OrderSend ( Symbol (), OP_BUY , Lots, Ask ,Shift, Ask -StopLoss* Point , Ask +TakeProfit* Point , "коммент" , 5371533 , 0 ,Red);
      Ctrl=Ctrl+ 1 ;
      }
      
     if (X== 0 ) 
    
      { if (val1<val2)
       OrderSend ( Symbol (), OP_SELL ,Lots, Bid ,Shift, Bid +StopLoss* Point , Bid -TakeProfit* Point , "коммент" , 5371533 , 0 ,Blue);
      X=X+ 1 ;
      }
   
  }
//+------------------------------------------------------------------+

Ancak böyle bir şey var: görsel bir kesişme noktasında, aslında, çizgiler sırasıyla bir kereden fazla kesişiyor, sinyal birkaç kez geliyor ve danışman 4-30 sipariş vermeyi başarıyor.

Bu eksiklikten kurtulmalıyız. Aklıma gelen tek şey, geçmiş okumaların ortalamasını almak ve mevcut olanlarla karşılaştırmak. Mantıken evet. Ama programlı olarak nasıl yapılır ??? Yardım!