[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 197
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
Yoldaşlar, lütfen yardım edin... Basit bir kod yazdım, ancak derlerken parantezlerin dengeli olmadığını söylüyor ve zaten 300 kez saydım - her şey yerinde
Fikir hiçbir yerde daha basit değildir - MACD 7 dakikadan fazla olmamak üzere 0'ın üzerinde (veya altında) ise, pozisyon açılır
Bu özelliğe göz atın
ps seninki kadar güzel bir senaryo nasıl çizilir?
Cevabı yazarken SRC butonu var.
Parantezlere gelince, kapanışın ne olduğunu belirtme alışkanlığım var.
}//için
}//if (sinyal...
Parantezlere gelince, kapanışın ne olduğunu belirtme alışkanlığım var.
}//için
}//if (sinyal...
"tat ve renk..." - ama kuşkusuz, bu yaklaşım kodu gereksiz bilgilerle karıştırır + fazladan kod satırları yazmak için zamanı yönlendirir + derin yuvalama (sayı seviyeleri?)
kodu yapılandırmak daha iyidir - yukarıdaki gönderideki örnekte olduğu gibi
Tünaydın, lütfen bana bir koşulu nasıl yazacağımı söyle, böylece bir sipariş açtıktan sonra ikincisi aynı mum üzerinde açamaz. Aşağıdakileri yazıyorum:
if (... && CountOrder<2 && (BarLast>1 || BarLast==-1))
{
OrderSend(Symbol(),OP_BUY,MinLot,Ask,0,VStopLossUzun,0,"SATIN AL: ",MagicL,0,Yeşil);
}
nerede
// bir kağıt için açık siparişlerin sayısını sayın
int CountOrder=0;
for (int j=0; j<SiparişlerToplam(); j++)
if (OrderSelect(j,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol()) CountOrder++;
// son kapatılan pozisyonun çubuğunun numarası veya henüz açılmadıysa -1
int BarLast=BarLastClosePose();
ve
// son kapatılan pozisyonun bar numarası
int BarLastClosePose()
{
tarihsaat t;
int i;
(i=0; i<OrdersHistoryTotal(); i++) için
{
if (Sipariş Seçimi(i,SELECT_BY_POS,MODE_HISTORY))
{
//eğer (OrderMagicNumber()!=Magic) devam ediyorsa;
(OrderSymbol()!=Symbol()) devam ederse;
(OrderType()>1) devam ederse;
if (t<SiparişKapatTime()) t=SiparişKapatZamanı();
}
}
dönüş (iBarShift(Symbol(),Period(),t,true));
}
datetime LastTradeBar; bool CanTrade = True; int Start() { if (LastTradeBar==Time[ 0 ] ) CanTrade=False; else CanTrade=True; if (... && CountOrder< 2 && (BarLast> 1 || BarLast==- 1 )) { if (CanTrade) { OrderSend ( Symbol (),OP_BUY,MinLot,Ask, 0 ,VStopLossLong, 0 , "BUY: " ,MagicL, 0 , Green ); LastTradeBar=Time[ 0 ]; } }
Genel olarak, mantıksal değişken burada gereksizdir.Bu özelliğe göz atın
Vinin, bana güvence verdi, bu fonksiyonda her şey yolunda... return (0), start fonksiyonunu ifade ediyor ve eğer return'ye bağlı olan parantezi saymazsanız, o zaman 14 parantez var ... 7 her yönde
Vinin, bana güvence verdi, bu fonksiyonda her şey yolunda... return (0), start fonksiyonunu ifade ediyor ve eğer return'ye bağlı olan parantezi saymazsanız, o zaman 14 parantez var ... 7 her yönde
Her işlevi ayrı bir dosyaya kopyalayıp yapıştırmaya ve derlemeyi kontrol etmeye yardımcı olur.
Parantezler doğruysa, başlangıcın nerede bittiğini ve MACD sinyalinin nerede başladığını belirtin.
Her işlevi ayrı bir dosyaya kopyalayıp yapıştırmaya ve derlemeyi kontrol etmeye yardımcı olur.
Parantezler doğruysa, başlangıcın nerede bittiğini ve MACD sinyalinin nerede başladığını belirtin.
hmm... int signal_MACD() gerçekten bir işlevdir... ama neden başlatma işlevinin arkasında olsun ki? Dürüst olmak gerekirse, neden bazı işlevlerin başlangıcın dışında ve bazılarının içeride yazıldığını anlamıyorum... fark nedir?