Nasıl kodlanır? - sayfa 192

 

...

mladen tarafından silindi

Sebep: Neyin yanlış gidebileceğini göstermenin anlamı yok

 

teşekkürler

Teşekkürler.......

 

kod yardımına ihtiyacım var ..

sağolun beyler...

 

Yardım lütfen

HERKESE MERHABA,

Birisi lütfen bu göstergenin geçmişi yeniden boyamamasına yardımcı olabilir mi, özellikle çubuk kapatılmışsa, gösterge, mumlar kapatıldıktan sonra canlı ticarette bazen 2 ila 3 çubuğu yeniden boyar ve mümkünse bir uyarı eklenir. Beklenti içinde teşekkürler.

 

kod yardımına ihtiyacım var ..

Merhaba sayın üyeler,

Ben bir programcı değilim, ancak birisi bana bu konuda yardımcı olabilirse gerçekten minnettar olurum.

Aşağıdakileri yapması için bu kodu nasıl yeniden yazarım;

if (Toplam Açık Sipariş = 0)

o zamanlar

lot = Type1Lot( order_type );

if (Toplam Açık Emir = 1)

o zamanlar

lot = Type2Lot(sipariş_türü);

if (Toplam Açık Sipariş > 2)

o zamanlar

lot = Type3Lot(sipariş_türü);

Hepinize teşekkürler.

Takdir etmek

 

Kodlamanın daha iyi bir yolu var mı

Grafiğe yüksek/düşük dalgalanmalar koyan bir indi kodladım ve devam etmeden önce bunların her birinin sonunu bilmem gerekiyor. Bu, bu iki fiyatı arama girişimim (dolayısıyla biraz yardıma ihtiyacım var).

Çoğu zaman bu işe yarar, ancak bugün son yüksek vuruşun aslında son yüksek vuruş olduğunu söylüyordu.

Birisi lütfen buna bakıp bu kısmı kodlamanın daha iyi bir yolu olup olmadığını görebilir mi?

Herhangi bir yardım için teşekkürler.

int yüksek çubuk,alt çubuk,i,n;

çift kıvrım=0,kıvrık=0;

(i=200;i>=1;i--) için

{

if (Yüksek<Yüksek && Yüksek<Yüksek && Yüksek && Yüksek<Yüksek)

{

kıvrımlı=Yüksek;

yüksekbar=i+2;

}

if (Düşük>Düşük && Düşük>Düşük && Düşük>Düşük && Düşük>Düşük)

{

kıvrılma=Düşük;

düşükbar=i+2;

}

}

//----son fraktaldan bu yana daha yüksek/düşük mum olup olmadığını kontrol edin ----------

n=MathMax(yüksek çubuk,düşük çubuk);

for (int x=n-1;x>=0;x--)

{

if (Yüksek[x]> eğri)

{

curhigh=Yüksek[x];

yüksekbar=x;

}

if (Düşük[x]< kıvrımlı)

{

kıvrım=Düşük[x];

düşük çubuk=x;

}

}

Girintiler düzgün yapıştırılmamış gibi görünüyor, üzgünüm.

 
forexarchitect:
Merhaba sayın üyeler,

Ben bir programcı değilim, ancak birisi bana bu konuda yardımcı olabilirse gerçekten minnettar olurum.

Aşağıdakileri yapması için bu kodu nasıl yeniden yazarım;

if (Toplam Açık Sipariş = 0)

o zamanlar

lot = Type1Lot(sipariş_türü);

if (Toplam Açık Emir = 1)

o zamanlar

lot = Type2Lot(sipariş_türü);

if (Toplam Açık Sipariş > 2)

o zamanlar

lot = Type3Lot(sipariş_türü);

Hepinize teşekkürler.

Takdir etmek

Ben hiçbir şekilde uzman bir kodlayıcı değilim, ancak tüm siparişlerinizi gözden geçirmeniz ve hangi siparişlerin özelliklerinizi karşıladığını saymanız gerektiğini düşünüyorum. Daha sonra farklı sipariş türleri için farklı if deyimi kullanın .. örnek.

int total=OrdersTotal(),totalBuy,totalSell;

for (int q=0; q<total; q++ )

{

OrderSelect(q,SELECT_BY_TICKET,MODE_TRADES);

if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)

totalBuy++;

else if (OrderMagicNumber() == Magic && OrderType() == OP_SELL)

totalSell++;

}

Burada Magic numarasına göre hangi biletlerin sayılacağını seçiyorum ve ayrıca Short ve long sayısını sayıyorum. Yukarıdaki kodu örnek olarak kullanabilirsiniz.

 

50 ve 100 psişik seviyelerinde limit emri verin

Hey, kodumla ilgili küçük bir yardım arıyordum. Bu, bir döviz çiftinin 50 ve 100 tur seviyelerinde bir piyasa limit emri vermek için kullanılacak kod mu? Mevcut Alış/Teklif'in üstünde ve altında 50 ve 100 seviyelerinde sipariş vermek istiyorum.

if (Point == 0.00001) Poin = 0.0001; //6 digits

else if (Point == 0.001) Poin = 0.01; //3 digits (for Yen based pairs)

else Poin = Point; //Normal

for(double q=Ask*Poin,q<Ask+100*Poin,q++)

{

if(MathMod(q,100) == 0 || MathMod(q,50) == 0)

{

\\ Place limit order

}

for(double q=Bid*Poin,q>Bid-100*Poin,q--)

{

if(MathMod(q,100) == 0 || MathMod(q,50) == 0)

{

\\ Place limit order

}

Herhangi bir yardım takdir edilecektir.

 

Çubuk renk göstergesi

Merhaba, lütfen biri MT4 göstergesi konusunda yardımcı olabilir mi?

Yapılabileceğinden emin değilim, ancak çubukların yeniden renklendirilmesi gerekiyor.

R1 = son 20 bar için en düşük değer + (2*ATR(10))

R2 = son 20 bar için en yüksek değer - (2*ATR(10))

Kapanış fiyatı R1'den büyükse çubuğu parlak mavi olarak renklendirin.

Bir önceki çubuğun kapanış fiyatı R2'den düşükse çubuğu... FireBrick olarak renklendirin.

teşekkürler

A

 

hala 1'den fazla sipariş açan EA kod örneğini arıyorum

Bir seferde sadece 2 emir açmak istiyorum, 1'i tp'li ve 1'i olmadan ve daha sonra koşullar tam tersi şekilde açılana kadar ASLA o yönde başka bir emir açmayın. sonra hepsini kapatın ve tersini tekrarlayın.

Kodlamak için çok uğraşıyorum ama...şimdiye kadar BAŞARISIZ.

En büyük problemler mum çubuğunun kapanışında 1 pozisyon açılmasıdır...sonra SONRAKİ mum çubuğunun kapanışında 2. pozisyon açılır. Ayrıca bazen 2'den fazla açık pozisyon alıyorum ve her 1. vuruşta TP'ye yeni bir pozisyon alıyorum. HEPSİ ÇOK KÖTÜ.

işte al ve sat kodu temelde aynı...

HERHANGİ BİR İPUCU yardımcı olabilir, kodu yazmaya hazırım

Örnekler için bakabileceğim bunu yapan bir EA bile ..

Bu fikrin çok önemli olduğunu ve para yönetimi amacıyla birçok EA'ya dahil edilmesi gerektiğini düşünüyorum.

BİR TON TEŞEKKÜRLER

Eğer ( ) {

Yakın satın alma = Doğru;

MAcrossDown = Doğru;

MAcrossUP= Yanlış;

OrdertotalCloseBuy = OrdersTotal();

int DenemelerDenendiCloseBuy = 0;

bool OrderCloseBuy = Yanlış;

bool PositionClosedBuy = False;

if(OrdersTotal() > 0 ){

OrderSelect(0, SELECT_BY_POS, MODE_TRADES);

if(OrderType() == OP_BUY){

for (int i = OrdertotalCloseBuy-1; i >= 0; i --) {

PozisyonKapalıAlım = Yanlış;

DenemelerDenendiKapatAl = 0;

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

while (!PositionClosedBuy && AttemptsTriedCloseBuy < CloseposnAttempts) {

DenemelerDenendiKapatAl = DenemelerDenendiKapatAl + 1;

OrderCloseBuy = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, LimeGreen);

Uyku(Siparişler Arasında Duraklat * 1000);

if(OrderCloseBuy == True) { // Pozisyon Kapatıldı Başarılı.

PozisyonKapalıSatın Alma = Doğru;

// if (SignalMail) SendMail("[Sinyal Uyarısı]", "[" + Symbol() + "] " + DoubleToStr(Teklif, Rakamlar) + " Satın Alma Kapat");

} else if( Order == False && AttemptsTried >= CloseposnAttempts ) {

Print( AttemptsTried + "Piyasa emrini kapatmaya çalışır" +

OrderTicket() + " başarısız oldu. Hata [ " + GetLastError() + " ]" );

// if (SignalMail) SendMail( AttemptsTried, "Satın Al emrini kapatma girişimleri Başarısız");

} // Eğer Sonlandır, Sırala:

} // Döngüyü Bitir, AccountAvailable:

}//için

}//if sipariş türü

}//siparişlertoplam

Uyku(1000);

if(OrdersTotal() == 0 && Closebuy == True && Sell_Complete_Wait4Cross_Up == False) {

SellTicket1 = Yanlış;

SellTicket1 = OrderSend(Symbol(), OP_SELL, Lot, Bid, Slippage, StopLoss, Bid - TakeProfit * Point, "SAT(#" + MagicNumber + ")", MagicNumber, 0, Red);

Uyku(Siparişler Arasında Duraklat * 1000);

Sell_Complete_Wait4Cross_Up = Doğru;

Buy_Complete_Wait4Cross_Down = Yanlış;

if (Ticket && SignalMail) SendMail("[Sinyal Uyarısı]", "[" + Symbol() + "] " + DoubleToStr(Teklif, Rakamlar) + " 1. Satışı Aç");

Uyku(1000);

SellTicket2 = OrderSend(Symbol(), OP_SELL, Lot, Bid, Slippage, StopLoss, 0, "2. SATIŞ(#" + MagicNumber + ")", MagicNumber, 0, Pembe);

Uyku(Siparişler Arasında Duraklat * 1000);

if (Ticket2 && SignalMail) SendMail("[Sinyal Uyarısı]", "[" + Symbol() + "] " + DoubleToStr(Teklif, Rakamlar) + " 2. Satışı Aç");

if(OrdersTotal() == 2 && MAcrossDown == Doğru) {Sell_Complete_Wait4Cross_Up = Doğru; Buy_Complete_Wait4Cross_Down = Yanlış;}

}//Sipariş gönderimi

} //Yakın Satın Al

Neden: