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
Kod için teşekkürler Mladen ... Önceki mantıkta açıkladığınız gibi çift macd karşılaştırması ve 50 geçişi var mı? Şimdiden teşekkürler
makarna
Aradaki fark, kavak grafik versiyonunda ikincil giriş sinyalinin rsi ve sinyal hattının bir çaprazı olması iken metatrader versiyonunda ikincil sinyalin 50 hattının bir rsi çaprazı olmasıdır. Macd kısmı aynı (kapalı çubuk sinyalini almalısınız - kavak grafik versiyonunda bu şekilde yapılır)
bilgi için teşekkürler mladen ... 50 hat geçişi ve sinyal hattı geçişi seçmek için aynı göstergede seçeneği ayarlamak mümkün mü ...
Şimdiden teşekkürler
sulaimoney Bu prosedürlerde her şey yolunda. Bu iki prosedüre yapılan çağrılar birbiri ardına yürütüldüğünde her şeyin yolunda olduğunu gösteren basit bir gösterge eklemek. Hata bu iki prosedürde olmadığı için kodun geri kalanını kontrol edin.
Merhaba Mladen
Kodu kontrol ettim ve değiştirdiğim bazı hatalar buldum.
Şimdi değerini kullanmaya çalışıyorum
çift son siparişfiyatı = 0;
Ve
int bscount = 0;
Küresel bir kapsamdaki değişkenler olarak, örneğin void NewOrder()'dan çağrılabilecekleri şekilde her biri
//OnEveryTick
void LastBuySellOrder() // OnEveryTick'te son siparişi (al/sat) seçmek için tüm açık siparişler arasında döngü yapar
{
çift son siparişfiyatı = 0;
tarihsaat lastTime = 0;
tarihsaat kapanışSaat = 0;
int lastTicket = -1; // Hiçbiri açık değil.
for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == OrderId
&&( OrderType() == OP_BUY || OrderType() == OP_SEL )
&& OrderOpenTime() >= lastTime && OrderCloseTime() == closeTime
&& OrderTicket() > lastTicket )
{
lastTime = OrderOpenTime();
lastorderprice = OrderOpenPrice();
closeTime = OrderCloseTime();
lastTicket = OrderTicket();
}
dönüş(sonTicket);
}
başka
Print("OrderSelect() hatası - ", ErrorDescription(GetLastError()));
}
void PendingStopOrderCount()
{
int bscount = 0;
for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol())
if (OrderMagicNumber() == OrderId)
if (OrderType() == OP_BUYSTOP )
{
bscount++;
}
}
başka
{
Print("OrderSend() hatası - ", ErrorDescription(GetLastError()));
}
}
// OpBuy veya OpSell varsa
geçersiz NewOrder()
{
if (bscount==0)
{
BuyStopBeklemede();
}
}
SELAM
Bu gösterge yeniden boyayıcı mı? Evet ise ne zaman kaç bar geri gelir?
xps_v8_oscillator.ex4 xps_v8_oscillator.mq4
SELAM
Bu gösterge yeniden boyayıcı mı? Evet ise ne zaman kaç bar geri gelir?
xps_v8_oscillator.ex4 xps_v8_oscillator.mq4Tamam ama bunu çevrimdışı grafikte kullanıyorum M2 :S Yani normal Zaman Çerçevesi değil
Tamam ama bunu çevrimdışı grafikte kullanıyorum M2 :S Yani normal Zaman Çerçevesi değil
Deneyin ve kendiniz göreceksiniz (göstergeyi tüm çubukları yenilemeye zorlamak için otomatik yenileme gibi bir şey kullanın veya basitçe, yeterli sayıda yeni çubuk oluşturulduğunda parametreler öğesine gidin, hiçbir şeyi değiştirmeyin ve Tamam'ı tıklayın). Trendin ne yapacağını değiştirdiği dönemlere dikkat edin.
Güneş rüzgarları kodunda neyin yanlış olduğunu açıklamaya çalışmaktan ve herkesi ikna etmekten daha iyi
Dönemi değiştiremiyorum sadece kaynak kodunu görebiliyorum:
#özellik göstergesi_separate_window
#özellik göstergesi_minimum 0
#özellik göstergesi_maksimum 1
#özellik göstergesi_tamponları 3
#özellik göstergesi_renk2 C'72,49,255'
#özellik göstergesi_renk3 C'255,49,72'
#özellik göstergesi_width2 6
#özellik göstergesi_width3 6
int dönem;
harici bool alarmı=yanlış;
çift ExtBuffer0[];
çift ExtBuffer1[];
çift ExtBuffer2[];
çift uyarıBar;
çift son;
int init() {
//--------------------------------
geçiş ( Dönem() )
{
durum 1: dönem = 2880;ara;
durum 5: nokta = 576;ara;
durum 15: nokta = 192;ara;
durum 30: dönem = 96;ara;
durum 60: dönem = 48;ara;
durum 240: dönem = 48;ara;
durum 1440: dönem = 48;ara;
durum 10080: dönem = 48;ara;
varsayılan : dönem = 48; ara;
}
//--------------------------------
SetIndexStyle(0,DRAW_NONE);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexStyle(2,DRAW_HISTOGRAM);
GöstergeDigits(Rakam+1);
SetIndexBuffer(0,ExtBuffer0);
SetIndexBuffer(1,ExtBuffer1);
SetIndexBuffer(2,ExtBuffer2);
GöstergeShortName("");// X :-)");
SetIndexLabel(0, NULL);
SetIndexLabel(1, NULL);
SetIndexLabel(2, NULL);
dönüş(0);
}
int tanım()
{
//----
ObjectDelete("XPS");
ObjectDelete("XPS2");
ObjectDelete("XPS3");
//----
dönüş(0);
}
int start() {
int limiti;
int counted_bars=IndicatorCounted();
çift önceki, şimdiki, eski;
double Değer=0,Değer1=0,Değer2=0,Balık=0,Balık1=0,Balık2=0;
çift fiyat;
çift MinL=0;
çift MaksH=0;
if(counted_bars>0) counted_bars--;
limit=Barlar-sayılan_barlar;
for(int i=0; i<limit; i++)
{ MaksH = Yüksek;
MinL = Düşük[En Düşük(NULL,0,MODE_LOW,dönem,i)];
fiyat = (Yüksek+Düşük)/2;
Değer = 0,33*2*((fiyat-MinL)/(MaxH-MinL)-0,5) + 0,67*Değer1;
Değer=MathMin(MathMax(Değer;-0.999),0.999);
ExtBuffer0=0.5*MathLog((1+Değer)/(1-Değer))+0.5*Balık1;
Değer1=Değer;
Fish1=ExtBuffer0;
}
bool up = DOĞRU;
for(i=limit-2; i>=0; i--)
{
akım=ExtBuffer0;
önceki=ExtBuffer0;
if (((geçer))||(geçerli<0)) up= false;
if (((geçerli>0)&&(önceki0)) up= true;
if(!up) {
ExtBuffer2=1;
ExtBuffer1=0;
if (alarm && i==0 && last != 2 && ExtBuffer1 == 0 && Barlar>alertBar)
{
Alert("OSC... Olası Trend ",Period()," ",Symbol());
alertBar = Çubuklar;son = 2;
}
}
başka {
ExtBuffer1=1;
ExtBuffer2=0;
if (alarm && i==0 && last != 1 && ExtBuffer2 == 0 && Barlar>alertBar)
{
Alert("OSC... Olası Trend ",Period()," ",Symbol());
alertBar = Çubuklar;
son = 1;
}
}
}//Döngüyü Bitir
ObjectDelete("XPS");
ObjectCreate("XPS", OBJ_LABEL , 2, 0, 0);
ObjectSetText("XPS","!XPS v8", 28, "Arial Siyah", C'46,46,46');
ObjectSet("XPS", OBJPROP_CORNER, 2);
ObjectSet("XPS", OBJPROP_BACK, 0);
ObjectSet("XPS", OBJPROP_XDISTANCE, 6);
ObjectSet("XPS", OBJPROP_YDISTANCE, 8);
ObjectDelete("XPS2");
ObjectCreate("XPS2", OBJ_LABEL, 2, 0, 0);
ObjectSetText("XPS2","!XPS v8", 28, "Arial Siyah", Gümüş);
ObjectSet("XPS2", OBJPROP_CORNER, 2);
ObjectSet("XPS2", OBJPROP_BACK, 0);
ObjectSet("XPS2", OBJPROP_XDISTANCE, 4);
ObjectSet("XPS2", OBJPROP_YDISTANCE, 10);
ObjectDelete("XPS3");
ObjectCreate("XPS3", OBJ_LABEL, 2, 0, 0);
ObjectSetText("XPS3","BOSS gibi ticaret yap", 9, "Arial Siyah", Gümüş);
ObjectSet("XPS3", OBJPROP_CORNER, 2);
ObjectSet("XPS3", OBJPROP_BACK, 0);
ObjectSet("XPS3", OBJPROP_XDISTANCE, 7);
ObjectSet("XPS3", OBJPROP_YDISTANCE, 3);
dönüş(0);
}
Böyle?
Dönemi değiştiremiyorum sadece kaynak kodunu görebiliyorum:
#özellik göstergesi_separate_window
#özellik göstergesi_minimum 0
#özellik göstergesi_maksimum 1
#özellik göstergesi_tamponları 3
#özellik göstergesi_renk2 C'72,49,255'
#özellik göstergesi_renk3 C'255,49,72'
#özellik göstergesi_width2 6
#özellik göstergesi_width3 6
int dönem;
harici bool alarmı=yanlış;
çift ExtBuffer0[];
çift ExtBuffer1[];
çift ExtBuffer2[];
çift uyarıBar;
çift son;
int init() {
//--------------------------------
geçiş ( Dönem() )
{
durum 1: dönem = 2880;ara;
durum 5: nokta = 576;ara;
durum 15: nokta = 192;ara;
durum 30: dönem = 96;ara;
durum 60: dönem = 48;ara;
durum 240: dönem = 48;ara;
durum 1440: dönem = 48;ara;
durum 10080: dönem = 48;ara;
varsayılan : dönem = 48; ara;
}
//--------------------------------
SetIndexStyle(0,DRAW_NONE);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexStyle(2,DRAW_HISTOGRAM);
GöstergeDigits(Rakam+1);
SetIndexBuffer(0,ExtBuffer0);
SetIndexBuffer(1,ExtBuffer1);
SetIndexBuffer(2,ExtBuffer2);
GöstergeShortName("");// X :-)");
SetIndexLabel(0, NULL);
SetIndexLabel(1, NULL);
SetIndexLabel(2, NULL);
dönüş(0);
}
int tanım()
{
//----
ObjectDelete("XPS");
ObjectDelete("XPS2");
ObjectDelete("XPS3");
//----
dönüş(0);
}
int start() {
int limiti;
int counted_bars=IndicatorCounted();
çift önceki, şimdiki, eski;
double Değer=0,Değer1=0,Değer2=0,Balık=0,Balık1=0,Balık2=0;
çift fiyat;
çift MinL=0;
çift MaksH=0;
if(counted_bars>0) counted_bars--;
limit=Barlar-sayılan_barlar;
for(int i=0; i<limit; i++)
{ MaksH = Yüksek;
MinL = Düşük[En Düşük(NULL,0,MODE_LOW,dönem,i)];
fiyat = (Yüksek+Düşük)/2;
Değer = 0,33*2*((fiyat-MinL)/(MaxH-MinL)-0,5) + 0,67*Değer1;
Değer=MathMin(MathMax(Değer;-0.999),0.999);
ExtBuffer0=0.5*MathLog((1+Değer)/(1-Değer))+0.5*Balık1;
Değer1=Değer;
Fish1=ExtBuffer0;
}
bool up = DOĞRU;
for(i=limit-2; i>=0; i--)
{
akım=ExtBuffer0;
önceki=ExtBuffer0;
if (((geçer))||(geçerli<0)) up= false;
if (((geçerli>0)&&(önceki0)) up= true;
if(!up) {
ExtBuffer2=1;
ExtBuffer1=0;
if (alarm && i==0 && last != 2 && ExtBuffer1 == 0 && Barlar>alertBar)
{
Alert("OSC... Olası Trend ",Period()," ",Symbol());
alertBar = Çubuklar;son = 2;
}
}
başka {
ExtBuffer1=1;
ExtBuffer2=0;
if (alarm && i==0 && last != 1 && ExtBuffer2 == 0 && Barlar>alertBar)
{
Alert("OSC... Olası Trend ",Period()," ",Symbol());
alertBar = Çubuklar;
son = 1;
}
}
}//Döngüyü Bitir
ObjectDelete("XPS");
ObjectCreate("XPS", OBJ_LABEL, 2, 0, 0);
ObjectSetText("XPS","!XPS v8", 28, "Arial Siyah", C'46,46,46');
ObjectSet("XPS", OBJPROP_CORNER, 2);
ObjectSet("XPS", OBJPROP_BACK, 0);
ObjectSet("XPS", OBJPROP_XDISTANCE, 6);
ObjectSet("XPS", OBJPROP_YDISTANCE, 8);
ObjectDelete("XPS2");
ObjectCreate("XPS2", OBJ_LABEL, 2, 0, 0);
ObjectSetText("XPS2","!XPS v8", 28, "Arial Siyah", Gümüş);
ObjectSet("XPS2", OBJPROP_CORNER, 2);
ObjectSet("XPS2", OBJPROP_BACK, 0);
ObjectSet("XPS2", OBJPROP_XDISTANCE, 4);
ObjectSet("XPS2", OBJPROP_YDISTANCE, 10);
ObjectDelete("XPS3");
ObjectCreate("XPS3", OBJ_LABEL, 2, 0, 0);
ObjectSetText("XPS3","BOSS gibi ticaret yap", 9, "Arial Siyah", Gümüş);
ObjectSet("XPS3", OBJPROP_CORNER, 2);
ObjectSet("XPS3", OBJPROP_BACK, 0);
ObjectSet("XPS3", OBJPROP_XDISTANCE, 7);
ObjectSet("XPS3", OBJPROP_YDISTANCE, 3);
dönüş(0);
}
Böyle?Standart bir zaman çerçevesi olmayan herhangi bir zaman dilimi için 48. periyodu uyguluyor ("2 dakika" çevrimdışı çizelgeleri gibi)
Güneş rüzgarlarının hesaplama süresini değiştirebileceğiniz versiyonları için şu konuya bakın: https://www.mql5.com/en/forum/179650
Selamlar gurular, Lütfen bu betiği düzenlememe yardım edin ve SADECE sipariş, parti büyüklüğü, alım/satım bırakın. Zaten otomatik olarak kar/zararı durduran ve böylece bu indy ile çelişen bir EA'ya sahibim.
Bu komut dosyası, MENU'de belirttiğiniz herhangi bir sayıda piyasa emrini otomatik olarak bir kerede açar ancak şu anda 5 emir girseniz bile sadece bir emir açmaktadır. Lütfen bu HATA'yı düzeltmeme yardım et ve SİL, SCRIPT'ten tamamen kar/zararı al
Seni korusun