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

 
dzhini :
Peki .... lütfen PROFI, göstergeyle ne yapılacağına bir cevap verin. Söyle bana, mümkün mü yoksa imkansız mı? (soru daha önce dalda yazılmıştı, çoğaltırsam ikinci bir sarı sorum olacak: o))

Tarihin kökünden sökülmesi gerekiyor.

Alpari'de sorun yok. Diğer brokerlerin sorunları var. Hangilerini hatırlamıyorum (özellikle burada forumda onlardan bahsetmemek geleneksel olduğu için).

 
SiparişlerToplam
int Sipariş Toplamı()
Açık ve bekleyen siparişlerin toplam sayısını verir.

Sadece toplam açık sipariş sayısını öğrenmek mümkün müdür?
 
gince :

Tarihin kökünden sökülmesi gerekiyor.

Alpari'de sorun yok. Diğer brokerlerin sorunları var. Hangilerini hatırlamıyorum (dahası, onlar hakkında burada forumda konuşmamak gelenekseldir).

Haziran 2010'un sonundan bu yana yeterince tarih var (teoride bu, Ocak 2011'i oluşturmak için yeterli olmalıdır). Ama bu bile işe yaramıyor. Gösterge komutlarının uyumluluğunda ve test cihazının çalışmasında bazı temel noktalar vardır.
 
Jaguar1974 :
Sadece açık siparişlerin toplam sayısını öğrenmek mümkün müdür?
 int Opend(){
     int Ord= 0 ;
     for ( int cnt= 0 ;cnt< OrdersTotal ();cnt++){
         if ( OrderSelect (cnt,SELECT_BY_POS,MODE_TRADES)==true){
           if (OrderMagicNumber()==Magic){
             if (OrderSymbol()== Symbol ()){
               if (OrderType()< 2 )Ord++;
      } } } }        
   return (Ord);} 
 
Tünaydın! Sorunu çözmeye yardımcı olun. Bir e-CrossCCI Uzman Danışmanı var (benim değil). Expert Advisor, CCİ gösterge çizgisi sıfır seviyesini geçtiğinde çalışır, nasıl çalışır (karlı olup olmaması önemli değildir). Üstelik hem yerleşik hem de özel göstergelerle çalışır. Premier stokastik bir gösterge var. Danışmanda, gerçek kodu değiştirmeden bırakarak CCI göstergesini Premier stokastik olarak değiştiriyorum (ilke aynı sıfır geçiştir). Test ediyorum. Herhangi bir emir vermiyor. Sorun ne olabilir? Her şey ekte. Sorunu çözmenin sonucu, mümkünse ban_61@mail.ru/

Şimdiden teşekkürler!!!
Dosyalar:
123.rar  4 kb
 
ban61 :
Tünaydın! Sorunu çözmeye yardımcı olun. Bir e-CrossCCI Uzman Danışmanı var (benim değil). Expert Advisor, CCİ gösterge çizgisi sıfır seviyesini geçtiğinde çalışır, nasıl çalışır (karlı olup olmaması önemli değildir). Üstelik hem yerleşik hem de özel göstergelerle çalışır. Premier stokastik bir gösterge var. Danışmanda, gerçek kodu değiştirmeden bırakarak CCI göstergesini Premier stokastik olarak değiştiriyorum (ilke aynı sıfır geçiştir). Test ediyorum. Herhangi bir emir vermiyor. Sorun ne olabilir? Her şey ekte. Sorunu çözmenin sonucu, mümkünse ban_61@mail.ru/

Şimdiden teşekkürler!!!
Gösterge arabelleklerinin nasıl çalıştığını anlamaya çalıştınız mı? Çok faydalı makale (https://docs.mql4.com/en/indicators/iCustom)
 
dzhini :
Gösterge arabelleklerinin nasıl çalıştığını anlamaya çalıştınız mı? Çok faydalı makale (https://docs.mql4.com/ru/indicators/iCustom)

makaleyi okudum. Premier stokastik göstergesi de doğru yazılmıştır, giriş parametreleri eklenmiştir:

extern int StokastikUzunluk=8;

extern int StokastikModu=0;

extern int SmoothLength=25;

dış çift Seviye1=0.9;

dış çift Düzey2=0.2;

kayıtlı gösterge

double cci = iCustom(NULL,0,"Premier stokastik",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,1);

double cci1 = iCustom(NULL,0,"Premier stokastik",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,2);

kaynak kodun geri kalanı değişmeden bırakılır.

-

-

 
ban61 :

makaleyi okudum. Premier stokastik göstergesi de doğru yazılmıştır, giriş parametreleri eklenmiştir:

extern int StokastikUzunluk=8;

extern int StokastikModu=0;

extern int SmoothLength=25;

dış çift Seviye1=0.9;

dış çift Düzey2=0.2;

kayıtlı gösterge

double cci = iCustom(NULL,0,"Premier stokastik",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,1);

double cci1 = iCustom(NULL,0,"Premier stokastik",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,2);

kaynak kodun geri kalanı değişmeden bırakılır.

-

-

S: Nasıl kod yazılacağını öğrenmek mi yoksa sadece botunuzu tamir ettirmek mi istiyorsunuz? İlki ise, emrin neden yürütüldüğünü anlamanız gerekir. İkincisi olsaydı, hemen söylerlerdi ...

Ve kodunuza göre, önceki mumdaki ve önceki mumdaki aynı tampondan (5 tane olan) veri alır ve şu koşulların oluşmasını bekler: (cci1<0 && cci>0) veya (cci1> 0 && cci<0) . ... ve bana öyle geliyor ki onları uzun yıllar bekleyecek.

 
Lütfen biri önceki soruma baksın. Hatayı tanımlayıp düzeltemiyorum. Kod derlenir, ancak test cihazında beklenen sonucu vermez.
 

Merhaba!

Basit bir sorum var.

Küçük bir program var, üç dosyadan oluşuyor:

1. uzman cilt1, int start (), vb. içeren dosya.

 #include <Variables.mq4>
#import "statistics.mq4"
#import "files.mq4"

int init_main ( double &MAIN[], int quantity);
int write ( int fh);
int init()
  {  
   return ( 0 );
  }
int deinit()
  {
   return ( 0 );
  }
int start()
  {
  
  init_main(MAIN, 50000 );
for ( int i = 0 ; i < 1000 ; i++){
int fh = write(Name);
}
   return ( 0 );
  }

Gördüğünüz gibi, #include <Variables.mq4> ekliyorum
ve #import "statistics.mq4", #import "files.mq4" dosyasını içe aktarın.

2. Variables.mq4 - değişkenler içerir.

 string   Name = "new" ;
double MAIN [ 50000 ];
double TEN [ 10 ];
double CUR [ 10 ];
3. files.mq4 bu dosya çeşitli işlevler içerir

 int init_main ( double &MAIN[], int quantity){

int count = 0 ;
int time = 0 ;
int end_time = 0 ;

time = TimeCurrent ();

end_time = time + quantity;


while (time != end_time){

MAIN[count] = Ask;

Alert (MAIN[count]);

count++;

time = TimeCurrent ();

while (time == TimeCurrent ()){}

}
}

int write ( int fh){ 

if (fh <   0 ){
     
     Alert ( "Неудается открыть файл с таким именем, ошибка " , GetLastError () );
     FileClose (fh);
                  }
     
                      
                       if (fh > 0 ) {

                       //Alert("Записываю тики в файл ", file_name, " !");
                       //Alert(StrToInteger(CharToStr(StringGetChar(file_name,0))));
                     
                 
                 
               
                       FileSeek (fh, 0 , SEEK_END );
                       FileWrite (fh, TimeToStr( TimeCurrent (), TIME_DATE|TIME_SECONDS), " " , Ask, " " , Bid);
                       FileClose (fh);
                       return ;

            }  
}
Sorunun özü, derleyicinin bana 'MAIN' vermesidir - değişken tanımlanmamıştır ve

'Ad' - değişken tanımlanmadı!

Ama nasıl oldu, onları Variables.mq4 olarak mı ilan ettim?

Herhangi biri yardım edebilirse çok minnettar olurum!

Cevabınız için şimdiden teşekkür ederiz!