Nasıl kodlanır? - sayfa 243

 

ATR göstergesini geliştirmeye yardım edin!!!

ATR göstergesinin geliştirilmiş bir sürümünü kodlamaya çalışıyorum. ATR göstergesine sahip olmak istiyorum, ancak yalnızca bir P dönemi için 2:00 am ile 11:00 am arasındaki muma dayalı.

Örneğin: saatlik bir grafikte 120 periyot (+/- 120 saat = 5 gün) üzerinden ATR'yi bulmak istiyorum, ancak bu 120 saat boyunca yalnızca çubuklar 2:00 ile 11:00 arasında.

Yapmaya çalıştığım şeyi yapmak için standart ATR kodunu nasıl değiştirebileceğine dair bir fikri olan varsa ... lütfen bu gönderiye kodunuzla cevap verin ...

Teşekkürler...

 

adet

Lütfen, en son fraktal mum çubuğundan X çubukları olan bir mum çubuğunun açık veya yüksek fiyatını elde etmek için hangi ifade kullanılabilir? (lütfen tam ifadeyi yazın... Sadece bir iki satır istiyorum)

teşekkürler

 
ak_marshal:
Lütfen, en son fraktal mum çubuğundan X çubukları olan bir mum çubuğunun açık veya yüksek fiyatını elde etmek için hangi ifade kullanılabilir? (lütfen tam ifadeyi yazın... Sadece bir iki satır rica ediyorum) Teşekkürler

Her şeyden önce, fraktal çubuğun indeksinin ne olduğunu kontrol etmeniz gerekir. Bunun için "while" veya "for" kullanabileceğiniz döngü kullanmalısınız. için kullanacağım.

for(int i = 0;i<Bars;i++)

{

double isfraktal = fraktalları okumak için kod;

if(isfraktal != 0)

{

double myOpen = Open;//bu, XBarsAfterFractal'ın tam sayı olduğu X'iniz olacaktır - fraktal çubuktan x çubuklar.

break;//döngüden çık

}

}

 

Çok basit bir komut dosyası ile yardım edin lütfen

Merhaba millet,

Birisi lütfen aşağıdaki CoderGurus betiğine yardımcı olabilir.

Olduğu gibi harika çalışıyor, ancak mevcut teklif ve satış fiyatlarına değil, ticaretin açılış fiyatına dayalı olarak zararı durdur ve kar almayı durduracak şekilde değiştirmek istedim.

Dediğim gibi, olduğu gibi çalışıyor, sadece OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*StopLoss,Bid+Point*TakeProfit,0,Green); ile

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-Point*StopLoss,OrderOpenPrice()+Puan*TakeProfit,0,Yeşil);

ama çalıştırmayı denediğimde hiçbir şey olmuyor.

Birisi bana doğru yönde işaret edebilir.

teşekkürler

Steve

//+------------------------------------------- -------------------+

//| My_First_Script.mq4 |

//| Telif Hakkı Kodlayıcıları Guru |

//| https://www.mql5.com/en/forum |

//+------------------------------------------- -------------------+

#property telif hakkı "Telif Hakkı Kodlayıcıları Gurusu"

#özellik bağlantısı "https://www.forex-tsd.com"

#özellik show_inputs

#Dahil etmek

harici çift TakeProfit=250;

harici çift StopLoss=35;

//+------------------------------------------- -------------------+

//| komut dosyası programı başlatma işlevi |

//+------------------------------------------- -------------------+

int başlangıç()

{

int toplam,cnt,hata;

çift stop_loss_value;

double take_profit_value;

toplam = SiparişlerToplam();

for(cnt=0;cnt<toplam;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY) // uzun pozisyon açıldı

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*StopLoss,Bid+Puan*TakeProfit,0,Yeşil);

err=GetLastError();

Yazdır ("Yüksek - ");

Print("hata(",hata,")): ",ErrorDescription(err));

Uyku(1000);

}

if(OrderType()==OP_SELL) // kısa pozisyon açıldı

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*StopLoss,Ask-Point*TakeProfit,0,Kırmızı);

err=GetLastError();

Print("hata(",hata,")): ",ErrorDescription(err));

Uyku(1000);

}

}

dönüş(0);

}

 

Döngü olarak nasıl işlev yapabilirim

şöyle bir döngü olarak çalışan EA işlevini kullanmak istiyorum:

(şimdilik değişken kullanıyorum

INT eğilimi)

A >> B >> C >> D >> E

A = yeni yüksek + SMA30 > 80 kullanıyorum

"satın alma" eğilimi = 1

o zaman B = sma30 < 80

"satıyorum" trendi = 2

sonra C = sma30>80

"satın alma" eğilimi = 3

C'de kontrol edilmesini istemediğim nokta

herhangi bir yerde yeni zirve yaparsam, trendin 1 olmasını ve döngüye girmesini istiyorum

yeni yüksek yapmazsa sma30 <80'e gidecek

ve trende git = 4

///////////

Bu, istediğim bir döngü, herkes bana kullanmamı söyleyebilir mi?

akıllıca tavsiye için umut, teşekkür ederim

 

Mantığınızı takip edemedim ama belki bu örnek size yardımcı olmak için kullanılabilir:

MA30=iMA(NULL,0,30,0,0,0,0);

MA80=iMA(NULL,0,80,0,0,0,0);

if(Yüksek[0]>Yüksek[1] && MA30>MA80) A=1;

if(MA30<MA80) B=2;

if(MA30>MA80) C=3;

Belki istediğiniz döngü sonucuna genişletmek için bununla çalışabilirsiniz.

 

geçerli tarihi extern var olarak ayarla?

Herkese selam, bazı kodların değiştirilmesinde biraz yardımın peşindeydim. Sorun şu ki, bu belirli EA'yı her açtığımda saati ve tarihi manuel olarak değiştirmem gerekiyor, Bilmek istediğim şey, EA her açıldığında bu otomatik güncellemeyi yapmanın mümkün olup olmadığıydı.

Daha açık olmak gerekirse, EA önceden belirlenen saat ve tarihte bekleyen bir alış ve satış açar, saati değiştirmek o kadar da kötü değildir, ancak EA'yı 5 veya 6 çizelgeye eklerken biraz can sıkıcı olabilir ve kopyala/yapıştır değil uzun vadede keseceğim

harici tarihsaat NewsTime = D'05.08.2010 10:15'; kod mu

Herhangi bir yardım takdir edildi

 

Yeni bir tarihle (GlobalVariableSet) global bir değişken ayarlayan ve bu değişkenin EA okumasına (GlobalVariableGet) ekleyen bir komut dosyası yazılabilir mi?

 

Birisi Ticaret yorumu parametresini değiştirebilir mi?

Merhaba,

Master'dan tam Ticaret yorumunu kopyalayan bir sinyal kopyalayıcı EA'm var. Bu EA'ya, istediğim herhangi bir Ticaret yorumuna ayarlanabilen bir Harici parametre eklemem gerekiyor. Biri yardım ederse gerçekten minnettar olurum.

teşekkürler

Dosyalar:
s-mtfx_s.mq4  27 kb
 
Ale:
Yeni bir tarihle (GlobalVariableSet) global bir değişken ayarlayan ve bu değişkenin EA okumasına (GlobalVariableGet) ekleyen bir komut dosyası yazılabilir mi?

teşekkürler, ama sorunun "NewsTime" gibi harici değişkenlerin statik bir değişken dışında hiçbir şeyi kabul etmeyeceğini düşündüm.

betiği kullanarak ayarlayabilirsin, ama sonra değiştiremez misin?

bu doğru mu?