Nasıl kodlanır? - sayfa 248

 
 

Yardım - mevcut işlemleri açık bırakmak için bir EA nasıl değiştirilir

Birisi yardımcı olabilirse oldukça basit bir çözüme ihtiyacım var

Şu anda kârlı olan bir EA'm var, ancak aynı anda bir işlem açar ve bir işlemi kapatır, böylece herhangi bir anda yalnızca 1 işlem etkin olur.

Şimdi, birkaç mevcut işlemin halihazırda açık olduğu mevcut bir hesapta çalıştırmak istiyorum, bu işlemleri çalışır durumda bırakmak istiyorum, ancak mevcut işlemlerden herhangi biri açıldığında EA'nın kendi ticaretini açmaya ve kapatmaya devam etmesini istiyorum. karlı hale gelir, sonra bunları kapatır.

Mevcut işlemleri kârla kapatma isteği, eğer basit tutacaksa göz ardı edilebilir, gerekirse bunları manuel olarak kapatabilirim.

İşte EA'mın şu anda kullandığı şey

if(val1 > val2) {trade_text = " alım satım açık";trend_text = "UP";BV=1;break;}

if(val1 < val2) {trade_text = " ticaret açık SAT";trend_text = "DOWN";SV=1;break;}}

// uzman para yönetimi

if(MM){if(Risk100){Comment("Geçersiz Risk Değeri.");return(0);}

else{MML=MathFloor((AccountFreeMargin()*AccountLeverage()*Risk*Point*100)/(Ask*MarketInfo(Symbol(),MODE_LOTSIZE)*MarketInfo(Symbol(),MODE_MINLOT)))*MarketInfo(Symbol() ,MODE_MINLOT);}}

if(MM==yanlış){MML=Çok;}

// uzman başlangıç pozisyonları

int cnt=0,OP=0,OS=0,OB=0,CS=0,CB=0;OP=0;for(cnt=0;cnt<OrdersTotal();cnt++){OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES);

if((OrderType()==OP_SELL||OrderType()==OP_BUY)&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0))OP=OP+1; }

if(OP>=1){OS=0; OB=0;}OB=0;OS=0;CB=0;CS=0;

// pozisyon açmak için uzman koşulları

if(SV>0){OS=1;OB=0;}if(BV>0){OB=1;OS=0;}

// pozisyonu kapatmak için uzman koşulları

if((SV>0)||(RealSL_Enabled&&(OrderOpenPrice()-Bid)/Point>=RealSL)||(RealTP_Enabled&&(Ask-OrderOpenPrice())/Point>=RealTP)){CB=1;}

if((BV>0)||(RealSL_Enabled&&(Ask-OrderOpenPrice())/Point>=RealSL)||(RealTP_Enabled&&(OrderOpenPrice()-Bid)/Point>=RealTP)){CS=1;}

for(cnt=0;cnt<OrdersTotal();cnt++){OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);

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

{if(CB==1){OrderClose(OrderTicket(),OrderLots(),Bid,Slip,Aqua);temp = Bid;return(0);}}

if(OrderType()==OP_SELL&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0)){

if(CS==1){OrderClose(OrderTicket(),OrderLots(),Ask,Slip,Gold);temp = Bid;return(0);}}}double SLI=0,TPI=0;int TK=0 ;

// uzman açık pozisyon değeri

if((AddP()&&Add_Positions&&OP<=MaxOrders)||(OP==0&&!Add_Positions)){

if(OS==1){if(TP==0)TPI=0;else TPI=Teklif-TP*Point;if(SL==0)SLI=0;else SLI=Teklif+SL*Noktası;OS= 0;dönüş(0);}

if(OB==1){if(TP==0)TPI=0;else TPI=Ask+TP*Point;if(SL==0)SLI=0;else SLI=Ask-SL*Point;{TK =OrderSend(Symbol(),OP_BUY,MML,Ask,Slip,SLI,TPI,OrSt,Magic,0,Blue);OB=0;return(0);}}

for(j=0;j<OrdersTotal();j++){if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES)){if(OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic ==0)){TrP();}}}dönüş(0);}

// uzman sipariş sayısı

int CntO(int Tür,int Sihirli){int _CntO;_CntO=0;

for(int j=0;j<OrdersTotal();j++){OrderSelect(j,SELECT_BY_POS,MODE_TRADES);if(OrderSymbol()==Symbol()){if((OrderType()==Type&(OrderMagicNumber()) ==Büyü)||Büyü==0))_CntO++;}}dönüş(_CntO);}

// uzman başabaş

void TrP(){double pb,pa,pp;pp=MarketInfo(OrderSymbol(),MODE_POINT);if(OrderType()==OP_BUY){pb=MarketInfo(OrderSymbol(),MODE_BID);

if(BE>0){if((pb-OrderOpenPrice())>BE*pp){if((OrderStopLoss()-OrderOpenPrice())<0){ModSL(OrderOpenPrice()+0*pp);}} }

// uzman takip eden durdurma

if(TS>0){if((pb-OrderOpenPrice())>TS*pp){if(OrderStopLoss()<pb-(TS+TS_Step-1)*pp){ModSL(pb-TS*pp); dönüş;}}}}

if(OrderType()==OP_SELL){pa=MarketInfo(OrderSymbol(),MODE_ASK);if(BE>0){if((OrderOpenPrice()-pa)>BE*pp){if((OrderOpenPrice()-) OrderStopLoss())<0){ModSL(OrderOpenPrice()-0*pp);}}}

if(TS>0){if(OrderOpenPrice()-pa>TS*pp){if(OrderStopLoss()>pa+(TS+TS_Step-1)*pp||OrderStopLoss()==0){ModSL(pa+ TS*pp);dönüş;}}}}}

//uzman stoploss

void ModSL(double ldSL){bool fm;fm=OrderModify(OrderTicket(),OrderOpenPrice(),ldSL,OrderTakeProfit(),0,CLR_NONE);}

//uzman konum ekleme işlevi

bool AddP(){int _num=0; int _ot=0;

for (int j=0;j<OrdersTotal();j++){if(OrderSelect(j,SELECT_BY_POS)==true && OrderSymbol()==Symbol()&&OrderType()<3&&((OrderMagicNumber()==Magic) ||Büyü==0)){

_num++;if(OrderOpenTime()>_ot) _ot=OrderOpenTime();}}if(_num==0) return(true);if(_num>0 && ((Time[0]-_ot))>0) dönüş (doğru);başka bir dönüş(yanlış);}

 

/*

// pozisyonu kapatmak için uzman koşulları

if((SV>0)||(RealSL_Enabled&&(OrderOpenPrice()-Bid)/Point>=RealSL)||(RealTP_Enabled&&(Ask-OrderOpenPrice())/Point>=RealTP)){CB=1;}

if((BV>0)||(RealSL_Enabled&&(Ask-OrderOpenPrice())/Point>=RealSL)||(RealTP_Enabled&&(OrderOpenPrice()-Bid)/Point>=RealTP)){CS=1;}

for(cnt=0;cnt<OrdersTotal();cnt++){OrderSelect(cnt ,SELECT_BY_POS,MODE_TRADES);

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

{if(CB==1){OrderClose(OrderTicket(),OrderLots(),Bi d,Slip,Aqua);temp = Bid;return(0);}}

if(OrderType()==OP_SELL&&OrderSymbol()==Symbol()&& ((OrderMagicNumber()==Magic)||Magic==0)){

if(CS==1){OrderClose(OrderTicket(),OrderLots(),Ask ,Slip,Gold);temp = Bid;return(0);}}}double SLI=0,TPI=0;int TK=0 ;

*/

pozisyonu kapatmak için uzman koşullarının başlangıcında sadece /* ekleyin

ve sonunda

msn aboukalil ( at) hotmail.fr

 

Hızlı cevap için teşekkürler aboukalil, ama tam olarak anlamadım, eğer bunu düzenlersem, kapatma komutum olmayacak mı, mevcut işlemlerimi bırakacak, ancak EA'm açmak için kendi ticaretini asla kapatmayacak ters yön?

bu konuda biraz yardımcı olurmusun

 

Herkese selamlar.....

Genel göstergenin iCustoms'ta herhangi bir satır tabanlı tek arabellek göstergesini aramasına izin veren genel bir göstergeyi bilen veya bilen olup olmadığını merak ediyorum, böylece genel gösterge bir grafiğe eklendiğinde, çift renkli histogram olarak görüntülenecektir. renk değişimi iCustomed indy'nin eğimine dayanan çubuk göstergesi?

Her türlü yardım takdir edilmektedir.

 

Bayanlar ve baylar,

Bir göstergeyi csv dosyasına nasıl dönüştürebilirim? Teşekkürler.

 
biddick:
Bayanlar baylar, Bir indikatörü nasıl csv dosyasına çevirebilirim? Teşekkürler.

CSV dosyasına nasıl kaydedileceğini mi kastediyorsunuz?

Şuna göz at:

Araçlar - .csv okuyucu

 
 

lütfen bu küçük betiği değiştirmeye yardım edin

Merhaba,

Birisi lütfen bu küçük sipariş girişi komut dosyasını değiştirmeye yardımcı olabilir mi?

böylece işlem gören lot büyüklüğü, hesap boyutunun risk altındaki bir yüzdesinin bir fonksiyonudur .

bu kod satırının bir yere eklenmesi gerektiğini biliyorum ama nasıl programlanacağı hakkında hiçbir fikrim yok

çift Risk = RiskYüzdesi / 100;

if (UseMoneyMgmt)

Lot=NormalizeDouble(AccountBalance()*Risk/stoploss/(MarketInfo(Symbol(),MODE_TICKVALUE))),2);

şimdiden çok teşekkürler

Dosyalar:
 

bekleyen sipariş

merhaba!

bekleyen siparişleri nasıl yönetirim? (mt4 API ile)

programım TT_ORDER_PENDING_OPEN (ticaret türü) alındığında

ve pompalama bildiriminde bir PUMP_UPDATE_ACTIVATION alındı