MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 149
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
Güzel gün.
Lütfen bana tüm çubukları tek tek geçmeden tarih ve saate göre istediğiniz çubuğu nasıl bulacağımı söyler misiniz?
Güzel gün.
Lütfen bana tüm çubukları tek tek geçmeden tarih ve saate göre istediğiniz çubuğu nasıl bulacağımı söyler misiniz?
iBarShift hakkında bilgi edinin
int ToplamPos=-1;
geçersiz başlangıç()
{
// kodun geri kalanı
//--
if(OrdersTotal()!=TotalPos) { // her tike işkence etmeyin
for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if(OrderSymbol()==Symbol() && OrderType()<=1) {
Tarih();
}
}}} TotalPos=SiparişlerToplam(); // sayıyı hatırla
//--
}
voidHistory() {
string Ticket=(string)OrderTicket();
colorcol=Kırmızı;
if(OrderType()==0)col=Mavi;
tarihsaat a=OrderOpenTime();
çift b=OrderOpenPrice();
tarihsaat c=SiparişKapatTime();
çift d=SiparişKapatFiyat();
double prSep=OrderProfit()+OrderCommission()+OrderSwap();
doubleprAll=0;
int cn=0;
hTicket dizisi;
for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if(OrderSymbol()==Symbol() && OrderType()<=1) {
tarihsaat ct=SiparişKapatTime();
// Izgaradaki ilk ve son kapanışlar arasındaki 60 saniyelik fark
if(c<=ct+60 && c>=ct-60) {
prAll+=OrderProfit()+OrderCommission()+OrderSwap();
hTicket=(string)OrderTicket();
cn++;
}
}}}
ObjectCreate(Ticket+"Aç",OBJ_ARROW,0,a,b);
ObjectSet(Ticket+"Aç",OBJPROP_COLOR,col);
ObjectSet(Ticket+"Aç",OBJPROP_ARROWCODE,1);
ObjectCreate(Ticket+"Satır",OBJ_TREND,0,a,b,c,d);
ObjectSet(Ticket+"Satır",OBJPROP_COLOR,sütun);
ObjectSet(Ticket+"Satır",OBJPROP_WIDTH,1);
ObjectSet(Ticket+"Satır",OBJPROP_STYLE,STYLE_DOT);
ObjectSet(Ticket+"Satır",OBJPROP_RAY,0);
ObjectCreate(Ticket+"Kapat",OBJ_ARROW,0,c,d);
ObjectSet(Ticket+"Kapat",OBJPROP_COLOR,Yeşil);
ObjectSet(Ticket+"Kapat",OBJPROP_ARROWCODE,3);
Ticket=cn>1?hTicket:Ticket;
ObjectCreate(Ticket+"Kar",OBJ_TEXT,0,c,d);
ObjectSet(Ticket+"Kar",OBJPROP_ANCHOR,0);
ObjectSetText(Ticket+"Kar",DoubleToString(prAll,2),10,"Arial",Beyaz);
ObjectSet(Ticket+"Kar",OBJPROP_PRICE1,d);
ObjectSet(Ticket+"Kar",OBJPROP_TIME1,c+Period()*60*2);
}
Bu işlem yerlerinde seviye çizgisi çizmek için bu fonksiyonun koduna ne eklenmeli
ticaretten grafik kaymasının sınırına kadar koordine edin
Lütfen .crv dosyasından okumama yardım edin
Dosya aşağıdaki girişi içerir:
2010.03.18 01:35:00;1.37409;1.37119
her değeri ayrı ayrı bir değişkene almak için kod nasıl yazılır
Lütfen .crv dosyasından okumama yardım edin
Dosya aşağıdaki girişi içerir:
2010.03.18 01:35:00;1.37409;1.37119
her değeri ayrı ayrı bir değişkene almak için kod nasıl yazılır
int ToplamPos=-1;
geçersiz başlangıç()
{
// kodun geri kalanı
//--
if(OrdersTotal()!=TotalPos) { // her tike işkence etmeyin
for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if(OrderSymbol()==Symbol() && OrderType()<=1) {
Tarih();
}
}}} TotalPos=SiparişlerToplam(); // sayıyı hatırla
//--
}
voidHistory() {
string Ticket=(string)OrderTicket();
colorcol=Kırmızı;
if(OrderType()==0)col=Mavi;
tarihsaat a=OrderOpenTime();
çift b=OrderOpenPrice();
tarihsaat c=SiparişKapatTime();
çift d=SiparişKapatFiyat();
double prSep=OrderProfit()+OrderCommission()+OrderSwap();
doubleprAll=0;
int cn=0;
hTicket dizisi;
for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if(OrderSymbol()==Symbol() && OrderType()<=1) {
tarihsaat ct=SiparişKapatTime();
// Izgaradaki ilk ve son kapanışlar arasındaki 60 saniyelik fark
if(c<=ct+60 && c>=ct-60) {
prAll+=OrderProfit()+OrderCommission()+OrderSwap();
hTicket=(string)OrderTicket();
cn++;
}
}}}
ObjectCreate(Ticket+"Aç",OBJ_ARROW,0,a,b);
ObjectSet(Ticket+"Aç",OBJPROP_COLOR,col);
ObjectSet(Ticket+"Aç",OBJPROP_ARROWCODE,1);
ObjectCreate(Ticket+"Satır",OBJ_TREND,0,a,b,c,d);
ObjectSet(Ticket+"Satır",OBJPROP_COLOR,sütun);
ObjectSet(Ticket+"Satır",OBJPROP_WIDTH,1);
ObjectSet(Ticket+"Satır",OBJPROP_STYLE,STYLE_DOT);
ObjectSet(Ticket+"Satır",OBJPROP_RAY,0);
ObjectCreate(Ticket+"Kapat",OBJ_ARROW,0,c,d);
ObjectSet(Ticket+"Kapat",OBJPROP_COLOR,Yeşil);
ObjectSet(Ticket+"Kapat",OBJPROP_ARROWCODE,3);
Ticket=cn>1?hTicket:Ticket;
ObjectCreate(Ticket+"Kar",OBJ_TEXT,0,c,d);
ObjectSet(Ticket+"Kar",OBJPROP_ANCHOR,0);
ObjectSetText(Ticket+"Kar",DoubleToString(prAll,2),10,"Arial",Beyaz);
ObjectSet(Ticket+"Kar",OBJPROP_PRICE1,d);
ObjectSet(Ticket+"Kar",OBJPROP_TIME1,c+Period()*60*2);
}
Bu işlem yerlerinde seviye çizgisi çizmek için bu fonksiyonun koduna ne eklenmeli
ticaretten grafik kaymasının sınırına kadar koordine edin
şöyle bir şey:
string level="Level"+IntegerToString(iTime(_Symbol,iBarShift(OrderCloseTime())); // ид.уровня - по времени бара (!! не по тикету)
if (ObjectFind(level)==-1) {
// гор.вектора нет - видимо первый ордер из закрытых на баре
// сделать горизонтальную линию
ObjectCreate(0,level,OBJ_TREND,0,OrderCloseTime(),OrderClosePrice(),OrderCloseTime()+PeriodSeconds(_Period)*3,OrderClosePrice);
// указывающую только вправо
ObjectSetInteger(level,OBJPROP_RAY,1);
ObjectSetInteger(level,OBJPROP_RAYLEFT,0);
// украсить её как-то :-)
ObjectSetInteger(level,OBJPROP_COLOR,....)
....
} else {
// гор.уровень есть - значит были ордера закрытые на этом баре
// по фантазии - обновить метки/корректировать уровень/etc
}
Tünaydın!
terminal hangi nedenlerle robotu göremez? yerel bir programcı tarafından yazılmıştır. Aynı zamanda bazıları diğer robotları görür, bazıları görmez.
Tünaydın!
terminal hangi nedenlerle robotu göremez? yerel bir programcı tarafından yazılmıştır. Aynı zamanda bazıları diğer robotları görür, bazıları görmez.
İyi akşamlar!
Lütfen kodu yazmama yardım edin, kendim yapamayacağımı hissediyorum, özü şu:
EURUSD paritesinde Expert Advisor başlatılırken, aynı paritede açık / bekleyen emir olmaması şartıyla iki bekleyen emir verilmelidir,
ayrıca, bunlardan biri işe yaradıysa, bir geciktirici daha ayarlanmaz, yani. tüm siparişlerin toplamı, çift başına 2x'ten fazla değildir, diğer çiftlerde önceden verilmiş gecikmeler / açık siparişler dikkate alınmamalıdır.
Beynimi çoktan kırdım, o zaman hiçbir şeyi ortaya çıkarmaz, sonra her şeyi işaretler.
Yardımın için çok teşekkürler.
Teşekkür ederim.
Tünaydın!
terminal hangi nedenlerle robotu göremez? yerel bir programcı tarafından yazılmıştır. Aynı zamanda bazıları diğer robotları görür, bazıları görmez.
robot "uzmanlar" klasöründe olmalı ve *.ex4 (5 için *.ex5) biçiminde olmalıdır.
Terminalde - "Dosya/Veri dizinini aç" menüsü ve ardından - "MQL4/Experts"
Ve yalnızca *.mq4 *.mq5 kaynak metni çalışmıyor - derlenmesi gerekiyor
Aynı zamanda, ürününü nasıl kullanacağını söylemeyen programcının kafasını koparın.