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
Herkese merhaba,
Bu aptalca bir kodlama sorusu ve daha önce bir yerde gördüğümü biliyorum ama yardıma ihtiyacım var.
Özel bir gösterge kodluyorum ve tek yapmak istediğim mevcut teklif fiyatını YALNIZCA YENİ bir çubuğun BAŞLANGIÇINDA okumak. Sadece Open[0] kullanamam çünkü her yeni onay işareti geldiğinde mevcut çubuğun açık değerini döndürmeye devam edecek. Yeni bir çubuk oluşana kadar değerin yalnızca bir kez döndürülmesini istiyorum.
Burada oldukça basit bir şeyi kaçırdığımı biliyorum, ancak bunu anlamakta biraz zorlanıyorum. Birisi bana yardım edebilir mi?
Teşekkürler,
-kurt
Herkese merhaba,
Bu aptalca bir kodlama sorusu ve daha önce bir yerde gördüğümü biliyorum ama yardıma ihtiyacım var.
Özel bir gösterge kodluyorum ve tek yapmak istediğim mevcut teklif fiyatını YALNIZCA YENİ bir çubuğun BAŞLANGIÇINDA okumak. Sadece Open[0] kullanamam çünkü her yeni onay işareti geldiğinde mevcut çubuğun açık değerini döndürmeye devam edecek. Yeni bir çubuk oluşana kadar değerin yalnızca bir kez döndürülmesini istiyorum.
Burada oldukça basit bir şeyi kaçırdığımı biliyorum, ancak bunu anlamakta biraz zorlanıyorum. Birisi bana yardım edebilir mi?
Teşekkürler,
-kurtSadece mevcut çubuk zamanını kaydedin (Zaman[0]) - bu değer değiştiğinde, yeni bir çubuğunuz olur, bu yüzden fiyatınızı alın, yeni değeri kaydedin ve tekrarlayın...
Sadece mevcut çubuk zamanını kaydedin (Zaman[0]) - bu değer değiştiğinde, yeni bir çubuğunuz olur, bu yüzden fiyatınızı alın, yeni değeri kaydedin ve tekrarlayın...
teşekkürler omlet,
Bunu düşünmeliydim, kendimi biraz hayal kırıklığına uğrattım!
Yardım için teşekkürler!
Başka biri bana bu kodda neyi yanlış yaptığımı gösterebilir mi?
Günlük zaman dilimi gibi daha fazla zaman dilimi eklemek istiyorum, ama neyin yanlış olduğunu bilmiyorum
//| #MTF_Hi_Low_Middle.mq4
//| Darkkiller tarafından spudfibo.Upgrade'den taban
//: Bazı düzeltmeler yapmama yardım ettiği için Mladen'e teşekkürler
//+------------------------------------------- -------------------+
#özellik göstergesi_chart_window
extern string note1 = "H4 Daha Yüksek,Orta,Düşük renkler";
dış renk H4HigherColor = DeepSkyBlue;
dış renk H4MiddleColor = Sarı;
dış renk H4LowerColor = HotPink;
extern string note2 = "H4'ü Daha Yüksek, Aşağı ve Orta Çizilsin mi?";
extern bool H4HiLow = doğru;
extern bool H4Mid = doğru;
extern string note3 = "D1 Daha Yüksek,Orta,Düşük renkler";
dış renk D1HigherColor = DeepSkyBlue;
dış renk D1MiddleColor = Sarı;
dış renk D1LowerColor = HotPink;
extern string note4 = "D1'i Yukarı, Aşağı ve Ortadan Çizin mi?";
extern bool D1HiLow = doğru;
extern bool D1Mid = doğru;
double HiPrice, LoPrice, Range, D1HiPrice, D1LoPrice, D1Range;
tarihsaat Başlangıç Saati;
int init()
{
dönüş(0);
}
int tanım()
{
ObjectDelete("H4Yüksek");
ObjectDelete("H4Lower");
ObjectDelete("H4Middle");
ObjectDelete("D1Yüksek");
ObjectDelete("D1Alt");
ObjectDelete("D1Orta");
dönüş(0);
}
//+------------------------------------------- -------------------+
//| Fibo çiz
//+------------------------------------------- -------------------+
int DrawFibo()
{
//////////////////////////////////////HILO/////
eğer(H4HiDüşük)
{
if(ObjectFind("H4Yüksek") == -1)
ObjectCreate("H4Higher", OBJ_FIBO, 0, StartTime, HiPrice+Range, StartTime, HiPrice);
başka
{
ObjectSet("H4Higher",OBJPROP_TIME2, StartTime);
ObjectSet("H4Higher",OBJPROP_TIME1, StartTime);
ObjectSet("H4Yüksek",OBJPROP_PRICE1,HiPrice+Range);
ObjectSet("H4Yüksek",OBJPROP_PRICE2,HiFiyat);
}
ObjectSet("H4Higher", OBJPROP_LEVELCOLOR, H4HigherColor);
ObjectSet("H4Yüksek", OBJPROP_FIBOLEVELS,1);
ObjectSet("H4Yüksek", OBJPROP_FIRSTLEVEL+0,0.0); ObjectSetFiboDescription("H4Yüksek", 0, "H4 YÜKSEK- %$");
ObjectSet("H4Yüksek", OBJPROP_RAY,doğru);
ObjectSet("H4Yüksek", OBJPROP_BACK,true);
ObjectSet("H4Yüksek", OBJPROP_COLOR,BOŞ);
if(ObjectFind("H4Lower") == -1)
ObjectCreate("H4Lower", OBJ_FIBO, 0, StartTime, LoPrice-Range, StartTime, LoPrice);
başka
{
ObjectSet("H4Lower", OBJPROP_TIME2, StartTime);
ObjectSet("H4Lower", OBJPROP_TIME1, StartTime);
ObjectSet("H4Lower", OBJPROP_PRICE1,LoPrice-Range);
ObjectSet("H4Düşük", OBJPROP_PRICE2,LoPrice);
}
ObjectSet("H4Lower", OBJPROP_LEVELCOLOR, H4LowerColor);
ObjectSet("H4Lower", OBJPROP_FIBOLEVELS, 1);
ObjectSet("H4Lower", OBJPROP_FIRSTLEVEL+0,0.0); ObjectSetFiboDescription("H4Lower", 0, "H4 LOWER - %$");
ObjectSet("H4Lower", OBJPROP_RAY, true);
ObjectSet("H4Lower", OBJPROP_BACK, true);
ObjectSet("H4Lower", OBJPROP_COLOR, BOŞ);
}
eğer(D1HiDüşük)
{
if(ObjectFind("D1Yüksek") == -1)
ObjectCreate("D1Yüksek", OBJ_FIBO, 0, D1StartTime, D1HiPrice+D1Range, D1StartTime, D1HiPrice);
başka
{
ObjectSet("D1Yüksek", OBJPROP_TIME2, D1StartTime);
ObjectSet("D1Yüksek", OBJPROP_TIME1, D1StartTime);
ObjectSet("D1Yüksek", OBJPROP_PRICE1, D1HiPrice+D1Range);
ObjectSet("D1Yüksek", OBJPROP_PRICE2, D1HiPrice);
}
ObjectSet("D1Higher", OBJPROP_LEVELCOLOR, D1HigherColor);
ObjectSet("D1Yüksek", OBJPROP_FIBOLEVELS,1);
ObjectSet("D1Yüksek", OBJPROP_FIRSTLEVEL+0,0.0); ObjectSetFiboDescription("D1Yüksek", 0, "H4 YÜKSEK- %$");
ObjectSet("D1Yüksek", OBJPROP_RAY, doğru);
ObjectSet("D1Yüksek", OBJPROP_BACK, true);
ObjectSet("D1Yüksek", OBJPROP_COLOR, BOŞ);
if(ObjectFind("D1Alt") == -1)
ObjectCreate("D1Lower", OBJ_FIBO, 0, D1StartTime, D1LoPrice-D1Range, D1StartTime, 1LoPrice);
başka
{
ObjectSet("D1Lower", OBJPROP_TIME2, D1StartTime);
ObjectSet("D1Lower", OBJPROP_TIME1, D1StartTime);
ObjectSet("D1Lower", OBJPROP_PRICE1, D1LoPrice-D1Range);
ObjectSet("D1Lower", OBJPROP_PRICE2, D1LoPrice);
}
ObjectSet("D1Lower", OBJPROP_LEVELCOLOR, D1LowerColor);
ObjectSet("D1Alt", OBJPROP_FIBOLEVELS,1);
ObjectSet("D1Alt", OBJPROP_FIRSTLEVEL+0,0.0); ObjectSetFiboDescription("D1Düşük", 0, "H4 ALT - %$");
ObjectSet("D1Lower", OBJPROP_RAY, true);
ObjectSet("D1Lower", OBJPROP_BACK, true);
ObjectSet("D1Lower", OBJPROP_COLOR, BOŞ);
}
////////////////////////////////////HILO////////
/////////////////////////////////////////ORTA////
eğer(H4Orta)
if(ObjectFind("H4Middle") == -1)
ObjectCreate("H4Middle", OBJ_FIBO, 0, StartTime, HiPrice, StartTime+PERIOD_H4*60, LoPrice);
başka
{
ObjectSet("H4Middle", OBJPROP_TIME2, StartTime);
ObjectSet("H4Middle", OBJPROP_TIME1, StartTime+PERIOD_H4*60);
ObjectSet("H4Middle", OBJPROP_PRICE1, HiPrice);
ObjectSet("H4Middle", OBJPROP_PRICE2, LoPrice);
}
ObjectSet("H4Middle", OBJPROP_LEVELCOLOR, H4MiddleColor);
ObjectSet("H4Middle", OBJPROP_FIBOLEVELS,1);
ObjectSet("H4Middle", OBJPROP_FIRSTLEVEL+0,0.500); ObjectSetFiboDescription("H4Middle", 0, "H4 ORTA - %$");
ObjectSet("H4Middle", OBJPROP_RAY, doğru);
ObjectSet("H4Middle", OBJPROP_BACK, true);
ObjectSet("H4Middle", OBJPROP_COLOR, BOŞ);
}
eğer(D1Orta)
if(ObjectFind("D1Orta") == -1)
ObjectCreate("D1Orta", OBJ_FIBO, 0, D1StartTime, D1HiPrice, D1StartTime+PERIOD_D1*60, D1LoPrice);
başka
{
ObjectSet("D1Orta", OBJPROP_TIME2, D1StartTime);
ObjectSet("D1Orta", OBJPROP_TIME1, D1StartTime+PERIOD_D1*60);
ObjectSet("D1Orta", OBJPROP_PRICE1, D1HiPrice);
ObjectSet("D1Orta", OBJPROP_PRICE2, D1LoPrice);
}
ObjectSet("D1Middle", OBJPROP_LEVELCOLOR, D1MiddleColor);
ObjectSet("D1Orta", OBJPROP_FIBOLEVELS,1);
ObjectSet("D1Orta", OBJPROP_FIRSTLEVEL+0,0.500); ObjectSetFiboDescription("D1Orta", 0, "D1 ORTA - %$");
ObjectSet("D1Orta", OBJPROP_RAY, doğru);
ObjectSet("D1Orta", OBJPROP_BACK, doğru);
ObjectSet("D1Orta", OBJPROP_COLOR, BOŞ);
}
/////////////////////////////////////////ORTA////
//+------------------------------------------- +
//| Gösterge başlatma işlevi
//+------------------------------------------- +
int başlangıç()
{
int shift = iBarShift(NULL, PERIOD_D1, Zaman[0]) + 1; // H4
HiPrice = iYüksek(BOŞ, PERIOD_H4, vardiya);
LoPrice = iLow (BOŞ, PERIOD_H4, vardiya);
StartTime = iTime(NULL, PERIOD_H4, shift);
D1HiPrice = iHigh(NULL, PERIOD_D1, shift);
D1LoPrice = iLow (BOŞ, PERIOD_D1, vardiya);
D1StartTime = iTime(BOŞ, PERIOD_D1, vardiya);
if(TimeDayOfWeek(StartTime) == 0/*Pazar*/)
{//Cuma günlerini en yüksek ve en düşük olarak ekleyin
HiPrice = MathMax(HiPrice, iHigh(NULL,PERIOD_H4, shift+1));
LoPrice = MathMin(LoPrice, iLow(NULL,PERIOD_H4, shift+1));
D1HiPrice = MathMax(D1HiPrice, iHigh(NULL, PERIOD_D1, shift+1));
D1LoPrice = MathMin(D1LoPrice, iLow(NULL, PERIOD_D1, shift+1));
}
Aralık = YüksekFiyat - LoPrice;
D1Range = D1HiPrice - D1LoPrice;
DrawFibo();
dönüş(0);
}
//+------------------------------+
Bunun altında, H4 yüksek düşük orta için orijinali ekliyorum
Biraz yardım istiyorum lütfen delta-stop'u stop loss olarak kullanmaya çalışıyorum
ve takip eden durdurma. EA ektedir.
Bunu yapmak mümkün mü?
//+------------------------------------------------------------------+
//| Avery T. Horton, Jr. aka TheRumpledOne TARAFINDAN DEĞİŞTİRİLDİ |
//| |
//| |
//|
//
// google araması "therumpledone mt4"
//
//+------------------------------------------- -------------------+
//| _Fibo_Hi_Low_Middle.mq4
//| Darkkiller tarafından spudfibo.Upgrade'den taban
//: Bazı düzeltmeler yapmama yardım ettiği için Mladen'e teşekkürler
//+------------------------------------------- -------------------+
#özellik göstergesi_chart_window
extern int myChartPeriod = 0 ;
extern string note1 = "Yüksek,Orta,Düşük renkler";
dış renk HigherColor = DeepSkyBlue;
dış renk MiddleColor = Sarı;
dış renk LowerColor = HotPink;
extern string note2 = "Orta çizilsin mi?";
extern bool HiLow = true;
extern bool Orta = doğru;
çift HiPrice, LoPrice, Aralık;
tarihsaat Başlangıç Saati;
string tChartPeriod, tHigher, tLower, tMiddle ;
int init()
{
if(myChartPeriod == 0) { myChartPeriod = Dönem() ; }
tChartPeriod = TimeFrameToString(myChartPeriod) ;
tYüksek = tChartPeriod + "H";
tDüşük = tChartPeriod + "L" ;
tOrta = tChartPeriod + "M" ;
dönüş(0);
}
int tanım()
{
ObjectDelete(tYüksek);
ObjectDelete(tLower);
ObjectDelete(tOrta);
dönüş(0);
}
//+------------------------------------------- -------------------+
//| Fibo çiz
//+------------------------------------------- -------------------+
int DrawFibo()
{
eğer (HiDüşük)
{
if(ObjectFind(tYüksek) == -1)
ObjectCreate(tHigher,OBJ_FIBO,0,StartTime,HiPrice+Range,StartTime,HiPrice);
başka
{
ObjectSet(tHigher,OBJPROP_TIME2, StartTime);
ObjectSet(tHigher,OBJPROP_TIME1, StartTime);
ObjectSet(tYüksek,OBJPROP_PRICE1,HiPrice+Range);
ObjectSet(tYüksek,OBJPROP_PRICE2,HiPrice);
}
ObjectSet(tHigher,OBJPROP_LEVELCOLOR,HigherColor);
ObjectSet(tYüksek,OBJPROP_FIBOLEVELS,1);
ObjectSet(tYüksek,OBJPROP_FIRSTLEVEL+0,0.0);
ObjectSetFiboDescription(tHigher,0,tChartPeriod+" HIGHER- %$");
ObjectSet(tHigher,OBJPROP_RAY,true);
ObjectSet(tHigher,OBJPROP_BACK,true);
ObjectSet(tYüksek,OBJPROP_COLOR,BOŞ);
if(ObjectFind(tLower) == -1)
ObjectCreate(tLower,OBJ_FIBO,0,StartTime,LoPrice-Range,StartTime,LoPrice);
başka
{
ObjectSet(tLower,OBJPROP_TIME2, StartTime);
ObjectSet(tLower,OBJPROP_TIME1, StartTime);
ObjectSet(tLower,OBJPROP_PRICE1,LoPrice-Range);
ObjectSet(tLower,OBJPROP_PRICE2,LoPrice);
}
ObjectSet(tLower,OBJPROP_LEVELCOLOR,LowerColor);
ObjectSet(tLower,OBJPROP_FIBOLEVELS,1);
ObjectSet(tLower,OBJPROP_FIRSTLEVEL+0,0.0);
ObjectSetFiboDescription(tLower,0,tChartPeriod+" LOWER - %$");
ObjectSet(tLower,OBJPROP_RAY,true);
ObjectSet(tLower,OBJPROP_BACK,true);
ObjectSet(tLower,OBJPROP_COLOR,BOŞ);
}
/////////////////////////////////////////ORTA//////// /////////////////
if(Orta)
if(ObjectFind(tMiddle) == -1)
ObjectCreate(tMiddle,OBJ_FIBO,0,StartTime,HiPrice,StartTime+myChartPeriod*60,LoPrice);
başka
{
ObjectSet(tMiddle,OBJPROP_TIME2, StartTime);
ObjectSet(tMiddle,OBJPROP_TIME1, StartTime+myChartPeriod*60);
ObjectSet(tMiddle,OBJPROP_PRICE1,HiPrice);
ObjectSet(tMiddle,OBJPROP_PRICE2,LoPrice);
}
ObjectSet(tMiddle,OBJPROP_LEVELCOLOR,MiddleColor);
ObjectSet(tMiddle,OBJPROP_FIBOLEVELS,1);
ObjectSet(tMiddle,OBJPROP_FIRSTLEVEL+0,0.500);
ObjectSetFiboDescription(tMiddle,0,tChartPeriod+" ORTA - %$");
ObjectSet(tMiddle,OBJPROP_RAY,true);
ObjectSet(tMiddle,OBJPROP_BACK,true);
ObjectSet(tOrta,OBJPROP_COLOR,BOŞ);
}
//+------------------------------------------- -------------------+
//| Gösterge başlatma işlevi
//+------------------------------------------- -------------------+
int başlangıç()
{
int shift = iBarShift(NULL,myChartPeriod,Time[0]) + 1; //
HiPrice = iHigh(NULL,myChartPeriod,shift);
LoPrice = iLow (NULL,myChartPeriod,shift);
StartTime = iTime(NULL,myChartPeriod,shift);
if(TimeDayOfWeek(StartTime)==0/*Pazar*/)
{//Cuma günlerini en yüksek ve en düşük olarak ekleyin
HiPrice = MathMax(HiPrice,iHigh(NULL,myChartPeriod,shift+1));
LoPrice = MathMin(LoPrice,iLow(NULL,myChartPeriod,shift+1));
}
Aralık = YüksekFiyat-LoFiyat;
DrawFibo();
// Yorum( "Dönem_", tChartPeriod ) ;
dönüş(0);
}
//+------------------------------------------- -------------------+
string TimeFrameToString(int tf)
{
dize tfs;
geçiş(tf) {
durum PERIOD_M1: tfs="M1" ; kırmak;
durum PERIOD_M5: tfs="M5" ; kırmak;
durum PERIOD_M15: tfs="M15" ; kırmak;
durum PERIOD_M30: tfs="M30" ; kırmak;
durum PERIOD_H1: tfs="H1" ; kırmak;
durum PERIOD_H4: tfs="H4"; kırmak;
durum PERIOD_D1: tfs="D1" ; kırmak;
durum PERIOD_W1: tfs="W1" ; kırmak;
durum PERIOD_MN1: tfs="MN";
}
dönüş(tfs);
}
Ben böyle yaptım.
Not: Eklerim neden siliniyor?
TaşıDurBir Kez
Merhaba, bu MoveStopOnce kodunu çalıştırmaya çalışıyorum ancak Satış işlemleri kod tarafından değiştirilmiyor, sadece Satın Almalar tarafından değiştiriliyor gibi görünüyor. Herşey yanlış?
//Buys
//MoveOnce
if(MoveStopOnce && MoveStopWhenPrice > 0) {
if(Bid - OrderOpenPrice() >= Point * MoveStopWhenPrice) {
if(OrderStopLoss() < OrderOpenPrice() + Point * MoveStopTo) {
OrderModify(OrderTicket(),OrderOpenPrice(), OrderOpenPrice() + Point * MoveStopTo, OrderTakeProfit(), 0, Red);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
[/code]
[code]
//Sells
//MoveOnce
if(MoveStopOnce && MoveStopWhenPrice > 0) {
if(OrderOpenPrice() - Ask >= Point * MoveStopWhenPrice) {
if(OrderStopLoss() > OrderOpenPrice() - Point * MoveStopTo) {
OrderModify(OrderTicket(),OrderOpenPrice(), OrderOpenPrice() - Point * MoveStopTo, OrderTakeProfit(), 0, Red);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
TaşıDurBir Kez
Bu sorunu yaşadım.
Bence şunu eklemelisin:
if (OrderType() == OP_BUY)
VE satış kodu için OP_SELL kullanın.
büyük olmak
Bu sorunu yaşadım.
Bence şunu eklemelisin:
if (OrderType() == OP_BUY)
VE satış kodu için OP_SELL kullanın.
büyük olmakTamam, eve gidince deneyeceğim ama o zaman neden hala Satın Alma siparişleriyle çalışıyor?
teşekkürler