Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 543

 
edutak :

Üzgünüm, tam olarak anlamadım. Mumun kapanış fiyatı , göstergenin 70 seviyesinden büyük olmalıdır.

Ve seviye 70=70. neye eşit olmalı?

Kapat[1], enstrümanın fiyatı ile ilgilidir. Bu durumda, 1. çubuktaki kapanış fiyatı. Ama göstergeye değil. Gösterge, fiyatın bir türevidir.

Sizin durumunuzda, RSI göstergesi 0 ile 100 arasında değişmektedir ve örneğin resminizdeki gibi fiyat 1.43406'dır. Hangi 70'den çok daha az.

Seviye 70, göstergenin değeridir. Ve Kapat[1], 1. çubuktaki kapanış fiyatının değeridir. Bunlar tamamen farklı şeylerdir ve karşılaştırılamazlar. Kilogram ve metre gibi.

[Silindi]  
Vitalii Ananev :

Kapat[1], enstrümanın fiyatı ile ilgilidir. Bu durumda, 1. çubuktaki kapanış fiyatı. Ama göstergeye değil. Gösterge, fiyatın bir türevidir.

Sizin durumunuzda, RSI göstergesi 0 ile 100 arasında değişmektedir ve örneğin resminizdeki gibi fiyat 1.43406'dır. Hangi 70'den çok daha az.

Anlaşıldı, teşekkürler, yani yeniden düzenledim, doğru açmış görünüyor ama göstergenin 50 seviyesi neden yansımıyor?

 void OnTick ()
  {
   int kolpos= 0 ;
   double rsi= 0 ,uroven70= 70 ,uroven30= 30 ,uroven50= 50 ;
   rsi= iRSI ( Symbol (), 0 , 10 , PRICE_CLOSE , 1 );
   for ( int pos= 0 ; pos< OrdersTotal (); pos++) 
     {
       OrderSelect (pos, SELECT_BY_POS , MODE_TRADES );
       if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()==Magic)
         kolpos++;
     }
   if (kolpos== 0 )
     {
       if ((rsi>uroven70) &&   ( Open [ 1 ]<uroven70) && Volume [ 0 ]< 3 )
         OrderSend ( Symbol (), OP_BUY ,Lots, Ask , 30 , 0 , 0 , "" ,Magic, 0 , clrGreen );
       if ((rsi<uroven30) &&   ( Open [ 1 ]>uroven30) && Volume [ 0 ]< 3 )
         OrderSend ( Symbol (), OP_SELL ,Lots, Bid , 30 , 0 , 0 , "" ,Magic, 0 , clrRed );
     }
 }
[Silindi]  

Ve doğru mu? EA düzgün çalışacak mı?

 void OnTick ()
  {
   int kolpos= 0 ;
   double rsi= 0 ,uroven70= 70 ,uroven30= 30 ,uroven50= 50 ;
   rsi= iRSI ( Symbol (), 0 , 10 , PRICE_CLOSE , 1 );
   for ( int pos= 0 ; pos< OrdersTotal (); pos++) 
     {
       OrderSelect (pos, SELECT_BY_POS , MODE_TRADES );
       if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()==Magic)
         kolpos++;
     }
   if (kolpos== 0 )
     {
       if (rsi>uroven70) // && Volume[0]<3)
         OrderSend ( Symbol (), OP_BUY ,Lots, Ask , 30 , 0 , 0 , "" ,Magic, 0 , clrGreen );
       if (rsi<uroven30) // &&   (Open[1]>uroven30) && Volume[0]<3)
         OrderSend ( Symbol (), OP_SELL ,Lots, Bid , 30 , 0 , 0 , "" ,Magic, 0 , clrRed );
     }
 }
 
edutak :

Anlaşıldı, teşekkür ederim, yani yeniden düzenledim, doğru açmış görünüyor ama göstergenin 50. seviyesi neden yansımıyor?

Beni anladığını göremiyorum, sadece >'i < olarak değiştirdin. Ne yaptın, tam bir saçmalık. Gerçek parayla bahis yapmayı aklından bile geçirme.

Seviye 50, göstergenin kendisinde yapılandırılmıştır. EA, göstergenin bu seviyede nerede olduğunu zaten biliyor.

 
edutak :

Ve doğru mu? EA düzgün çalışacak mı?

Bu zaten daha iyi. Ayrıca bir filtre yapın. Bu, yalnızca bir yükseliş trendi varsa alım anlaşmaları açar ve yalnızca bir düşüş trendi varsa satış yapar.
[Silindi]  
Vitalii Ananev :

Beni anladığını göremiyorum, sadece >'i < olarak değiştirdin. Ne yaptın, tam bir saçmalık. Gerçek parayla bahis yapmayı aklından bile geçirme.

Seviye 50, göstergenin kendisinde yapılandırılmıştır. EA, göstergenin bu seviyede nerede olduğunu zaten biliyor.

Burada doğru açılmış gibi görünüyor ama 50. seviye görünmüyor. ve 30 ve 70 vardır.
[Silindi]  
Vitalii Ananev :
Bu zaten daha iyi. Ayrıca bir filtre yapın. Bu, yalnızca bir yükseliş trendi varsa alım anlaşmaları açar ve yalnızca bir düşüş trendi varsa satış yapar.

İşte trend. Doğru şekilde?

 if (rsi>uroven70)

if (rsi<uroven30)
 
edutak :
Burada doğru açılmış gibi görünüyor ama 50. seviye görünmüyor. ve 30 ve 70 vardır.
Seviye , gösterge ayarlarında manuel olarak ayarlanmalıdır. Varsayılan olarak seviye 50 yoktur. Yukarıdaki resimde gösterdim.
 
edutak :

İşte trend. Doğru şekilde?

RSI bir osilatördür ve bir eğilim göstermez.

Örneğin MA gibi başka bir eğilim göstergesi ekleyin

 double MA = iMA (......)

if (rsi>uroven70 && Close [ 1 ]<MA)
{
 ///SELLL
 
}

if (rsi<uroven30 && Close [ 1 ]>MA)
{
///BUY

}
 
Söyleyin lütfen, işlemler tüccarın konumlandırdığı lot hacmiyle değil de büyük hacimlerle otomatik olarak kopyalanırsa ne yapmalıyım?