Nasıl kodlanır? - sayfa 157

 

teşekkürler wolfe!

cevabınız ve kitap için teşekkürler! benim için yeni, bu yüzden kazacağım ve biraz daha öğreneceğim. Daha sonra, bir engele çarparsam, bir sonraki sorumun veya başka bir sorumun bir sonraki sürümünü yayınlayacağım.

Eric

 

Bir nesnenin zaman sabitlemesi

Bir nesneyi (bir ok gibi) nasıl düzelteceğimi bana söyleyebilecek biri olup olmadığını merak ettim, böylece TF grafiğini değiştirdiğimde ok orijinal zamanda kalacaktı. Dikey bir çizgi çizmeye ve ardından TF grafiğini değiştirmeye benzer. Teşekkürler.

 

.00 nasıl değiştirilir veya kaldırılır

double HiPrice2 = iHigh(NULL,NULL,1);

double LoPrice2 = iLow (NULL,NULL,1);

çift Rangehilo= (HiPrice2-LoPrice2);

if (Rakamlar < 4) Rangehilo = Rangehilo * 100; başka Rangehilo = Rangehilo * 10000;

Comment("\n","Aralık: ",DoubleToStr(Rangehilo,2)+" pip","\n");

Yüksek ve düşük arasında bir aralık PIP oluşturmaya çalışıyorum, ancak böyle gösteriyor

->> Aralık: 37.00 pip

Sorum şu, .00 nasıl kaldırılır? Yani sadece 37pip mi gösterecek?

Teşekkürler

 

NormalizeDouble(var1,0);

Lüks

Not: Kodunuzu yeni fark ettim: DoubleToStr(Rangehilo,0) - 2'yi 0 olarak değiştirin

 
luxinterior:
NormalizeDouble(var1,0);

Lüks

Not: Kodunuzu yeni fark ettim: DoubleToStr(Rangehilo,0) - 2'yi 0 olarak değiştirin

Ohohhh, sadece küçük bir hata..teşekkürler luxinterior!

 

stdev bantları ekleme

Merhaba, aptal soru için özür dilerim, ama lütfen bana burada yardım edin:

Grafik penceresinde 1 satırdan oluşan herhangi bir göstergeniz varsa ve o satıra Bollinger bantları gibi standart sapma bantları eklemek istiyorsanız. Bunu nasıl yapıyorsun:

Diyelim ki orijinal göstergenizi çizen arabelleğiniz abc olarak adlandırıldı.

bu yüzden önce bunları beyan edersiniz:

extern int BantlarPeriod=20;

harici int BandsShift=0;

harici çift BantSapmalar=2.0;

1) değişirsin

#property Indicator_buffers 1 (1 olur 3 olur)

2)

SetIndexBuffer(0,abc);

SetIndexStyle(0,DRAW_LINE);

ve Ekle

SetIndexBuffer(1,UpperBuffer);

SetIndexStyle(1,DRAW_LINE);

SetIndexBuffer(2,AltBuffer);

SetIndexStyle(2,DRAW_LINE);

SetIndexDrawBegin(0,BandsPeriod+BandsShift);

SetIndexDrawBegin(1,BandsPeriod+BandsShift);

3) bollinger bantları kodunun geri kalanını başlatma döngüsüne eklersiniz

int başlangıç()

{

int i,k,counted_bars=IndicatorCounted();

çift sapma,toplam,eskival,newres;

//----

if(Bars<=BandsPeriod) return(0);

//---- ilk sıfır

if(sayılan_barlar<1)

ve benzeri....

4) ama orijinal bands.mq4 kodundaki MovingBuffer adlı arabelleği, göstergenizdeki "abc" adlı yeni arabelleğinizle nasıl değiştirirsiniz?

Bu konuda gitmenin en iyi yolu nedir?

Gösterge kodumu bands.mq4 koduna mı yoksa tam tersi şekilde mi almalıyım?

Neyle çalıştığımı görebilmeniz için bands.mq4 adlı iyi bilinen bir kod parçası ekledim.

tekrar, kodlama cehaletim için özür dilerim

Belki birileri 'stdev bantları öğretici ekleme' hakkında bir şeyler biliyordur? Şu an ihtiyacım olan şey bu olurdu. Teşekkür

Dosyalar:
bands.mq4  3 kb
 
 

EA için kodlama

Hepinize merhaba,

Mevcut ticaret oturumu için zaten karlı bir ticaret yapmışsa, bir EA'nın ticaret yapmasını engelleyecek bazı kodlamalar oluşturmak istiyorum.

Her gün alım satım için açılış ve kapanış zamanını seçmeme izin veren birkaç EA'm var. EA ayrıca yalnızca her yeni çubuğun açılışında bir şey yapar. Bu nedenle, devam eden bir işlemim varsa ve zararı durdur veya kar al 'a ulaştığı için kapalıysa, EA yeni bir işlem açmadan önce bir sonraki çubuğun açılmasını bekleyecektir.

Örneğin, EA'yı bir saatlik grafikte 6:00 AM ile 2:00 PM arasında işlem yapmaya ayarladım. Sabah 6:00'da bir işlem açılır. 9:23'te kar almam vuruldu ve işlem kapandı. Sabah 10:00'da yeni bir işlem açılacak ve yeni zararı durdur veya kâr al kuralına ulaşılana veya saat 14:00'e ulaşana kadar açık kalacaktır, bu sırada işlem kapanıp geri kalanı için işlem yapılır Günün.

EA'nın yapmasını istediğim şey, yalnızca günün saatini tanımak değil, aynı zamanda işlem seansı sırasında zaten kazanan bir işlem yapıp yapmadığımı da tanımak. Dolayısıyla, yukarıdaki örnekte, hala günün işlem periyodunda olmasına rağmen, EA zaten bir kar elde edildiğinden sabah 10:00'da yeni bir işlem açmayacaktır. Öte yandan, yukarıdaki örnekte zararı durduran benim olsaydı, EA sabah 10:00'da yeni bir işlem açardı çünkü henüz kar elde edilmedi.

Daha önce kapatılan işlemlere bakmak için "Mode_History" parametresiyle birlikte "OrderSelect" işlevini kullanmam ve ardından bir kâr veya zararın gerçekleşip gerçekleşmediğini belirlemek için açılış fiyatını emrin kapanış fiyatıyla karşılaştırmam gerektiğini düşünüyorum. . Kulağa doğru geliyor mu? Programlamada acemi biri olarak, soruna yaklaşmanın en iyi yolunun bu olup olmadığından emin değilim ve eğer öyleyse, düzgün çalışması için doğru biçimde almam çok uzun zaman alacak.

Herhangi biri bana yardım edebilirse veya en azından, bana bu sorunun nasıl çözüleceğine dair bazı bilgiler veya fikirler verirse, minnettar olurum. Örneğim bir anlam ifade etmiyorsa, bana bildirin, daha iyi açıklamaya çalışacağım.

Sunulan herhangi bir yardım için şimdiden teşekkür ederiz.

Ron

 

Sipariş kayıpları kontrol ediliyor...

Bu sitede, bu bağlantıda https://www.mql5.com/en/forum/176053/page25 DIN_Kukus_EA_V2.6'nın bir kopyasıdır. EA'nın içeriğini görüntülerseniz, sipariş geçmişinizde sipariş kayıplarını kontrol eden bir işlev bulacaksınız, tıpkı kendiniz için yaptığınızı belirttiğiniz gibi. Başarılı işlemlerin sayısını sipariş geçmişinizden nasıl çıkaracağınıza ilişkin bu çalışma örneğini kullanabilirsiniz. Belirli bir süre için geçmişi çıkarmak için de değiştirebilirsiniz, ancak umarım bu, kendiniz için yapmayı önerdiğiniz şeyi nasıl başaracağınızı görmenize yardımcı olur...

 

EA'da gösterge sonuçlarını kullanmak istemek

Hepinize merhaba,

Gliding_Channels göstergesi, mevcut kanal verilerini Veri Penceresinin yorum alanına koyar. Mevcut çubuk üzerinde kanalın dikey derinliğini, kanalın açısını (hem pozitif hem de negatif), üst limiti ve alt limiti söyler. Bu verileri görmek istiyorum, ancak EA'mın yorum alanında gösterdiği verilerle çelişiyor ve yorumlarımın titremesine neden oluyor.

Göstergedeki dört verinin her biri için bir SetIndexBuffer eklemeye çalıştım, böylece iCustom kullanarak EA'mda bunlara başvurabildim. Bu şekilde EA yorumlarıma dört değerden sadece birini getirebildim. (Ayrıca titreme sorunu yaşamaya devam ettim).

Herhangi biri bana EA'mdaki bu dört gösterge sonucuna erişmenin doğru yolunu gösterebilir mi?

EA'mda bu dört değeri "derinlik, açı, limitHI ve limitLO" olarak adlandıracağım.

Dosyalar: