MetaQuotes:
"MQL5 araçlarını kullanarak çizgilerle nasıl çalışılır" makalesi yayınlandı:
Yazar: Mohamed Abdelmaaboud
Bu yeni başlayanlar için ilginç bir makale, ancak Uzman Danışmanların doğru çalışması için kodlarda küçük bir değişiklik yapılması gerekiyor.
Saygılarımla, Vladimir.
//+------------------------------------------------------------------+ //|UpwardTrendline Sistemi.mq5 | //+------------------------------------------------------------------+ void OnTick() { int candles = (int)ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0); double pLow[]; ArraySetAsSeries(pLow,true); int copy_low = CopyLow(_Symbol,_Period,0,candles,pLow); if(copy_low>0) { int candleLow = ArrayMinimum(pLow,0,candles); MqlRates pArray[]; ArraySetAsSeries(pArray,true); int Data = CopyRates(_Symbol,_Period,0,candles,pArray); ObjectDelete(0,"UpwardTrendline"); ObjectCreate(0,"UpwardTrendline",OBJ_TREND,0,pArray[candleLow].time,pArray[candleLow].low, pArray[0].time,pArray[0].low); ObjectSetInteger(0,"UpwardTrendline",OBJPROP_COLOR,Blue); ObjectSetInteger(0,"UpwardTrendline",OBJPROP_STYLE,STYLE_SOLID); ObjectSetInteger(0,"UpwardTrendline",OBJPROP_WIDTH,3); ObjectSetInteger(0,"UpwardTrendline",OBJPROP_RAY_RIGHT,true); } } //+------------------------------------------------------------------+
//+------------------------------------------------------------------+ //|DownwardTrendline Sistemi.mq5 | //+------------------------------------------------------------------+ void OnTick() { int candles = (int)ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0); double pHigh[]; ArraySetAsSeries(pHigh,true); int copy_high = CopyHigh(_Symbol,_Period,0,candles,pHigh); if(copy_high>0) { int candleHigh = ArrayMaximum(pHigh,0,candles); MqlRates pArray[]; ArraySetAsSeries(pArray,true); int Data = CopyRates(_Symbol,_Period,0,candles,pArray); ObjectDelete(0,"DnwardTrendline"); ObjectCreate(0,"DnwardTrendline",OBJ_TREND,0,pArray[candleHigh].time,pArray[candleHigh].high, pArray[0].time,pArray[0].high); ObjectSetInteger(0,"DnwardTrendline",OBJPROP_COLOR,Blue); ObjectSetInteger(0,"DnwardTrendline",OBJPROP_STYLE,STYLE_SOLID); ObjectSetInteger(0,"DnwardTrendline",OBJPROP_WIDTH,3); ObjectSetInteger(0,"DnwardTrendline",OBJPROP_RAY_RIGHT,true); } } //+------------------------------------------------------------------+
//+------------------------------------------------------------------+ //|Destek Hattı Sistemi.mq5 | //+------------------------------------------------------------------+ void OnTick() { int candles = (int)ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0); double pLow[]; ArraySetAsSeries(pLow,true); int copy_low = CopyLow(_Symbol,_Period,0,candles,pLow); if(copy_low>0) { int candleLow = ArrayMinimum(pLow,0,candles); MqlRates pArray[]; ArraySetAsSeries(pArray,true); int Data = CopyRates(_Symbol,_Period,0,candles,pArray); ObjectDelete(0,"supportLine"); ObjectCreate(0,"supportLine",OBJ_HLINE,0,pArray[candleLow].time,pArray[candleLow].low, pArray[0].time,pArray[0].low); ObjectSetInteger(0,"supportLine",OBJPROP_COLOR,Green); ObjectSetInteger(0,"supportLine",OBJPROP_STYLE,STYLE_SOLID); ObjectSetInteger(0,"supportLine",OBJPROP_WIDTH,3); ObjectSetInteger(0,"supportLine",OBJPROP_RAY,true); } } //+------------------------------------------------------------------+
//+------------------------------------------------------------------+ //|Direnç Hattı Sistemi.mq5 | //+------------------------------------------------------------------+ void OnTick() { int candles=(int)ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0); double pHigh[]; ArraySetAsSeries(pHigh,true); int copy_high = CopyHigh(_Symbol,_Period,0,candles,pHigh); if(copy_high>0) { int candleHigh = ArrayMaximum(pHigh,0,candles); MqlRates pArray[]; ArraySetAsSeries(pArray,true); int Data = CopyRates(_Symbol,_Period,0,candles,pArray); ObjectDelete(0,"resistanceLine"); ObjectCreate(0,"resistanceLine",OBJ_HLINE,0,pArray[candleHigh].time,pArray[candleHigh].high, pArray[0].time,pArray[0].high); ObjectSetInteger(0,"resistanceLine",OBJPROP_COLOR,Red); ObjectSetInteger(0,"resistanceLine",OBJPROP_STYLE,STYLE_SOLID); ObjectSetInteger(0,"resistanceLine",OBJPROP_WIDTH,3); ObjectSetInteger(0,"DnwardTrendline",OBJPROP_RAY_RIGHT,true); } } //+------------------------------------------------------------------+
Çizgiyi çizme şekliniz çok güzel. Trend çizgileri hakkında bir gözlem: İkinci bağlantı noktasının her zaman 0 endeks çubuğu olması pek bir işe yaramaz, çünkü her yeni çubukta trend çizgisi güncellenecek ve bu nedenle trend çizgisi hiçbir işe yaramayacaktır. İdeal olan, ikinci bağlantı noktasını belirli bir kritere göre tanımlamaktır. Örneğin, en yüksek fiyata sahip ikinci çubuk, ilkinden minimum 30 çubuk mesafe ile veya ertesi gün en yüksek fiyata sahip çubuğu alın vb.
Makale için tebrikler.
Makale için tebrikler.
Andrei Pereira Trend çizgileri hakkında bir gözlem: İkinci bağlantı noktasının her zaman 0 endeks çubuğu olması pek bir işe yaramaz, çünkü her yeni çubukta trend çizgisi güncellenecek ve bu nedenle trend çizgisi hiçbir işe yaramayacaktır. İdeal olan, ikinci bağlantı noktasını belirli bir kritere göre tanımlamaktır. Örneğin, en yüksek fiyata sahip ikinci çubuk, ilkinden en az 30 çubuk uzakta veya ertesi gün en yüksek fiyata sahip çubuğu alın vb.
Makale için tebrikler.
Makale için tebrikler.
Yorumunuz için teşekkürler, iyi bir gözlem.
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
Yeni makaleye göz atın: MQL5’i kullanarak çizgilerle nasıl çalışılır?.
Bu makalede, MQL5’i kullanarak trend, destek ve direnç gibi en önemli çizgilerle nasıl çalışılacağından bahsedeceğiz.
Trend çizgisini, emirlerimizi trend çizgisi türüne göre vererek alım-satımda kullanabiliriz. Bir yükseliş trendi çizgisi oluşmuşsa, fiyatın aşağı inerek bu trend çizgisini yukarıdan test etmesini ve ardından yukarı sıçramasını bekleyebiliriz - bu durumda bu trend çizgisine alış emri yerleştirebiliriz. Tersi şekilde, grafikte düşen bir trend çizgisi görürsek, fiyatın bu trend çizgisini aşağıdan test etmek için yukarı çıkacağını ve ardından aşağı sıçrayacağını varsayabiliriz. Böyle bir durumda, düşüş trendi çizgisine satış emri yerleştirebiliriz.
Yükseliş trendi çizgisi aşağıda gösterilmektedir:
Yazar: Mohamed Abdelmaaboud