Nasıl kodlanır? - sayfa 180

 

yakın konumla ilgili sorun

......

çift cena=0;

statik int isCrossed = 0;

isCrossed = Çapraz (k,d);

if(Sipariş Seçimi(bilet, SELECT_BY_POS))

{

c=SiparişAçıkFiyat();

dönüş(0);

}

if (isCrossed>0)

{

cena=((c-Sor)*10000);

dönüş(0);

}

toplam = SiparişlerToplam();

if(toplam < 1)

{

if(isCrossed == 1)

{

bilet = OrderSend(Symbol(), OP_BUY, Lots, Ask, 1000, cena,

cena , "EMA_CROSS", 12345, 0, Yeşil);

}

....

if(isCrossed == 2)

{

bilet = OrderSend(Symbol(), OP_SELL, Lot, Bid, 1000, cena,

cena, "EMA_CROSS", 12345, 0, Kırmızı);

......

genel olarak EA, EMA geçtiğinde pozisyonu kapatır ve aynı zamanda başka bir pozisyonu açar

pozisyonlar açıldı ama kapanmak istemiyorlar ;/

lütfen yardım et

 

Aynı anda bir pozisyonu kapatıp yeni bir pozisyon açmak mümkün müdür?

(...)

if(OrdersTotal()!=0) {

(...)

OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), Slippage, Green ); }

if(OrdersTotal()==0) {

OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, Ask - SL * Point, Ask + TP * Point, NULL, Magic, 0, Green); }

(...)

Bu kod örneğinde, kısa pozisyon ilk tikte kapatılacak, ancak uzun pozisyon anında açılmayacaktır. Uzun pozisyonu açmak için bir onay işareti daha alır.

Şimdiden teşekkürler :-)

 

Evet mümkün. RefreshRates() işlevini operatörler arasına koymanız yeterlidir.

 
 
pietra`:
...... lütfen yardım et

Görünüşe göre: Ben Pietra. İkinci adım ne?

Kodun tamamı olmadan size yardım etmek imkansız. Afedersiniz.

 

Kodlama konusunda yardıma ihtiyacınız var

EA için maksimum ve minimum açık fiyatları bilmek için MT4 kodlaması hakkında bana yardımcı olabilecek var mı? Bir EA tarafından bazı açıklıklar vardır.

Bunun gibi bir kod buldum, ancak ilk/son işlem açılışını bilmek içindir.

çift GetLastBuyPrice(int Magic)

{

int toplam=SiparişToplam()-1;

için (int cnt = toplam ; cnt >=0 ; cnt--)

{

OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);

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

{

dönüş(OrderOpenPrice());

}

}

dönüş(10000);

}

En yüksek/en düşük işlem açılışını bilmek için nasıl kod yazılır?

 

kod

lumanauw:
EA için maksimum ve minimum açık fiyatları bilmek için MT4 kodlaması hakkında bana yardımcı olabilecek var mı? Bir EA tarafından bazı açıklıklar vardır.

Bunun gibi bir kod buldum, ancak ilk/son işlem açılışını bilmek içindir.

Çift açılır[1000] = {0};

çift maxopen = 0 ;

çift minopen = 1000000 ;

// çift GetLastBuyPrice(int Magic)

{

int toplam=SiparişToplam()-1;

için (int cnt = toplam ; cnt >=0 ; cnt--)

{

OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);

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

{

open[cnt] = OrderOpenPrice() ;

}

}

için ( cnt = 0 ; cnt <= toplam ; cnt ++ )

{

if ( open[cnt] > maxopen ) maxopen = open[cnt] ;

if (opens[cnt] < minopen ) minopen = open[cnt] ;

}

}

En yüksek/en düşük işlem açılışını bilmek için nasıl kod yazılır?

merhaba,

kodu yukarıdaki gibi değiştirin,

diğerinden arama prosedürü değildir ...,

EA kodunuzda istediğiniz yere koyun.

OTR

 

Birden fazla sipariş açmak için kod yapmak için yardıma ihtiyacınız var

İkinci bir sipariş açmak için kod eklemede başarısız oldum.

Aynı sinyale göre farklı TP seviyelerinde 2 sipariş açmaya çalışıyorum.

ilk siparişi açma kodum aşağıdadır:

herhangi bir yardım takdir edilmektedir.

if(YavaşSell<0 && HızlıSell<0 && ÖncekiHızlıSell==0)

{

bilet=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,Bid-TakeProfit*Point,"MA_Angle_Trader",MagicNumber,0,Red);

if(bilet>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print(" SellStop emri açıldı : ",OrderOpenPrice());

}

else Print("SellStop siparişini açarken hata: ",GetLastError());

dönüş(0);

bilet=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,0,"MA_Angle_Trader",MagicNumber,0,Red);

if(bilet>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SellStop siparişi açıldı: ",OrderOpenPrice());

}

else Print("SellStop siparişini açarken hata: ",GetLastError());

dönüş(0);

}

 

Merhaba

Bazı basit kodlama yardımına ihtiyacım var,

1) Belirli sayıda pipte bir ticareti riskten korumak

2) Ardından daha fazla ticareti devre dışı bırakır/askıya alır ..........

Korunan ticareti manuel olarak kapatacağım için tekrar riskten korunmadığından emin olun.

 
williamcope:
İkinci bir sipariş açmak için kod eklemede başarısız oldum.

Aynı sinyale göre farklı TP seviyelerinde 2 sipariş açmaya çalışıyorum.

ilk siparişi açmak için kodum aşağıdadır:

herhangi bir yardım takdir edilmektedir.

if(YavaşSell<0 && HızlıSell<0 && ÖncekiHızlıSell==0)

{

bilet=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,Bid-TakeProfit*Point,"MA_Angle_Trader",MagicNumber,0,Red);

if(bilet>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SellStop siparişi açıldı: ",OrderOpenPrice());

}

else Print("SellStop siparişini açarken hata: ",GetLastError());

dönüş(0);

bilet=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,0,"MA_Angle_Trader",MagicNumber,0,Red);

if(bilet>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SellStop siparişi açıldı: ",OrderOpenPrice());

}

else Print("SellStop siparişini açarken hata: ",GetLastError());

dönüş(0);

}

Önce değiştirin

dönüş(0);

ile

Yenileme Oranları();