Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Merhaba Tüccar.
Birisi bana yardım edebilir ve bu iki .ex4 dosyasındaki Göstergelerin ne olduğunu bilebilir mi?!
Saygılarımla, oink!
Merhaba Tüccar.
Birisi bana yardım edebilir ve bu iki .ex4 dosyasındaki Göstergelerin ne olduğunu bilebilir mi?!
Saygılarımla, oink!Uyarı sinyalleri, okları göstermek için yapılmış basit bir zikzaktır:
Teşekkürler mladen, adınızı yaklaşık 10000 Göstergeden biliyorum! ;-)
Sonra zikzak + ok göstergesi için google'a giderim.
Diğeri tanımsız mı?
Saygılarımla, oink!
Teşekkürler mladen, adınızı yaklaşık 10000 Göstergeden biliyorum! ;-)
Sonra zikzak + ok göstergesi için google'a giderim.
Diğeri tanımsız mı?
Saygılarımla, oink!Açıkçası diğerini tanıyamadım. Afedersiniz
Merhaba,
Bu ea'nın neden çalışmadığını anlamıyorum, tamamlama tamam, dergide veya uzman sekmesinde hiçbir şey yok, ancak herhangi bir ticaret yok.
Şimdiden teşekkürler.
Jo
harici int magicNum=200;
harici çift TakeProfit = 50;
dış çift Lot = 0,01;
harici çift TrailingStop = 30;
//harici çift MACDOpenLevel=3;
//harici çift MACDCCloseLevel=2;
harici çift MATrendPeriod=5;
int başlangıç()
{
çift MaCurrent,MaPrevious,MavPrevious;
çift kapat=iClose(Symbol(),0,0);
double vclose=iClose(Symbol(),0,1);
double vvclose=iClose(Symbol(),0,2);
// çift MacdCurrent, MacdPrevious, SignalCurrent;
// çift SignalPrevious, MaCurrent, MaPrevious;
// çift RSIj,RSIv;
int cnt, bilet, toplam;
// ilk veri kontrolleri
// uzmanın normal bir şekilde çalıştığından emin olmak önemlidir.
// grafik ve kullanıcı harici ayarlarda herhangi bir hata yapmadı
// değişkenler (Lots, StopLoss, TakeProfit,
// TrailingStop) bizim durumumuzda TakeProfit'i kontrol ediyoruz
// 100 çubuktan küçük bir grafikte
if(Çubuklar<100)
{
Print("100'den küçük barlar");
dönüş(0);
}
if(Kâr Al<10)
{
Print("Kar Al 10'dan az");
dönüş(0); // TakeProfit'i kontrol edin
}
// kodlamayı basitleştirmek ve erişimi hızlandırmak için
// veriler dahili değişkenlere konur
// MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
// MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
// SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
// SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_SMA,PRICE_CLOSE,0);
MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_SMA,PRICE_CLOSE,1);
MavPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_SMA,PRICE_CLOSE,2);
double PlusHaut =Yüksek;
double PlusBas =Düşük;
double TiersHaut =PlusBas +((PlusHaut-PlusBas)*0.66);
double TiersBas =PlusBas +((PlusHaut-PlusBas)*0.33);
// RSIj= iRSI(NULL,0,9,PRICE_CLOSE,0);
// RSIv= iRSI(NULL,0,9,PRICE_CLOSE,1);
toplam=SiparişToplam();
if(toplam<1)
{ // açık sipariş tanımlanmadı
if(AccountFreeMargin()<(1000*Lots))
{
Print("Paramız yok. Serbest Marj = ", AccountFreeMargin());
dönüş(0);
}
// uzun pozisyon (SATIN AL) olasılığını kontrol edin
Eğer
// (RSIv30)
(MaCurrent >MaÖnceki)
// && (Öncekivkapat || vkapat>vvkapat))
// (MacdCurrentSignalCurrent && MacdPrevious<SignalPrevious &&
// MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaÖnceki)
{
bilet=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"MA",magicNum,0,Green);
if(bilet>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SATIN AL emri açıldı : ",OrderOpenPrice());
}
else Print("SATIN AL emri açılırken hata oluştu : ",GetLastError());
dönüş(0);
}
// kısa pozisyon (SAT) olasılığını kontrol et
// if (RSIv>70 && RSIj<70)
if (MaCurrent <MaÖnceki)
// && (MaÖnceki>MavÖnceki) && (kapat<vkapat || vkapat<vvkapat))
// (MacdCurrent>0 && MacdCurrentSignalÖnceki &&
// MacdCurrent>(MACDOpenLevel*Point) && MaCurrent<MaÖnceki)
{
bilet=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"MA",magicNum,0,Red);
if(bilet>0)
{
if(OrderSelect(bilet,SELECT_BY_TICKET,MODE_TRADES)) Print(" SAT emri açıldı : ",OrderOpenPrice());
}
else Print("SATIŞ emrini açarken hata: ",GetLastError());
dönüş(0);
}
dönüş(0);
}
// pazara doğru girmek önemlidir,
// ama doğru çıkmak daha önemli...
for(cnt=0;cnt<toplam;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && // açık pozisyonu kontrol edin
OrderSymbol()==Symbol()) // sembolü kontrol edin
{
if(OrderType()==OP_BUY) // uzun pozisyon açıldı
{
// kapatılmalı mı?
// if(MacdCurrent>0 && MacdCurrentSignalÖnceki &&
// MacdCurrent>(MACDCloseLevel*Nokta))
// if (RSIv>70 && RSIj<70)
if (MaCurrent <MaÖnceki)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // konumu kapat
dönüş(0); // çıkış
}
// takip eden durdurmayı kontrol et
if(TrailingStop>0){
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Teklif Noktası*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
dönüş(0);
}
}
}
}
else // kısa pozisyona git
{
// kapatılmalı mı?
// if(MacdCurrentSignalCurrent &&
// MacdPrevious(MACDCloseLevel*Nokta))
Eğer
// (RSIv30)
(MaCurrent >MaÖnceki)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // konumu kapat
dönüş(0); // çıkış
}
// takip eden durdurmayı kontrol et
if(TrailingStop>0){
if((OrderOpenPrice()-Ask)>(Nokta*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
dönüş(0);
}
}
}
}
}
}
dönüş(0);
}
// son.
Merhaba,
Bu ea'nın neden çalışmadığını anlamıyorum, tamamlama tamam, dergide veya uzman sekmesinde hiçbir şey yok, ancak herhangi bir ticaret yok.
Şimdiden teşekkürler.
Jo
harici int magicNum=200;
harici çift TakeProfit = 50;
dış çift Lot = 0,01;
harici çift TrailingStop = 30;
//harici çift MACDOpenLevel=3;
//harici çift MACDCCloseLevel=2;
harici çift MATrendPeriod=5;
int başlangıç()
{
çift MaCurrent,MaPrevious,MavPrevious;
çift kapat=iClose(Symbol(),0,0);
double vclose=iClose(Symbol(),0,1);
double vvclose=iClose(Symbol(),0,2);
// çift MacdCurrent, MacdPrevious, SignalCurrent;
// çift SignalPrevious, MaCurrent, MaPrevious;
// çift RSIj,RSIv;
int cnt, bilet, toplam;
// ilk veri kontrolleri
// uzmanın normal bir şekilde çalıştığından emin olmak önemlidir.
// grafik ve kullanıcı harici ayarlarda herhangi bir hata yapmadı
// değişkenler (Lots, StopLoss, TakeProfit,
// TrailingStop) bizim durumumuzda TakeProfit'i kontrol ediyoruz
// 100 çubuktan küçük bir grafikte
if(Çubuklar<100)
{
Print("100'den küçük barlar");
dönüş(0);
}
if(Kâr Al<10)
{
Print("Kar Al 10'dan az");
dönüş(0); // TakeProfit'i kontrol edin
}
// kodlamayı basitleştirmek ve erişimi hızlandırmak için
// veriler dahili değişkenlere konur
// MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
// MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
// SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
// SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_SMA,PRICE_CLOSE,0);
MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_SMA,PRICE_CLOSE,1);
MavPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_SMA,PRICE_CLOSE,2);
double PlusHaut =Yüksek;
double PlusBas =Düşük;
double TiersHaut =PlusBas +((PlusHaut-PlusBas)*0.66);
double TiersBas =PlusBas +((PlusHaut-PlusBas)*0.33);
// RSIj= iRSI(NULL,0,9,PRICE_CLOSE,0);
// RSIv= iRSI(NULL,0,9,PRICE_CLOSE,1);
toplam=SiparişToplam();
if(toplam<1)
{ // açık sipariş tanımlanmadı
if(AccountFreeMargin()<(1000*Lots))
{
Print("Paramız yok. Serbest Marj = ", AccountFreeMargin());
dönüş(0);
}
// uzun pozisyon (SATIN AL) olasılığını kontrol edin
Eğer
// (RSIv30)
(MaCurrent >MaÖnceki)
// && (Öncekivkapat || vkapat>vvkapat))
// (MacdCurrentSignalCurrent && MacdPrevious<SignalPrevious &&
// MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaÖnceki)
{
bilet=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"MA",magicNum,0,Green);
if(bilet>0)
{
if(OrderSelect(bilet,SELECT_BY_TICKET,MODE_TRADES)) Print("SATIN AL emri açıldı : ",OrderOpenPrice());
}
else Print("SATIN AL emri açılırken hata oluştu : ",GetLastError());
dönüş(0);
}
// kısa pozisyon (SAT) olasılığını kontrol et
// if (RSIv>70 && RSIj<70)
if (MaCurrent <MaÖnceki)
// && (MaÖnceki>MavÖnceki) && (kapat<vkapat || vkapat<vvkapat))
// (MacdCurrent>0 && MacdCurrentSignalÖnceki &&
// MacdCurrent>(MACDOpenLevel*Point) && MaCurrent<MaÖnceki)
{
bilet=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"MA",magicNum,0,Red);
if(bilet>0)
{
if(OrderSelect(bilet,SELECT_BY_TICKET,MODE_TRADES)) Print("SAT emri açıldı : ",OrderOpenPrice());
}
else Print("SATIŞ emrini açarken hata: ",GetLastError());
dönüş(0);
}
dönüş(0);
}
// pazara doğru girmek önemlidir,
// ama doğru çıkmak daha önemli...
for(cnt=0;cnt<toplam;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && // açık pozisyonu kontrol edin
OrderSymbol()==Symbol()) // sembolü kontrol edin
{
if(OrderType()==OP_BUY) // uzun pozisyon açıldı
{
// kapatılmalı mı?
// if(MacdCurrent>0 && MacdCurrentSignalÖnceki &&
// MacdCurrent>(MACDCloseLevel*Nokta))
// if (RSIv>70 && RSIj<70)
if (MaCurrent <MaÖnceki)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // konumu kapat
dönüş(0); // çıkış
}
// takip eden durdurmayı kontrol et
if(TrailingStop>0){
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Teklif Noktası*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
dönüş(0);
}
}
}
}
else // kısa pozisyona git
{
// kapatılmalı mı?
// if(MacdCurrentSignalCurrent &&
// MacdPrevious(MACDCloseLevel*Nokta))
Eğer
// (RSIv30)
(MaCurrent >MaÖnceki)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // konumu kapat
dönüş(0); // çıkış
}
// takip eden durdurmayı kontrol et
if(TrailingStop>0){
if((OrderOpenPrice()-Ask)>(Nokta*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
dönüş(0);
}
}
}
}
}
}
dönüş(0);
}
// son.Sırt testlerimde çalışıyor:
merhaba mladen,
"LossValue" Değişkeni ile aynı değerde kâr emrimin kısmi satışını yapmak istiyorum.
Aşağıdaki adımlarda lot boyutunu hesaplamaya çalıştım:
-profitOrder'dan gerçek Kar'ı okuyun
-ProfitPerLotstep'i hesaplayın
-Lot-sonucunun yukarısındaki LossValue/ProfitPerLotstep am değerini hesaplayın
-Ama bunu lotize satarsam Kar Değeri çok küçük olur (Sanırım yayılmadan dolayı)
Doğru hesaplama yolu nedir?
İşte ek bir soru.
Kısmi bir Kapatma yaparsam, Pozisyonun geri kalanı Broker tarafından otomatik olarak açılır. Pozisyona, bu Pozisyonu değiştirmek için bir yorum vermeden önce. Şimdi nasıl tanıyabilirim?
İşte ek bir soru. Kısmi bir Kapatma yaparsam, Pozisyonun geri kalanı Broker tarafından otomatik olarak açılır. Pozisyona, bu Pozisyonu değiştirmek için bir yorum vermeden önce. Şimdi nasıl tanıyabilirim?
gün ışığı
Sen hiç bir şey yapamazsın
Bir emrin yorum alanını sadece komisyoncu değiştirebilir. Belki bir komisyoncu yorumu, nnnn'nin önceki bilet numarası olduğu "nnnn'den" gibi bir şey söyleme biçiminde değiştirir, ancak çoğu durumda değiştirmez, bu nedenle, aşağıdaki gibi durumlarda önceki siparişi benzersiz bir şekilde tanımlayabilecek hiçbir çözümle kalmazsınız. o
Teşekkürler mladen! 100 EUR gibi tanımlanmış bir değere göre lot boyutundan hesaplama yaparak daha önceki gönderime bir çözümünüz var mı?