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

 
Roman. :


Kusura bakmayın fark etmemişim... :-)))

Birkaç kez kontrol ettim - hata yok, her şey kesinlikle formüllere göre.

Görünüşe göre, bu işi bir şekilde parçalara ayırmak ve ancak o zaman onları karşılaştırmak gerekiyor ... Daha fazla ayrıntı - burada.

Zaten oradaydı. İlginçtir. Bir fikrim var. Bu konu hakkında bir başlıkta yazacağım.

 
MaxZ :

Kodun tamamını mı kopyaladınız yoksa start() işlevinde ne vardı? Bu önemli!

Sen yanlış anladın! :)) Örneğin, zig-zag'da arabelleğin tüm öğeleri doldurulmaz. Ayrıca, simgeler için arabelleğin tüm öğelerini doldurmak gerekli değildir.


Tamamen kopyalanmış gibi...

Garip! Böyle bir kod yazarsam:

arabellek[1]=açık[1];

arabellek[3]=açık[3];

grafikte hiçbir şey olmadı

 
wolf05632 :


Tamamen kopyalanmış gibi...

Garip! Böyle bir kod yazdıysam:

arabellek[1]=açık[1];

arabellek[3]=açık[3];

grafikte hiçbir şey olmadı


Bu durumda, kodun tamamına bakmanız gerekir.
 
wolf05632 :


Tamamen kopyalanmış gibi...

Garip! Böyle bir kod yazdıysam:

arabellek[1]=açık[1];

arabellek[3]=açık[3];

grafikte hiçbir şey olmadı

Bu durumda değiştirilmelidir.

 SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 2 ); // Стиль линии

üzerinde

 SetIndexStyle ( 0 , DRAW_SECTION );

Aksi takdirde, kesik çizgiler çizilecek veya çizgiler sıfırdan veya yukarıdan grafiğe atlayacak ve sıfıra veya yukarı doğru uçacak (arabellekteki eksik öğelere hangi değeri ayarladığınıza bağlı olarak)! :D

Yani kodum hala senin için çalışıyor mu?

 

Teşekkür ederim! Tekrar deneyeceğim... Evet! kazanıldı, teşekkürler! Sadece bu satırın anlamını anlamıyorum:

 if ( MathMod ( Bars , 2 ) != 0 && Counted_bars == 0 )
       return ( 0 );
 
wolf05632 :

Teşekkür ederim! Tekrar deneyeceğim... Evet! kazanıldı, teşekkürler! Sadece bu satırın anlamını anlamıyorum:

 if ( MathMod ( Bars , 2 ) != 0 && Counted_bars == 0 )
       return ( 0 );

Açıklarım.

Göstergeyi grafiğe atıyoruz . İlk olarak, init() işlevi yürütülür, yürütülür.

Ardından start() işlevi yürütülür. Henüz tek bir çubuk hesaplanmadığından, fonksiyon

 IndicatorCounted (); // Количество просчитанных баров

null dönecektir.

yani koşul

 if ( MathMod ( Bars , 2 ) != 0 && Counted_bars == 0 )
       return ( 0 );

başarısız olur ve gösterge, üzerine attığımız alım satım aracının tüm çubuklarında hesaplar.

Hesaplama yapıldıktan sonra start() işlevi sona erecek ve gösterge yeni bir tick'in gelmesini bekleyecektir.

Yeni bir onay işareti geldi, start() işlevi yeniden çalışmaya başlayacak. Değişken Counted_bars işlevine

 IndicatorCounted (); // Количество просчитанных баров

hesaplanan çubukların sayısını döndürür.

Bu koşul anlamına gelir

 if ( MathMod ( Bars , 2 ) != 0 && Counted_bars == 0 )
       return ( 0 );

zaten yerine getirilebilir, yani bu koşul, bir çubuğa ihtiyacımız olmadığında ve start() fonksiyonunun hesaplanmasında atlamak istediğimizde yerine getirilmiş olacaktır.

 

İyi akşamlar. İki sorum var:

Forumda Ichimoku'ya dayalı bir strateji geliştiren ve bir saatten daha kısa bir zaman dilimi kullanan, örneğin 5 veya 15 dakika kullanan birileri olup olmadığını bilmek istedim.

2 "Terekhov A. Ichimoku göstergesi .djvu" kitabında "Ichimoku göstergesi ve Japon mum çubukları" bölümü var, göstergenin mum yapılandırmalarını onaylaması gerektiğini söylüyor. Yani, bu mum çubuğu konfigürasyonları tam olarak göstergenin sinyal verdiği anda olmalıdır, yoksa bu iki olay arasında birkaç çubuk olabilir mi? Yani örneğin tenkan ve kinjun'un kesişimi ve aynı anda örneğin "Çekiç" olmalı mı yoksa isteğe bağlı mı?

 

Hepinize iyi günler! Ben bir acemiyim ve bir vorosum var - bu şemaya göre bir sipariş açarak

extern bool Buy = true;

harici çift FiyatAl = 0;

int başlangıç()
{
eğer (Satın al)
{OrderSend( Symbol() ,OP_BUY,0.01,Sor,3,Bid-50*Puan,Sor+50*Puan);
Fiyat Satın Al = ??????????????????;}

dönüş;
}
Sipariş alış fiyatının değerini PriceBuy değişkenine atamak için soru işaretlerinin altında ne belirtilmelidir? Bu değeri bir kez atamak için ve programın seyri ile değişmedi.

Ve bir şey daha - Zaten açık bir siparişin stoploss'u programlı olarak nasıl değiştirilir?

 
OTPOK :

Hepinize iyi günler! Ben bir acemiyim ve bir vorosum var - bu şemaya göre bir sipariş açarak

extern bool Buy = true;

harici çift FiyatAl = 0;

int başlangıç()
{
eğer (Satın al)
{OrderSend(Symbol(),OP_BUY,0.01,Sor,3,Bid-50*Puan,Sor+50*Puan);
Fiyat Satın Al = ??????????????????;}

dönüş;
}
Sipariş alış fiyatının değerini PriceBuy değişkenine atamak için soru işaretlerinin altında ne belirtilmelidir? Bu değeri bir kez atamak için ve programın seyri ile değişmedi.

Ve bir şey daha - Zaten açık bir siparişin stoploss'u programlı olarak nasıl değiştirilir?




 extern bool Buy = true;
extern double PriceBuy = 0 ; 
int start() 
{
   if (Buy) 
   {
     int ticket= OrderSend ( Symbol (),OP_BUY, 0.01 ,Ask, 3 ,Bid- 50 * Point ,Ask+ 50 * Point );
     if ( OrderSelect (ticket,SELECT_BY_TICKET,MODE_TRADES))
        PriceBuy= OrderOpenPrice ();
   }
   return ( 0 ); 
}
 
OTPOK :


Sipariş alış fiyatının değerini PriceBuy değişkenine atamak için soru işaretlerinin altında ne belirtilmelidir? Bu değeri bir kez atamak için ve programın seyri ile değişmedi.

Ve bir şey daha - Zaten açık bir siparişin stoploss'u programlı olarak nasıl değiştirilir?




Tünaydın. Değişkenlere asla değer biçmediğinizi anladım. Bu çok basit bir şekilde yapılır.

PriceBuy=Ask

Ve OrderModifity() işlevini kullanarak stop loss'u değiştirmeniz gerekir.

MetaIditor'daki yardıma bakın.

Herşey gönlünce olsun.

Neden: