[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 67

 

Merhaba

Yazar olmaya karar verdim. Yabancı dilde bir şey yazmak istedim MQL 4. Bununla ilgili bir şeyler okudum, peki, arsa RSI'da bir sel pozisyonu açmak için basit bir uzman yazmak için doğdu. 8 periyot ile 70'i geçer ve pozisyonu kapattığınızda 30. seviyeyi geçer ve başka hiçbir şey olmaz. Yazdım, işte kod

//+------------------------------------------- --------------------+
//| 4doc.mq4 |
//| Alex |
//| http://www.metaquotes.net |
//+------------------------------------------- --------------------+
# mülkiyet telif hakkı "Alex"
#özellik bağlantısı "http://www.metaquotes.net"

//---- giriş parametreleri
harici int PerRSI=8;
harici int MagicNumber=77771;

dış çift Lot = 1.0;

/+------------------------------------------------ ------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
int
cnt=0,
bilet,
Toplam;
çift
rsi_0, // Değer. rsi_0 akımı
rsi_1; // Değer. rsi_1 1. çubuk
if(çubuklar<100)
{
Print("100'den küçük barlar");
dönüş(0);
}
rsi_0=iRSI(NULL,0, PerRSI,0,0); // Geçerli çubuk
rsi_1=iRSI(NULL,0, PerRSI,0,1); // Geçerli çubuk artı 1
toplam=SiparişToplam();
if(toplam<1)
if(rsi_0 < rsi_1 && rsi_0 > 70) // Çizgi 70'i geçerse
{
bilet=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0, "My RSI", MagicNamber,0,Green);
if(bilet>0)
{
if(OrderSelect(bilet,SELECT_BY_TICKET,MODE_TRADES))
Print("SAT emri açıldı : ",OrderOpenPrice());
}
else Print("SATIŞ emrini açarken hata: ",GetLastError());
dönüş(0);
}
for(cnt=0;cnt<toplam;cnt++)
{
Yeniler();
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && // bu açık bir pozisyon mu? OP_BUY veya OP_SELL
OrderSymbol()==Symbol()) // alet eşleşiyor mu?
{
if(OrderType()==OP_SELL) // tümceyi açtı
{
if(rsi_0 > rsi_1 && rsi_0 < 30) // Çizgi 30'u geçerse
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // pozisyonu kapat
dönüş(0); // çıkış

}}}}}}

Test ettim, her şey temelde aynı çıktı aranan. Kodu değiştirmeye karar verdim, böylece SS I – 14 seviye 100'ü geçiyor – bir seçim pozisyonu açıldı ve pozisyon kapatıldığında seviyeyi geçiyor - 100. Değişen RSI SS I altındaki kod , işte burada.

//+------------------------------------------- --------------------+
//| CCI-DOC.mq4 |
//| Alex |
//| http://www.metaquotes.net |
//+------------------------------------------- --------------------+
# mülkiyet telif hakkı "Alex"
#özellik bağlantısı "http://www.metaquotes.net"

//---- giriş parametreleri
harici int PerCCI=14;
harici int MagicNumber=88881;

dış çift Lot = 1.0;

//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
int
cnt=0,
bilet,
Toplam;
çift
cci_0, // Değer. cci_0 akım
cci_1; // Değer. cci_1 1. çubuk
if(çubuklar<100)
{
Print("100'den küçük barlar");
dönüş(0);
}
cci_0=iRSI(NULL,0, PerCCI,0,0); // Geçerli çubuk
cci_1=iRSI(NULL,0, PerCCI,0,1); // Geçerli çubuk artı 1
toplam=SiparişToplam();
if(toplam<1)
if(cci_0 < cci_1 && cci_0 > 100) // Satır 100'ü Geçerse
{
bilet=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0, "CCI'm", MagicNamber,0,Green);
if(bilet>0)
{
if(OrderSelect(bilet,SELECT_BY_TICKET,MODE_TRADES))
Print("SAT emri açıldı : ",OrderOpenPrice());
}
else Print("SATIŞ emrini açarken hata: ",GetLastError());
dönüş(0);
}
for(cnt=0;cnt<toplam;cnt++)
{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && // bu açık bir pozisyon mu? OP_BUY veya OP_SELL
OrderSymbol()==Symbol()) // alet eşleşiyor mu?
{
if(OrderType()==OP_SELL) // tümceyi açtı
{
if(cci_0 > cci_1 && cci_0 < -100) // Çizgi Geçerse -100
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // pozisyonu kapat
dönüş(0); // çıkış
}}}}}}

CCİ oldu Ölçek….. valla bir şey olmuyor satmıyor alım yapmıyor logda hata yok testin sonunda eğri grafiğini açıyor ama bu CC I değil RSI 70-30 ile 14 yıllık bir süre... .. Belki deneyimli yazarlardan biri anlar ve neden ve nasıl düzeltileceğini söyler.

 
pepsi писал(а) >>
o zaman dergideki demoda her şey daha net bir şekilde çizilecektir. Hatanın nerede aranacağı daha açıktır. kendisi...

Teşekkür ederim

 

Tekrar merhaba!!!!!!!

/göze batmadan/;-)) size 64. sayfada Mashka'nın ticaret koşullarıyla ilgili sorumu hatırlatmak isterim... Şimdiden teşekkürler (çaydanlığa tokat için)

 

Beyler, söyleyin bana, terminalde bir ticaret enstrümanının birkaç farklı zaman çizelgesini kullanırsam,

program tarafından trafik nasıl tüketilir? Minimum zaman aralığının trafiği mi, yoksa tüm zaman çerçevelerinin trafiği mi tüketiliyor?

 
igrok2008 >> :

Tekrar merhaba!!!!!!!

/göze batmadan/;-)) size 64. sayfada Mashka'nın alım satım koşullarıyla ilgili sorumu hatırlatmak isterim... Şimdiden teşekkürler (çaydanlığa tokat için)

 int start ( )
  {
//----
    double MA_0 = iMA ( NULL , 0 , pMA , pSh , mode , price , 0 ) ;
    double MA_1 = iMA ( NULL , 0 , pMA , pSh , mode , price , 1 ) ;

    перед использованием в коде open_1 или  open_0 их нужно инициализировать , т . е . объяснить программе
    к виду каких данных эти опены относятся ( целые , дробные , строчные , логические )

    double open_0 = Open [ 0 ] ; //  double - дробное число. 0 и 1 это номера ячееек,
    double open_1 = Open [ 1 ] ; // которые в данном случае являются номерами баров
        
    if ( MA_1 < Open [ 1 ] & & MA_0 > Open [ 0 ] )
     if ( CheckOrders ( OP_SELL ) ) //продажа
      {
       if ( ! OrderSend ( Symbol ( ) , OP_BUY , Lots , Ask , 3 , 0 , 0 , NULL , MagicNumber ) )
         Print ( "Не открыт ордер Buy. Ошибка №" , GetLastError ( ) ) ; 
       }
       
    if ( MA_1 > Open [ 1 ] & & MA_0 < Open [ 0 ] )
     if ( CheckOrders ( OP_BUY ) ) //покупка
      {
       if ( ! OrderSend ( Symbol ( ) , OP_SELL , Lots , Bid , 3 , 0 , 0 , NULL , MagicNumber ) )
         Print ( "Не открыт ордер Sell. Ошибка №" , GetLastError ( ) ) ; 
       }
//----
   return ( 0 ) ;
  }
 
KONDOR >> :

Cevap için teşekkürler!!!

1. Açıklığa kavuşturayım, double open_0 ve double_1 olan iki satır double MA satırından ÖNCE yazılmalıdır, yoksa kritik değil mi ??????...

2. Ticaret koşullarında, open[0,1] yerine open_0,1 ?????????.....

 
igrok2008 >> :

Cevap için teşekkürler!!!

1. Açıklığa kavuşturayım, double open_0 ve double_1 olan iki satır double MA satırından ÖNCE yazılmalıdır, yoksa kritik değil mi ??????...

2. Ticaret koşullarında, open[0,1] yerine open_0,1 ?????????.....

1. kritik değil

2. can

 

Lütfen yardım edin... belki tembelim, tabii ki, ama bir demo veya gerçek hesap üzerinde işlem yapmak için programı nasıl bağlayacağımı çözemiyorum... lütfen nereye yazacağımı, nerede şarkı söyleyeceğimi açıklayın, ben rica ederim...şimdiden teşekkürler!))

 
yazma - yazdı, test cihazında işlem gördü, ancak demo veya gerçek anlaşma yapmak istemiyor ve genel olarak sinyal yok, olmasına rağmen (((
 
keekkenen >> :

1. kritik değil

2. can

CGFCB<J yani TEŞEKKÜR EDERİZ!!!!

Neden: