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
Merhaba Mladen,
Multi_Indic_00'ün bir osilatör ve Up_Prime_00'ın bir tanımlama seviyesi olduğu bekleyen emirler için döngünün söylediği şudur.
//+------------------------------------------- ---------------------+
//---- Emir Tipi Limit ise ve Trend Değişmişse Kontrol Et Kapat.
if(OrderType()==OP_BUYLIMIT)
if(( Multi_Indic_00 ) <= (Up_Prime_00 ))
{
_OrderDelete=OrderDelete(OrderTicket());
}
if(OrderType()==OP_SELLLIMIT)
if(( Multi_Indic_00 ) >= ( Down_Prime_00 ))
{
_OrderDelete=OrderDelete(OrderTicket());
}
//+------------------------------------------- ---------------------+
Peki özel bir şey yok....
Mutlu ticaret.
Samimi olarak.
Tomcat98Tomcat98
Benim görmek istediğim for() döngü ifadesi. Bunun gibi bir for ifadeniz varsa:
for (int i = 0; i < OrdersTotal(); i++)
bu durumda bazı siparişler kapatılır veya silinirse bazı siparişler kaçırılacaktır. Öte yandan, for() döngüsü şöyle giderse:
for (int i = OrdersTotal()-1; i >= 0; i--)
o zaman tüm siparişleri işleyecek
Mladen ,
Ah anlıyorum:
İşte yakın süreç için:
"
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==yanlış) ara;
if(OrderMagicNumber()!=MAGIC || OrderSymbol()!=Symbol()) devam ediyor;
"
Tomcat98
Mladen ,
Ah anlıyorum:
İşte yakın süreç için:
"
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==yanlış) ara;
if(OrderMagicNumber()!=MAGIC || OrderSymbol()!=Symbol()) devam ediyor;
"
Tomcat98Tomcat98
Döngüyü şununla değiştir:
for(int i=OrdersTotal()-1;i>=0;i--)
ve iyi olmalı
Mladen,
Bingo!
Şimdi tam olarak ihtiyacım olanı yapıyor.
Büyük yardımın için çok teşekkürler.
"İnsanlar ne kadar umursadığını bilene kadar ne kadar bildiğini umursamazlar"
- Theodore Roosevelt
Samimi olarak.
Tomcat98
Mladen,
Bingo!
Şimdi tam olarak ihtiyacım olanı yapıyor.
Büyük yardımın için çok teşekkürler.
"İnsanlar ne kadar umursadığını bilene kadar ne kadar bildiğini umursamazlar"
- Theodore Roosevelt
Samimi olarak.
Tomcat98mutlu kodlama
Merhaba Mladen, her şey için teşekkürler, şimdi orada iyi çalışıyor...
şimdi yeniden yüklenmeyen bir gösterge ile sıkışıp kaldım, bu yüzden her mum kapandığında göstergeyi yeniden yüklemem gerekiyor, bunu düzeltmeme yardım edebilir misin? işte kodun bir parçası (boşluklara dayalı bir trend göstergesidir basit fikir, teşekkür ederim:
#özellik telif hakkı "Telif hakkı © 2014 Daniel Luchinger"
#özellik bağlantısı
#mülkiyet katı
#mülkiyet katı
#özellik göstergesi_chart_window
#özellik göstergesi_tamponları 4
#özellik göstergesi_renk1 clrLime
#özellik göstergesi_renk2 clrRed
#özellik göstergesi_renk3 clrMagenta
#özellik göstergesi_renk4 clrCyan
#define 1 SATIN AL
#define SAT 2
çift Satın Al[],
Satmak[],
İlk Satın Al[],
İlk Satış[];
int OnInit() {
SetIndexBuffer(0,FirstBuy);
SetIndexBuffer(1,İlk Satış);
SetIndexBuffer(2,Satın Al);
SetIndexBuffer(3,Sat);
for(int i=0; i<4; i++) {
SetIndexStyle (i,DRAW_OK,STYLE_SOLID,2;}
SetIndexArrow (0,233);
SetIndexArrow (1,234);
SetIndexArrow (2.233);
SetIndexArrow (3.234);
dönüş(INIT_SUCCEEDED);}
geçersiz OnDeinit(const int nedeni) {}
int OnCalculate(const int oranları_toplam, const int önceki_hesaplanmış, const tarihsaat vesaat[],
const double &open[], const double &high[], const double &düşük[],
const double &kapat[], const uzun &tick_volume[], const uzun &hacim[],
const int &spread[]) {
statik int lastSignal=0;
for(int i=MathMin(oranlar_toplam-önceki_hesaplanmış, oranlar_toplam-1); i>=0; i--) {
FirstBuy=FirstSell=Satın=Sat=BOŞ_DEĞER;
tarihsaat ne zaman=Saat;
if((Yüksek-Kapat)<0) {
if(lastSignal==SAT) {
FirstBuy=Kapat;
SoundAlert(ne zaman,"Satın Al");}
lastSignal=SATIN AL;}
if((Düşük-Kapat)>0){
if(lastSignal==SATIN AL) {
FirstSell=Kapat;
SoundAlert(ne zaman,"Sat");}
lastSignal=SAT;}
}
dönüş(oranlar_toplam);}
void SoundAlert(datetime i, string dir) {
statik tarihsaat lastAlert=0;
if(lastAlert!=i) {
Alert(StringFormat("%s'de %s'de %s sinyali",dir,Symbol(),TimeToStr(i)));
Merhaba Mladen, her şey için teşekkürler, şimdi orada iyi çalışıyor...
şimdi yeniden yüklenmeyen bir gösterge ile sıkışıp kaldım, bu yüzden her mum kapandığında göstergeyi yeniden yüklemem gerekiyor, bunu düzeltmeme yardım edebilir misin? işte kodun bir parçası (boşluklara dayalı bir trend göstergesidir basit fikir, teşekkür ederim:
#özellik telif hakkı "Telif hakkı © 2014 Daniel Luchinger"
#özellik bağlantısı
#mülkiyet katı
#mülkiyet katı
#özellik göstergesi_chart_window
#özellik göstergesi_tamponları 4
#özellik göstergesi_renk1 clrLime
#özellik göstergesi_renk2 clrRed
#özellik göstergesi_renk3 clrMagenta
#özellik göstergesi_renk4 clrCyan
#define 1 SATIN AL
#define SAT 2
çift Satın Al[],
Satmak[],
İlk Satın Al[],
İlk Satış[];
int OnInit() {
SetIndexBuffer(0,FirstBuy);
SetIndexBuffer(1,İlk Satış);
SetIndexBuffer(2,Satın Al);
SetIndexBuffer(3,Sat);
for(int i=0; i<4; i++) {
SetIndexStyle (i,DRAW_OK,STYLE_SOLID,2;}
SetIndexArrow (0,233);
SetIndexArrow (1,234);
SetIndexArrow (2.233);
SetIndexArrow (3.234);
dönüş(INIT_SUCCEEDED);}
geçersiz OnDeinit(const int nedeni) {}
int OnCalculate(const int oranları_toplam, const int önceki_hesaplanmış, const tarihsaat vesaat[],
const double &open[], const double &high[], const double &düşük[],
const double &kapat[], const uzun &tick_volume[], const uzun &hacim[],
const int &spread[]) {
statik int lastSignal=0;
for(int i=MathMin(oranlar_toplam-önceki_hesaplanmış, oranlar_toplam-1); i>=0; i--) {
FirstBuy=FirstSell=Satın=Sat=BOŞ_DEĞER;
tarihsaat ne zaman=Saat;
if((Yüksek-Kapat)<0) {
if(lastSignal==SAT) {
FirstBuy=Kapat;
SoundAlert(ne zaman,"Satın Al");}
lastSignal=SATIN AL;}
if((Düşük-Kapat)>0){
if(lastSignal==SATIN AL) {
FirstSell=Kapat;
SoundAlert(ne zaman,"Sat");}
lastSignal=SAT;}
}
dönüş(oranlar_toplam);}
void SoundAlert(datetime i, string dir) {
statik tarihsaat lastAlert=0;
if(lastAlert!=i) {
Alert(StringFormat("%s'de %s'de %s sinyali",dir,Symbol(),TimeToStr(i)));
daniel1983
Şu şekilde deneyin:
#property link ""
#property strict
#property strict
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 clrLime
#property indicator_color2 clrRed
#property indicator_color3 clrMagenta
#property indicator_color4 clrCyan
#define BUY 1
#define SELL 2
double Buy[],
Sell[],
FirstBuy[],
FirstSell[];
int OnInit() {
SetIndexBuffer(0,FirstBuy);
SetIndexBuffer(1,FirstSell);
SetIndexBuffer(2,Buy);
SetIndexBuffer(3,Sell);
for(int i=0; i<4; i++) {
SetIndexStyle (i,DRAW_ARROW,STYLE_SOLID,2);}
SetIndexArrow (0,233);
SetIndexArrow (1,234);
SetIndexArrow (2,233);
SetIndexArrow (3,234);
return(INIT_SUCCEEDED);}
void OnDeinit(const int reason) {}
int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[],
const double &open[], const double &high[], const double &low[],
const double &close[], const long &tick_volume[], const long &volume[],
const int &spread[]) {
static int lastSignal=0;
for(int i=MathMin(rates_total-prev_calculated, rates_total-2); i>=0; i--)
{
FirstBuy=FirstSell=Buy=Sell=EMPTY_VALUE;
datetime when=Time;
if((High-Close)<0) {
if(lastSignal==SELL) {
FirstBuy=Close;
SoundAlert(when,"Buy");}
lastSignal=BUY;}
if((Low-Close)>0){
if(lastSignal==BUY) {
FirstSell=Close;
SoundAlert(when,"Sell");}
lastSignal=SELL;}
}
return(rates_total);
}
void SoundAlert(datetime i, string dir) {
static datetime lastAlert=0;
if(lastAlert!=i) {
Alert(StringFormat("%s signal on %s at %s",dir,Symbol(),TimeToStr(i)));
}
}
Merhaba Mladen, teşekkür ederim ama kodu bu şekilde yazarsanız, eksik sinyaller var, lütfen bir bakın, bunları günlük grafik USDJPY'de karşılaştırarak bir resim yaptım:
Bu ne olabilir?
Merhaba Mladen, teşekkür ederim ama kodu bu şekilde yazarsanız, eksik sinyaller var, lütfen bir bakın, günlük grafik USDJPY'de bunları karşılaştıran bir resim yaptım: Bu ne olabilir?
daniel1983
Kodunuzda gelecekteki değerleri kullandınız (bunlar:
Yüksek- Kapat
Düşük- Kapat
Normal bir önceki değer olan Kapat'ı kullandım. Olarak değiştirin ama sonra yeniden boyayacak
Sevgili mrtools ve mladen
Herhangi biri yardımcı olabilir mi? Tom Demark Hareketli Ortalama, stratejimdeki önemli bir göstergedir, ancak yeni bir raf belirtildiğinde bir alarm çok faydalı olacaktır; Göstergeye bir alarm kodlanabilirse çok minnettar olurum. Nazik yardımlarınızı bekliyorum.
Çok teşekkürler