[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 229

 
Sh.ProTrader :

Merhaba!

Lütfen bu soruda bana yardım edin:

Program kodunda sıfırdan sonra beş basamaklı bir değerle EURUSD döviz çiftinin açılış ( Open [i] ) veya kapanışının ( Close [i] ) tam değerini almaya çalışıyorum ve yanıt olarak sürekli alıyorum yuvarlatılmış bir değer!


değeri ekranda görüntülerken DoubleToStr(value, Digits ) işlevini kullanın;
 

Merhaba.

Yeni başlayan biri olarak bir sorum var:

açık pozisyonlar için mevcut "Kar" ve MQL4'teki toplam hakkında veri nasıl alınır; mevcut bakiye verileri nasıl alınır.

 

Belgelerde Hesap Bilgileri öğesi vardır. siparişler hakkında bazı bilgiler için herhangi bir fonksiyon yoksa, tüm siparişleri gözden geçirmeniz ve gerekli bilgiler hakkında gerekli bilgileri almanız gerekir.

 

Fibonacci fanının belirli bir seviyesinin altında veya üstünde kapanan mumu nasıl belirleyeceğimi söyle?

Kapat[i] bu anlaşılabilir, ancak seviyenin fiyata göre nerede olduğunu nasıl öğrenebilirim?

 
alsu :
değeri ekranda görüntülerken DoubleToStr(değer, Rakamlar) işlevini kullanın;

Çok teşekkür ederim!

Bunu zaten anladım, bu konuyla ilgili tüm forumu inceledim, ancak hiç kimse o kadar net cevap vermedi ki aslında her şey basit.

DoubleToStr(value, Digits) işlevi olmadan Alert() , Comment() veya Print() ile görüntülemeye çalıştığınızda değerin yalnızca 4. ondalık basamağa yuvarlandığı ortaya çıktı.

Ve programdaki hesaplama için, 4. basamağa yuvarlanmadan değerler kullanılır, yuvarlamanız gerekiyorsa, işlevi kullanmanız gerekir.

NormalizeDouble( değer, Dijist ) .

Bu yüzden yardımı dikkatlice okumanız yeterli ve her şey yoluna girecek;)

 
fury2006 :

Fibonacci fanının belirli bir seviyesinin altında veya üstünde kapanan mumu nasıl belirleyeceğimi söyle?

Kapat[i] bu anlaşılabilir, ancak seviyenin fiyata göre nerede olduğunu nasıl öğrenebilirim?


Seviyenin fiyatını programlı olarak talep etmeniz gerekir. Bunu yapmak için önce çizelgeye koymalı ve (tümü programlı olarak) "Fibo" nesnesini yapılandırmalısınız. İlk bakışta göründüğü kadar basit değil. Gerçi tencereleri yakan Tanrılar değil. Ayrıca bir şekilde Fibo seviyeleriyle uğraşmak zorunda kaldım. Ve şimdi bu seviyelerin işlenmesi ile bir sipariş veriyorum. Genel olarak, isterseniz, anlayabilirsiniz.

İşte bir grafikte fibo oluşturmak için bir kod örneği.

 if (Ind1>Ind2 && Ind2!= 0 ){ //индикатор прорисовался вверх, рисуем фибо вверх
      IndUp=true;IndDown=false;
      fff= ObjectFind ( "FiboLewels" );
       if (fff==- 1 ){
         if (! ObjectCreate ( "FiboLewels" , OBJ_FIBO , 0 ,Time[Maximum(Ind1)],Ind1,Time[Minimum(Ind2)],Ind2)){
          GeneralError();
        }
         if (!ObjectSet( "FiboLewels" , OBJPROP_COLOR , Red )||!ObjectSet( "FiboLewels" , OBJPROP_LEVELCOLOR , Blue )){
          GeneralError();
        }
         // ------ Устанавливаем количество уровней фибо ----------
                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIBOLEVELS, 22 )){
                                        GeneralError();
                                }
                                 // ------- Устанавливаем свойства фибоуровней ------------
                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 0 , 0 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 0 , "0.0     %$" )){GeneralError();}
   
                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 1 , 0.118 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 1 , "11.8     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 2 , 0.236 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 2 , "23.6     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 3 , 0.382 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 3 , "38.2     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 4 , 0.5 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 4 , "50.0     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 5 , 0.618 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 5 , "61.8     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 6 , 0.764 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 6 , "76.4     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 7 , 0.882 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 7 , "88.2     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 8 , 1 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 8 , "100.0     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 9 , 1.118 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 9 , "111.8     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 10 , 1.236 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 10 , "123.6     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 11 , 1.382 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 11 , "138.2     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 12 , 1.618 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 12 , "161.8     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 13 , 2 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 13 , "200.0     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 14 , 2.382 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 14 , "238.2     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 15 , 2.618 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 15 , "261.8     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 16 , 3 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 16 , "300.0     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 17 , 3.382 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 17 , "338.2     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 18 , 3.618 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 18 , "361.8     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 19 , 4 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 19 , "400.0     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 20 , 4.236 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 20 , "423.6     %$" )){GeneralError();}

                                 if (!ObjectSet( "FiboLewels" ,OBJPROP_FIRSTLEVEL+ 21 , 4.618 )){GeneralError();}
                                 if (!ObjectSetFiboDescription( "FiboLewels" , 21 , "461.8     %$" )){GeneralError();}
      } 
    }

Seviye fiyatını talep etmek için bir alt program yapmam gerekiyordu. İşte burada (ne olduğunu anlamak istiyorsanız)

 // ------------- PriceSignLevelUp() -----------------------------------------------
// функция возвращает цену сигнального уровня при прорисовке индикатора вверх
//---------------------------------------------------------------------------------
double PriceSignLevelUp( double Level, double Ind1, double Ind2){
   double Fibo0= 0 ,Fibo100= 0 ,Rst= 0 ;
  Fibo0=Ind2;
  Fibo100=Ind1;
  Rst=Ind1-Ind2;
   switch (Level){
     case 0 :          Level= NormalizeDouble (Fibo0,digits); break ;
     case 11.8 :       Level= NormalizeDouble (Fibo0+Rst* 0.118 ,digits); break ;
     case 23.6 :       Level= NormalizeDouble (Fibo0+Rst* 0.236 ,digits); break ;
     case 38.2 :       Level= NormalizeDouble (Fibo0+Rst* 0.382 ,digits); break ;
     case 50 :         Level= NormalizeDouble (Fibo0+Rst* 0.5 ,digits); break ;
     case 61.8 :       Level= NormalizeDouble (Fibo0+Rst* 0.618 ,digits); break ;
     case 76.4 :       Level= NormalizeDouble (Fibo0+Rst* 0.764 ,digits); break ;
     case 88.2 :       Level= NormalizeDouble (Fibo0+Rst* 0.882 ,digits); break ;
     case 100 :        Level= NormalizeDouble (Fibo100,digits); break ;
     case 111.8 :      Level= NormalizeDouble (Fibo0+Rst* 1.118 ,digits); break ;
     case 123.6 :      Level= NormalizeDouble (Fibo0+Rst* 1.236 ,digits); break ;
     case 138.2 :      Level= NormalizeDouble (Fibo0+Rst* 1.382 ,digits); break ;
     case 161.8 :      Level= NormalizeDouble (Fibo0+Rst* 1.618 ,digits); break ;
     case 200 :        Level= NormalizeDouble (Fibo0+Rst* 2 ,digits); break ;
     case 238.2 :      Level= NormalizeDouble (Fibo0+Rst* 2.382 ,digits); break ;
     case 261.8 :      Level= NormalizeDouble (Fibo0+Rst* 2.618 ,digits); break ;
     case 300 :        Level= NormalizeDouble (Fibo0+Rst* 3 ,digits); break ;
     case 338.2 :      Level= NormalizeDouble (Fibo0+Rst* 3.382 ,digits); break ;
     case 361.8 :      Level= NormalizeDouble (Fibo0+Rst* 3.618 ,digits); break ;
     case 400 :        Level= NormalizeDouble (Fibo0+Rst* 4 ,digits); break ;
     case 423.6 :      Level= NormalizeDouble (Fibo0+Rst* 4.236 ,digits); break ;
     case 461.8 :      Level= NormalizeDouble (Fibo0+Rst* 4.618 ,digits); break ;
  }         
   return (Level);
}
 

İyi akşamlar! Dün gece kendim, ticaretin yeni boyutları olan Williams'a, dün 30'a, bugün 50 sayfaya kadar baktım.

Neyin ne olduğunu daha iyi anlamak için bir robot yazdım ama hiç çalışmıyor, test cihazında tek bir işlem yok ve Alert("buy",GetLastError()) uyarısı hiçbir şey yazmıyor.

Herhangi bir makul tavsiyeyi memnuniyetle okuyacağım, lütfen.

//+------------------------------------------- --------------------+
//| Aligatorny.mq4 |
//| Telif Hakkı © 2011, MetaQuotes Yazılım A.Ş. |
//| http://www.metaquotes.net |
//+------------------------------------------- --------------------+
#property telif hakkı "Telif hakkı © 2011, MetaQuotes Software Corp."
#özellik bağlantısı "http://www.metaquotes.net"
extern int çene_dönemi=13, diş_dönemi=8,çene_kaygısı=8,tteeth_dönemi=5,diş_değişimi=5,lips_period=3,lips_shift=3;
harici çift hacim=0,1, stoploss=20,takeprofit=50;
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
//----

//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman sıfırlama işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
//----

//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int bileti;
int başlangıç()
{çift mavi, kırmızı, yeşil;
//----
blu= iAlligator( 0, 0, çene_dönemi, çene_kaygısı, tteeth_dönemi, dişler_değiştirdi, dudaklar_dönemi, dudaklar_değiştirdi, MODE_SMA,PRICE_CLOSE,MODE_GATORJAW, 0) ;
red= iAlligator( 0, 0, çene_dönemi, çene_kaydırma, tteeth_period, diş_kaydırma, dudaklar_dönemi, dudak_kaydırma, MODE_SMA,PRICE_CLOSE,MODE_GATORTEETH, 0) ;
grin= iAlligator( 0, 0, çene_dönemi, çene_kaygısı, tteeth_dönemi, dişler_değiştirdi, dudaklar_dönemi, dudaklar_değişimi, MODE_SMA,PRICE_CLOSE,MODE_GATORLIPS, 0) ;
//----


double Fraktalu,Fractall;Fractalu= iFractals( 0, 0, MODE_UPPER, 0) ;Fractall=iFractals( 0, 0,MODE_LOWER, 0);


if (Fractalu>0&&Fractalu>blu&&Fractalu>red&&Fractalu>grin)
{ tiket= OrderSend( 0, OP_BUY, hacim, Bid, Point*3, Bid- stoploss*Point, Bid+ kar al*Puan, "Pos66", 1234567890, 0, Red);Alert("satın al",GetLastError()); }

if (Fractall>0&&Fractalu<blu&&Fractalu<red&&Fractalu<grin)


{ tiket= OrderSend( 0, OP_SEL, volume, Ask, Point*3, Ask+ stoploss*Point, Ask- takeprofit*Point, "Pos66", 1234567890, 0, Blue);Alert("sell",GetLastError()); }




dönüş(0);
}
//+------------------------------------------- --------------------+

 
Dimka-novitsek :

İyi akşamlar! Dün gece kendim, ticaretin yeni boyutları olan Williams'a, dün 30'a, bugün 50 sayfaya kadar baktım.

Neyin ne olduğunu daha iyi anlamak için robot yazdım ama hiç çalışmıyor testerda tek bir anlaşma yok ve Alert("buy",GetLastError()) uyarısı hiçbir şey yazmıyor

Herhangi bir makul tavsiyeyi memnuniyetle okuyacağım, lütfen.

//+------------------------------------------- --------------------+
//| Aligatorny.mq4 |
//| Telif Hakkı © 2011, MetaQuotes Yazılım A.Ş. |
//| http://www.metaquotes.net |
//+------------------------------------------- --------------------+
#property telif hakkı "Telif hakkı © 2011, MetaQuotes Software Corp."
#özellik bağlantısı "http://www.metaquotes.net"
extern int çene_dönemi=13, diş_dönemi=8,çene_kaygısı=8,tteeth_dönemi=5,diş_değişimi=5,lips_period=3,lips_shift=3;
harici çift hacim=0,1, stoploss=20,takeprofit=50;
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
//----

//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman sıfırlama işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
//----

//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int bileti;
int başlangıç()
{çift mavi, kırmızı, yeşil;
//----
blu= iAlligator( 0, 0, çene_dönemi, çene_kaygısı, tteeth_dönemi, dişler_değiştirdi, dudaklar_dönemi, dudaklar_değiştirdi, MODE_SMA,PRICE_CLOSE,MODE_GATORJAW, 0) ;
red= iAlligator( 0, 0, çene_dönemi, çene_kaydırma, tteeth_period, diş_kaydırma, dudaklar_dönemi, dudak_kaydırma, MODE_SMA,PRICE_CLOSE,MODE_GATORTEETH, 0) ;
grin= iAlligator( 0, 0, çene_dönemi, çene_kaygısı, tteeth_dönemi, dişler_değiştirdi, dudaklar_dönemi, dudaklar_değişimi, MODE_SMA,PRICE_CLOSE,MODE_GATORLIPS, 0) ;
//----


double Fraktalu,Fractall;Fractalu= iFractals( 0, 0, MODE_UPPER, 0) ;Fractall=iFractals( 0, 0,MODE_LOWER, 0);


if (Fractalu>0&&Fractalu>blu&&Fractalu>red&&Fractalu>grin)
{ tiket= OrderSend( 0, OP_BUY, hacim, Bid, Point*3, Bid- stoploss*Point, Bid+ kar al*Puan, "Pos66", 1234567890, 0, Red);Alert("satın al",GetLastError()); }

if (Fractall>0&&Fractalu<blu&&Fractalu<red&&Fractalu<grin)


{ tiket= OrderSend( 0, OP_SEL, volume, Ask, Point*3, Ask+ stoploss*Point, Ask- takeprofit*Point, "Pos66", 1234567890, 0, Blue);Alert("sell",GetLastError()); }




dönüş(0);
}
//+------------------------------------------- --------------------+


"Her şey senden önce çalındı" ve "Atlarınız sessizce dörtnala gidiyor" ... :-)))

Buraya bak.

 

Teşekkürler!!!

Ama aynı zamanda kodlamayı da öğrenmek istiyordum, genel olarak neyin yanlış olduğunu anlamak istiyordum.

 

129 hatasına ( yanlış fiyat) ne sebep olabilir?