[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 224

 

Siparişler neden açılmıyor!

Lütfen bana bu kodun neden çalışmadığını söyleyin.

Özellikle dizinin değerleri arasında oluşan bir fiyatla açılan mumların olduğu 2000 yılında (beşinci hane her yerde 0'a eşit olduğunda) grafiğin dönemini seçtim.

Planıma göre - açılışlarında bir sipariş çalışmalı - ama bu olmuyor ...... NEDEN????


 int start()



{

 double Price=iOpen ( Symbol (), 0 , 0 );        
 double SL= NormalizeDouble (Price- 3000 * Point , Digits );         
 double TP= NormalizeDouble (Price+ 100 * Point , Digits );
 
 double massiv [ 4 ]={ 0.85370 , 0.85690 ,     0.85970 , 0.86170 }; //объявление и инициализация массива


 double value =  Bid ; // параметру value функции ArrayBsearch присваивается значение текущей цены
 int S = ArrayBsearch (  massiv[ 4 ],  value, WHOLE_ARRAY ,   0 , MODE_ASCEND); //функция ищет самое близкое к текущей цене значение
 if (Bid == massiv[S]) //если текущая цена равна значению возвращенному  функцией .
 if (Bid==Price  ) // и данная цена есть цена открытия нового бара
 OrderSend ( Symbol (),OP_BUY, 0.1 ,Ask, 3 ,SL,TP, "jfh" , 123 ); //открыть ордер       
}
 
solnce600 :

İlk haneden sonra virgül olan satırda (yani fiyat) 100 değer vardır.

bir çizgi seçiyorum

Ana Sayfa - bul ve değiştir

Tüm virgülleri noktalara çeviriyorum - başarıyla.

Şimdi değerler arasına virgül koymanız gerekiyor

Şimdi şöyle: Dosya - Farklı kaydet - CSV dosya türünü seçin (ayırıcılar - virgüller). Kaydetmek. Çıktıda istenen formatta bir metin dosyamız var ...

 
solnce600 :

Siparişler neden açılmıyor!

Lütfen bana bu kodun neden çalışmadığını söyleyin.

Özellikle dizinin değerleri arasında oluşan bir fiyatla açılan mumların olduğu 2000 yılında (beşinci hane her yerde 0'a eşit olduğunda) grafiğin dönemini seçtim.

Planıma göre - açılışlarında bir sipariş çalışmalı - ama bu olmuyor ...... NEDEN????



 int S = ArrayBsearch (   massiv ,  value, WHOLE_ARRAY ,   0 , MODE_ASCEND); //функция ищет самое близкое к текущей цене значение

masiv[4] masif dizinin 4. öğesi anlamına gelir, ancak bir arama olması için dizinin kendisini işleve geçirmeniz gerekir ...

 
alsu :

Şimdi şöyle: Dosya - Farklı kaydet - CSV dosya türünü seçin (ayırıcılar - virgüller). Kaydetmek. Çıktı olarak istediğimiz formatta bir metin dosyamız var ...



Anlaşıldı.Çok teşekkür ederim.Lütfen işlevimin neden çalışmadığını söyleyin (yukarıdaki gönderi).

Çok teşekkür ederim Programlamayı öğrenirsem...... sadece senin sayende......!

 
solnce600 :

Siparişler neden açılmıyor!

Lütfen bana bu kodun neden çalışmadığını söyleyin.

Özellikle dizinin değerleri arasında oluşan bir fiyatla açılan mumların olduğu 2000 yılında (beşinci hane her yerde 0'a eşit olduğunda) grafiğin dönemini seçtim.

Planıma göre - açılışlarında bir sipariş çalışmalı - ama bu olmuyor ...... NEDEN????


Bunun yerine çift sayıları yazmak için karşılaştırırken de güzel olurdu.

 if (Bid == massiv[S])

bunun gibi:

 if ( NormalizeDouble (Bid-massiv[S], Digits )== 0 )
 
alsu :

masiv[4] masif dizinin 4. öğesi anlamına gelir, ancak bir arama olması için dizinin kendisini işleve geçirmeniz gerekir ...

Anladım çok teşekkür ederim
 
solnce600 :

Siparişler neden açılmıyor!

Lütfen bana bu kodun neden çalışmadığını söyleyin.

Özellikle dizinin değerleri arasında oluşan bir fiyatla açılan mumların olduğu 2000 yılında (beşinci hane her yerde 0'a eşit olduğunda) grafiğin dönemini seçtim.

Planıma göre - açılışlarında bir sipariş çalışmalı - ama bu olmuyor ...... NEDEN????

"Yetişkin" yöntemine geçme zamanı! - sonuca ulaşmak için kodunuzu deneyin.

İpucu: Farklarını normalleştirerek değişkenleri karşılaştırmaya alışın:

     double ld_Delta = 10 . * Point ;
     if (NormalizeDouble ( MathAbs (Bid - Price), Digits) <= ld_Delta) // и данная цена есть цена открытия нового бара
    { OrderSend ( Symbol (),OP_BUY, 0.1 ,Ask, 3 ,SL,TP, "jfh" , 123 );} //открыть ордер       

ve bahsettiğim deney için ld_Delta ile "oynayın".

 
solnce600 :

Anlaşıldı.Çok teşekkür ederim.Lütfen işlevimin neden çalışmadığını söyleyin (yukarıdaki gönderi).

Çok teşekkür ederim Programlamayı öğrenirsem ...... o zaman sadece senin sayende .....!


Öğrenirseniz, sadece azim ve çalışkanlığınız sayesinde. Benim rolüm çok mütevazı ve hedefler bencilce (size yardım ederek, hataları ve eksiklikleri hızlı bir şekilde bulma yeteneğimi eğitiyorum, bu da programlamaya harcadığım zamanı azaltıyor ve aynı zamanda Moskova'yı iyi durumda tutuyor. Artı , aniden değerli bir fikir kaçar mı? Onu çalacağım :) ))
 
Dahil etmek
alsu :

Öğrenirseniz, sadece azim ve çalışkanlığınız sayesinde. Benim rolüm çok mütevazı ve hedefler bencilce (size yardım ederek, hataları ve eksiklikleri hızlı bir şekilde bulma yeteneğimi eğitiyorum, bu da programlamaya harcadığım zamanı azaltıyor ve aynı zamanda Moskova'yı iyi durumda tutuyor. Artı , aniden değerli bir fikir kaçar mı? Onu çalacağım :) ))

Nitelikli tavsiye - öğrenme sürecini büyük ölçüde hızlandırır.Sorunun cevabını yazarak uzun süre arayabilirsiniz (çünkü hangi yöne çalışacağınızı bilmiyorsunuz)

bana daha fazlasını söyle lütfen

Bir içerme dosyasında bir diziyi bildirmek ve başlatmak istiyorum.

Usta çağırdı.

Seçili - İşlev kitaplığı

Bir isim atandı.

Her şeyi kaldırdı ve diziyi bildirdi ve başlattı.

Dosyayı incluide klasörüne kaydettim, içine mqh değil mq4 uzantısıyla kaydedilmiş

Kodun içine bir dosya çağrı hattı ekledim ve mqh uzantısını belirledim

Ama derleyici şikayet ediyor

'UYTR.mqh' - C:\Program Files\Alpari NZ MT4(2)\experts\hhhh.mq4 (12, 2) program dosyasını açamıyor

 int start()



{

 double Price=iOpen ( Symbol (), 0 , 0 );        
 double SL= NormalizeDouble (Price- 3000 * Point , Digits );         
 double TP= NormalizeDouble (Price+ 100 * Point , Digits );
 
 #include <UYTR.mqh> 


 double value =  Bid ; // параметру value функции ArrayBsearch присваивается значение текущей цены
 int S = ArrayBsearch (  massiv,  value, WHOLE_ARRAY ,   0 , MODE_ASCEND); //функция ищет самое близкое к текущей цене значение
 if (Bid == massiv[S]) //если текущая цена равна значению возвращенному  функцией .
 if (Bid==Price  ) // и данная цена есть цена открытия нового бара
 OrderSend ( Symbol (),OP_BUY, 0.1 ,Ask, 3 ,SL,TP, "jfh" , 123 ); //открыть ордер       
}

Muhtemelen koddaki çağrıdaki dosya ile incluide klasöründeki dosya arasındaki uzantılarda bir tutarsızlık meselesidir.

Lütfen bana bu durumda ne yapacağımı söyle.

Teşekkür ederim.

 
solnce600 :
Dahil etmek

Nitelikli tavsiye - öğrenme sürecini büyük ölçüde hızlandırır.Sorunun cevabını yazarak uzun süre arayabilirsiniz (çünkü hangi yöne çalışacağınızı bilmiyorsunuz)

bana daha fazlasını söyle lütfen

Bir içerme dosyasında bir diziyi bildirmek ve başlatmak istiyorum.

Usta çağırdı.

Seçili - İşlev kitaplığı

Bir isim atandı.

Her şeyi kaldırdı ve diziyi bildirdi ve başlattı.

Dosyayı incluide klasörüne kaydettim, içine mqh değil mq4 uzantısıyla kaydedilmiş

Kodun içine bir dosya çağrı hattı ekledim ve mqh uzantısını belirledim

Ama derleyici şikayet ediyor

'UYTR.mqh' - C:\Program Files\Alpari NZ MT4(2)\experts\hhhh.mq4 (12, 2) program dosyasını açamıyor

Muhtemelen koddaki çağrıdaki dosya ile incluide klasöründeki dosya arasındaki uzantılarda bir tutarsızlık meselesidir.

Lütfen bana bu durumda ne yapacağımı söyle.

Teşekkür ederim.


Sihirbaz aracılığıyla, dahil etme klasöründe mqh uzantısıyla kaydedilecek olan bir içerme dosyasını hemen oluşturma fırsatı vardır. Bundan sonra herhangi bir programa #include <> ile eklenebilir.


yani
Seçilmedi - İşlev kitaplığı,
bir MQH başlık dosyası