Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 827

 
Veterros :

Son satırda çok sayıda parantez var. Belki boş olanları kaldırmayı deneyin.
Çok fazla parantez yok, asıl mesele açılış ve kapanışın eşit olması gerektiğidir.
 
alexeymosc :

Merhaba! İşlevlerin dışında bir dizi bildirirken neden bir hata olduğunu anlamıyorum.

Hata: '[' - geçersiz dizin değeri  

İki boyutlu dinamik olmayan bir diziyi değişken dizinleri olarak nasıl bildirebilirim?

Statik yerine const ayarlamaya çalıştım. Ayrıca [][] denendi. Hala bir hata

Ders kitabında, bu soruya bir kez ve herkes için nereye bakacağınızı tıklayın, lütfen.  

Çünkü değişkenlere değerlerin atandığı sıraya rağmen, program çalıştırılana kadar başlatılmamış olarak kalırlar. Yani, int Oninit() başlayana kadar, dizinin boyutu olarak kullandığınız değişken başlatılmaz. Bu satırı Oninit()'e iletin ve her şey işe yarayacaktır...
 

En basit kodum siparişleri açmıyor.

Günlük şunu söylüyor: '1419717': piyasa sl'sinde 0,01 EURUSD satın alma siparişi: 1,13720 tp: 1,13842 başarısız [Geçersiz S/L veya T/P]

Burada (forumda) bir ipucu verdiler: "Durma ve Alımların normalleştirilmesi gerekiyor!"

Bu sözün ne anlama geldiğini anlamadım?

Derleyici herhangi bir hata veya uyarı vermez. Test ederken her şey çalışıyor. Sadece nerede ve ne okuyacağımı bilmiyorum.

Açıklamak için çok uzunsa, lütfen zararı durdur ve kârı nasıl normalleştireceğinizi okuyabileceğiniz bir bağlantı gönderin.

Şimdiden teşekkürler.

 double Lots= 0.01 ;
double TakeProfit= 100 ;
double StopLoss= 10 ;
int tk= 0 ;

void start()
{
   if ( OrdersTotal ()== 0 )
      {
         tk= OrderSend ( Symbol (),OP_BUY,Lots,Ask, 3 ,Bid-StopLoss* Point ,Ask+TakeProfit* Point , 0 , 0 , 0 ,Green);
         if (tk< 0 ) 
         {
             Print ( "OrderSend завершилась с ошибкой #" , GetLastError ());
         }
         else          
         {
             Print ( "Функция OrderSend успешно выполнена" );
         }
      }
}
 
AlexeyVik :
Çünkü değişkenlere değerlerin atandığı sıraya rağmen, program çalıştırılana kadar başlatılmamış olarak kalırlar. Yani, int Oninit() başlayana kadar, dizinin boyutu olarak kullandığınız değişken başlatılmaz. Bu satırı Oninit()'e iletin ve her şey işe yarayacaktır...

Alexey Vik Teşekkürler!

Öyle yapacağım. Oninit hakkında düşünmedim, ama muhtemelen öyle.

 

Söyle bana, lütfen)))

Grafikte birkaç grafik nesne var.

Yeni bir çubuk oluşturmayı bitirdi. Herhangi bir grafik nesneye dokunup dokunmadığını belirlemenin en kolay yolu nedir?

(Her nasılsa tüm nesnelerin fiyatlarını sıralamak ve herhangi birinde son çubuğun bir fiyat aralığı olup olmadığını karşılaştırmak istemiyorum)

Yani, bu koordinatlarda herhangi bir grafik nesnenin olup olmadığının nasıl belirleneceği konusunda bir miktar fiyat ve zaman aralığı vardır.

 
favidu :

En basit kodum siparişleri açmıyor.

Günlük şunu söylüyor: '1419717': piyasa sl'sinde 0,01 EURUSD satın alma siparişi: 1,13720 tp: 1,13842 başarısız [Geçersiz S/L veya T/P]

Burada (forumda) bir ipucu verdiler: "Durma ve Alımların normalleştirilmesi gerekiyor!"

Bu sözün ne anlama geldiğini anlamadım?

Derleyici hiçbir hata veya uyarı üretmez. Test ederken her şey çalışıyor. Sadece nerede ve ne okuyacağımı bilmiyorum.

Açıklamak için çok uzunsa, lütfen zararı durdur ve kârı nasıl normalleştireceğinizi okuyabileceğiniz bir bağlantı gönderin.

Şimdiden teşekkürler.

NormalizeDouble() referansı kazın. Ancak , bir piyasa emrinin açılışı sırasında broker stop koymaya izin vermiyorsa, ikinci aşamada sıfır ile girilmeli ve ayrı olarak ayarlanmalıdır. Kod tabanında örnekler var.


tk= OrderSend ( Symbol (),OP_BUY,Lots,Ask, 3 ,NormalizeDouble(Bid-StopLoss* Point ,_Digits),NormalizeDouble(Ask+TakeProfit* Point ,_Digits), 0 , 0 , 0 ,Green);
 
evillive :

NormalizeDouble() referansı kazın. Ancak, bir piyasa emrinin açılışı sırasında broker stop koymaya izin vermiyorsa, ikinci aşamada sıfır ile girilmeli ve ayrı olarak ayarlanmalıdır. Kod tabanında örnekler var.


Çok teşekkürler.
 

Adamlar doğru yöne itiyor...

Örneğin:

 #property strict
#property indicator_chart_window
#property indicator_buffers              0

int init() {

         return ( 0 );
}

int start() {
         if (! GlobalVariableCheck ( StringConcatenate ( "ID_" , Symbol ()))) {
                 long id = ChartID ();
                 Print (id);
                 GlobalVariableSet ( StringConcatenate ( "ID_" , Symbol ()), id);
        }
         return ( 0 );
}

Her zaman yazdırdığını kaydetmez..

Bunun gibi bir şey:

sonuç

ÇADNT?

 
Eh, gönderir göndermez sunucu hemen 404'e gitti =)
 

Geçici olarak üst basamakları ayrı, küçükleri ayrı ayrı yazdı.

Görünüşe göre long, double türündeki global bir değişkene yerleştirilmemiş.

Burada " tamsayı 9223372036854774784'ten büyük veya -9223372036854774784'ten küçükse " dışında herhangi bir sorun olmaması gerektiği açıklansa da.

Ancak, ID = 130659893770676840'ın en az bir tam basamak ile 9223372036854774784'ten küçük olduğunu kabul etmelisiniz.


Not Birisi hatamı açıklayabilirse veya bu bir aksaklık, şimdiden teşekkürler. buraya bakacağım.

Neden: