Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Basit :
EA'nızın start() prosedürünün başına böyle bir şey koyun ve o gün halihazırda yapılmış olan kayıp (veya kâr) bir miktar miktarı aşıyorsa, çalışmasını engelleyecektir:
for (int i =OrdersHistoryTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue;
if (OrderSymbol() != Symbol()) continue;
if (OrderMagicNumber() != someMagicNumber) continue;
if (iBarShift(Symbol(),PERIOD_D1,OrderCloseTime())==0)
if (OrderType()==OP_BUY || OrderType()==OP_SELL)
totalProfit += OrderProfit()+OrderCommission()+OrderSwap();
}
if (totalProfit < someProfitLossLimit) return(0);
[/PHP]Sayın MLADEN....
Yukarıdaki kodlar için ÇOK TEŞEKKÜRLER.... IOU 2 kredi.....
[PHP]
çift toplamKar=0;
for (int i =OrdersHistoryTotal()-1; i>=0; i--)
{
(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) devam ederse;
(OrderSymbol() == Symbol()) devam ederse;
(OrderMagicNumber() == bazıMagicNumber) devam ederse;
if (iBarShift(Symbol(),PERIOD_D1,OrderCloseTime())==0)
if (OrderType()==OP_BUY || OrderType()==OP_SELL)
totalProfit += OrderProfit()+OrderCommission()+OrderSwap();
}
if (toplamKar < bir miktarKarKayıpLimit) return(0);
Sadece kontrol etmek için..... bu kod, belirli bir döviz çiftinden ve MagicNumber'dan daha fazla siparişi önleyecek mi....
çok hızlı cevap için teşekkürler....
saygılarımla
AZRUL...
Sayın MLADEN....
Yukarıdaki kodlar için ÇOK TEŞEKKÜRLER.... IOU 2 kredi.....
double totalProfit=0;
for (int i =OrdersHistoryTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
if (OrderSymbol() == Symbol()) continue;
if (OrderMagicNumber() == someMagicNumber) continue;
if (iBarShift(Symbol(),PERIOD_D1,OrderCloseTime())==0)
if (OrderType()==OP_BUY || OrderType()==OP_SELL)
totalProfit += OrderProfit()+OrderCommission()+OrderSwap();
}
if (totalProfit < someProfitLossLimit) return(0);
[/PHP]
Just to check..... will this code prevent any more orders from a specific currency pair and MagicNumber.... if today's ACCUMULATED LOSS exceed someProfitLossLimit....
Thanks for the very-very fast reply....
best regrads
AZRUL...Evet
Kapanan siparişlerin birikmiş karı bir miktardan azsa, daha fazla kod işlemeyi önleyecektir. Son satırı bununla değiştirebilirsiniz:
[PHP]if (toplamKar < 0 && toplamKar < bazıKarKayıpSınır) return(0);Sadece kümülatif "karın" negatif olduğu durumlarda (zararlar olduğunda) yapıldığından emin olmak için
Evet
Kapanan siparişlerin birikmiş karı bir miktardan azsa, daha fazla kod işlemeyi önleyecektir. Son satırı bununla değiştirebilirsiniz:
Sayın MLADEN...
O halde kusura bakmayın efendim... Sanırım sizin için yeterince açıklayamadım.....
Amacım, yalnızca belirli bir döviz çifti ve MagicNumber için TOPLANAN ZARAR üzerindeki sekmeleri tutmak için bir kod... Kazandığı kâr dahil değil... SADECE KAYIP sayılır...
KARIŞIKLIK İÇİN ÖZÜR DİLERİM..
Saygılarımla..
AZRUL...
Sayın MLADEN...
O halde kusura bakmayın efendim... Sanırım sizin için yeterince açıklayamadım.....
Amacım, yalnızca belirli bir döviz çifti ve MagicNumber için TOPLANAN ZARAR üzerindeki sekmeleri tutmak için bir kod... Kazandığı kâr dahil değil... SADECE KAYIP sayılır...
KARIŞIKLIK İÇİN ÖZÜR DİLERİM..
Saygılarımla..
AZRUL...AZRUL
Kâr negatif olabilir (==zarar) Kapalı diğer tüccarlar listesinde, "kârı" koruyan Order() kârı adında bir dosya vardır: kazanan emirler için pozitif ve alım satımlar için negatif. Bu kod barışı tam olarak ihtiyacınız olanı yapar
Sayın MLADEN,
Teori şudur.... eğer bugün bir SIDEWAY piyasası olursa, elde edilen kârın (varsa) bir kısmını ve sermayemdeki X$ RİSK'i kaybederim.... Bu bir koruma değil çok KÖTÜ bir ticaret gününe karşı .....
Bunun nedeni, bugünün ticaretinden günlük X$'dan RİSK almaya istekli olmamdır....
Yukarıdaki kodlar o gün için (varsa) tüm kârımı ve ayrıca RİSK'imi (sermaye) tüketecek...
TEŞEKKÜRLER
Saygılarımla...
AZRUL...
AZRUL Kar negatif olabilir (==zarar) Kapalı diğer tüccarlar listesinde, "kârı" koruyan Order() kârı adında bir dosya vardır: kazanan emirler için pozitif ve alım satımlar için negatif. Bu kod barışı tam olarak ihtiyacınız olanı yapar
Sayın MLADEN...
Yukarıdaki öneri konusunda beni aydınlattığın için teşekkürler...
Deneyeceğim ve herhangi bir sonuç arayacağım....
saygılarımla
AZRUL...
Sayın MLADEN,
Aşağıdaki kodlar hile yapacak mı ...
Yalnızca belirli bir döviz çifti ve MagicNumber için TOPLANAN ZARAR üzerinde sekmeler tutmak.... Kazandığı kâr dahil değil... SADECE KAYIP sayılır...
extern double LossAmount = -500.00
...............
int start()
if(LossRisk()<=LossAmount)
return(0);
...............
void LossRisk()
double totalLoss=0;
{
for (int i =OrdersHistoryTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
if (OrderSymbol() == Symbol()) continue;
if (OrderMagicNumber() == someMagicNumber) continue;
if (iBarShift(Symbol(),PERIOD_D1,OrderCloseTime())==0)
if (OrderType()==OP_BUY || OrderType()==OP_SELL)
totalLoss -= OrderProfit()+OrderCommission()+OrderSwap();
}
return(totalLoss);
}
Bilgileriniz çok değerli...
saygılarımla
AZRUL...
Sayın MLADEN,
Aşağıdaki kodlar hile yapacak mı ...
Yalnızca belirli bir döviz çifti ve MagicNumber için TOPLANAN ZARAR üzerinde sekmeler tutmak.... Kazandığı kâr dahil değil... SADECE KAYIP sayılır...
extern double LossAmount = -500.00
...............
int start()
if(LossRisk()<=LossAmount)
return(0);
...............
void LossRisk()
double totalLoss=0;
{
for (int i =OrdersHistoryTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
if (OrderSymbol() == Symbol()) continue;
if (OrderMagicNumber() == someMagicNumber) continue;
if (iBarShift(Symbol(),PERIOD_D1,OrderCloseTime())==0)
if (OrderType()==OP_BUY || OrderType()==OP_SELL)
totalLoss -= OrderProfit()+OrderCommission()+OrderSwap();
}
return(totalLoss);
}
[/PHP]
Your Knowledge is highly appreciated...
yours truly
AZRUL....hayır olmayacak
Toplamak istiyorsanız, sadece kaybedersiniz, eklemeniz gerekir.
&& (OrderProfit ()+ OrderCommission ()+ OrderSwap ()<0 )
Böylece fonksiyon şöyle görünecek:
[PHP]void LossRisk()
çift toplamKayıp=0;
{
for (int i =OrdersHistoryTotal()-1; i>=0; i--)
{
(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) devam ederse;
(OrderSymbol() == Symbol()) devam ederse;
(OrderMagicNumber() == bazıMagicNumber) devam ederse;
if (iBarShift(Symbol(),PERIOD_D1,OrderCloseTime())==0)
if (OrderType()==OP_BUY || OrderType()==OP_SELL && (OrderProfit()+OrderCommission()+OrderSwap())<0)
totalLoss += OrderProfit()+OrderCommission()+OrderSwap();
}
dönüş(toplamKayıp);
}
Sayın MLADEN....
Şu anda bu kodları bir M15 zaman diliminde çalışan EA'mda kullanıyorum ...
M15 zaman diliminden sonra yeni bir sipariş açacak...
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) || Magic==0))
{
_num++;if(OrderOpenTime()>_ot) _ot=OrderOpenTime();
}
}
if(_num==0) return(true);
if(_num>0 && ((Time[0]-_ot))>0)
return(true);
else return(false);
}
Önceki siparişten sonraki her 5 dakikada bir sipariş vermek için bu kodu değiştirebilir misiniz?
M15 zaman diliminde olmama rağmen ....
BU KADAR ÇOK SORU GÖNDEREREK GÜÇLENMEYECEĞİNİZİ umarsınız....
saygılarımla
AZRUL...
hayır olmayacak
Toplamak istiyorsanız, sadece kaybedersiniz, eklemeniz gerekir.
&& (OrderProfit ()+ OrderCommission ()+ OrderSwap ()<0 )
Böylece fonksiyon şöyle görünecek:
double totalLoss=0;
{
for (int i =OrdersHistoryTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
if (OrderSymbol() == Symbol()) continue;
if (OrderMagicNumber() == someMagicNumber) continue;
if (iBarShift(Symbol(),PERIOD_D1,OrderCloseTime())==0)
if (OrderType()==OP_BUY || OrderType()==OP_SELL && (OrderProfit()+OrderCommission()+OrderSwap())<0)
totalLoss += OrderProfit()+OrderCommission()+OrderSwap();
}
return(totalLoss);
}
Sayın MLADEN,
Burada işleri halletmenin yollarını biliyorsun...
Sizden cevap aldığıma ÇOK ÇOK MUTLUYUM efendim....
Karşılığında yapabileceğim bir şey varsa pm at... kodlamalar dışında...
teşekkürler
Saygılarımla
AZRUL...