Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 1134
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Sevgili programcılar, sizden bu konuda bir acemi yardım etmenizi rica ediyorum.
Danışman belirli bir süre sonra sürekli olarak hem alış hem de satış için emirler açar. Son emri açtıktan sonra, öncekilerin hepsini değiştirmem gerekiyor (peki, eğer zaten spesifikse, o zaman öncekilerin hepsi sonda kapansın diye kar alır. Yani, eğer son alış ve önceki satışsa, o zaman önceki zarar durdurma , son kar alma düzeyine ayarlanır,
önceki alım ise, o zaman kar al, son kar al seviyesine yerleştirilir. peki, vb. Mesele şu ki, son emrin karını al gerçekleştiğinde, tüm emirler kapatılmalıdır.).
Nasıl uygulanacağını anlamak zor olsa da umarım net bir şekilde anlatabilmişimdir. Şimdiden teşekkürler.
Tüm açık siparişleri gözden geçirip değiştirebileceğinizi anlıyorum, ancak sonuncusu nasıl atlanır?
Bütün bunlardaki en önemli şey, ne olması gerektiğinin anlaşılmasıdır.
"Son sipariş" nedir? En son açılış saati? Yoksa açılış fiyatının seviyesine göre mi?
Ve eğer "son" siparişi sayarsak ve fiyat yuh'a giderse? Ya da tam tersi, sonuncusu SATIŞ olacak ve fiyat kuzeye mi gidiyor? O zaman hangisi son olarak kabul edilmelidir? Planı uygulamak için tam olarak anlamanız gereken şey budur.
Merhaba. Dizide önceden kaç öğe olacağını bilmiyorsanız, dizinin her yeni öğeyle büyümesi için bir diziyi nasıl bildirirsiniz?
Daha açık hale getirmek için bir örnek:
for ( int i= 0 ; i< 1000 ; i++)
{
if (A[i]<B[i])
HighA[i]=A[i];
}
Print ( ">>>>>>>>>>>..ArraySize(HighA)= " , ArraySize (HighA));
Merhaba. Dizide önceden kaç öğe olacağını bilmiyorsanız, dizinin her yeni öğeyle büyümesi için bir diziyi nasıl bildirirsiniz?
Daha açık hale getirmek için bir örnek:
for ( int i= 0 ; i< 1000 ; i++)
{
if (A[i]<B[i])
HighA[i]=A[i];
}
Print ( ">>>>>>>>>>>..ArraySize(HighA)= " , ArraySize (HighA));
Belgeleri daha sık okumalısınız.
Okuyorum ve deniyorum ama "dizi menzil dışında" hatası alıyorum. Örneğin, şöyle görünüyordu:
for ( int i= 0 ; i< 1000 ; i++)
{
if (A[i]<B[i])
{
countHlines++;
ArrayResize (HighA,countHlines);
HighA[i]=A[i];
}
}
Print (">>>>>>>>>>>.. ArraySize (HighA)= ", ArraySize (HighA));
Okuyorum ve deniyorum ama "dizi menzil dışında" hatası alıyorum. Örneğin, şöyle görünüyordu:
for ( int i= 0 ; i< 1000 ; i++)
{
if (A[i]<B[i])
{
countHlines++;
ArrayResize (HighA,countHlines);
HighA[i]=A[i];
}
}
Print (">>>>>>>>>>>.. ArraySize (HighA)= ", ArraySize (HighA));
A[i] < B[i] koşulu karşılanmadığında, dizinin boyutu değişmeden kalır ve döngü sayacı artar. Bu yüzden ötesine geçmek...
O zaman dene
for ( int i= 0 ; i< 1000 ; i++)
{
if (A[i]<B[i])
{
int size = ArraySize (HighA);
ArrayResize (HighA, size+ 1 );
HighA[ size ]=A[i];
}
}
Print (">>>>>>>>>>>.. ArraySize (HighA)= ", ArraySize (HighA));
A[i] < B[i] koşulu karşılanmadığında, dizinin boyutu değişmeden kalır ve döngü sayacı artar. Bu yüzden ötesine geçmek...
O zaman dene
for ( int i= 0 ; i< 1000 ; i++)
{
if (A[i]<B[i])
{
int size = ArraySize (HighA);
ArrayResize (HighA, size+ 1 );
HighA[ size ]=A[i];
}
}
Print (">>>>>>>>>>>.. ArraySize (HighA)= ", ArraySize (HighA));
Okudum ve denedim ama "dizi aralık dışında" hatası alıyordum. Örneğin, şöyle görünüyordu:
for ( int i= 0 ; i< 1000 ; i++)
{
if (A[i]<B[i])
{
countHlines++;
ArrayResize (HighA,countHlines);
HighA[i]=A[i];
}
}
Print (">>>>>>>>>>>.. ArraySize (HighA)= ", ArraySize (HighA));
Peki, daha hızlı çalışacak.
double HighA[];
for ( int i= 0 ; i< 1000 ; i++)
{
if (A[i]<B[i])
{
countHlines++;
ArrayResize (HighA,countHlines);
HighA[countHlines- 1 ]=A[i];
}
}
Print ( ">>>>>>>>>>>..ArraySize(HighA)= " , ArraySize (HighA));
// Вариант №2
int countHlines=- 1 ;
double HighA[];
for ( int i= 0 ; i< 1000 ; i++)
{
if (A[i]<B[i])
{
countHlines++;
ArrayResize (HighA,countHlines+ 1 );
HighA[countHlines]=A[i];
}
}
Print ( ">>>>>>>>>>>..ArraySize(HighA)= " , ArraySize (HighA));
Peki, daha hızlı çalışacak.
double HighA[];
for ( int i= 0 ; i< 1000 ; i++)
{
if (A[i]<B[i])
{
countHlines++;
ArrayResize (HighA,countHlines);
HighA[countHlines- 1 ]=A[i];
}
}
Print ( ">>>>>>>>>>>..ArraySize(HighA)= " , ArraySize (HighA));
// Вариант №2
int countHlines=- 1 ;
double HighA[];
for ( int i= 0 ; i< 1000 ; i++)
{
if (A[i]<B[i])
{
countHlines++;
ArrayResize (HighA,countHlines+ 1 );
HighA[countHlines]=A[i];
}
}
Print ( ">>>>>>>>>>>..ArraySize(HighA)= " , ArraySize (HighA));
Teşekkürler, açık! ArraySize sayesinde daha hızlı çalışacak, bir şekilde yavaşlıyor mu?
Biraz ama anlaşılır ve hataya karşı sigortalıdır.