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

 
Mathemat :

8 noktadan oluşan bir dizi M[8][8] yerine M[8][2]'dir.

"Herhangi bir üç" - önceden mi seçildi, yoksa ne?


Evet, dizi elbette M[8][2]. Herhangi üçü, hesaplama sırasında belirlenmesi gereken herhangi bir dizidir. Biraz farklı formüle edilebilir: Dairenin merkezinin koordinatlarını ve bu daireye mümkün olduğunca yakın bulunan üç noktanın koordinatlarını bulmak gerekir.
 
 
atztek :


Ve sonra OrderOpenPrice() .


Demek istediğim, anlayacak mı?
 
Myth63 :

Demek istediğim, anlayacak mı?
Hangi anlamda "onu tanımlayacak"?
Açık emirler üzerinde yinelenirsiniz ve her emir için OrderOpenPrice() komutu emrin açıldığı fiyat değerini döndürür.
Değerini bir değişkene atayın ve kullanın.
 
Elenn : Evet, dizi elbette M[8][2]. Herhangi üçü, hesaplama sırasında belirlenmesi gereken herhangi bir dizidir.

Kısacası, sorun şuna indirgeniyor: Üç nokta var. Onlardan daireye olan mesafelerin karelerinin toplamı minimum olacak şekilde r yarıçaplı bir daire çizmek gerekir.

Aslında, görev ciddidir, anında çözülmez. Daire bir çaydır, düz bir çizgi değil. İki mesafeden hangisinin alınacağı hiç de açık değil.

Peki, somut bir örnek:

Doğru konumu göster.

 
atztek :
Hangi anlamda "onu tanımlayacak"?
Açık emirler üzerinde yinelenirsiniz ve her emir için OrderOpenPrice() komutu emrin açıldığı fiyat değerini döndürür.
Değerini bir değişkene atayın ve kullanın.


işte ben öyle anladım. sadece yineleme sırasında otomatik olarak ayarlayacak ve doğrulama için kullanacaktır. ?

for(cnt=0;cnt<toplam;cnt++)
{
OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()== OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNum2)
{
if ( Sor>(OrderOpenPrice()+(AD1*Nokta)) )
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Siyah);
dönüş(0);

}

Doğru görünüyor mu?

 
Myth63 :


işte ben öyle anladım. sadece yineleme sırasında otomatik olarak ayarlayacak ve doğrulama için kullanacaktır. ?

for(cnt=0;cnt<toplam;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()== OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNum2)
{
if ( Sor>(OrderOpenPrice()+(AD1*Nokta)) )
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Siyah);
dönüş(0);

}

Doğru görünüyor mu?

Tam olarak değil. Ve sipariş seçilmezse? Ticaret emri gönderirken fiyatların normalleşmesi nerede?

Siparişler bir döngü içinde kapatılır , bu, aramanın sıfırdan değil, OrdersTotal()-1'den >=0'a yapılması gerektiği anlamına gelir.

 
Mathemat :

Kısacası, sorun şuna indirgeniyor: Üç nokta var. Onlardan daireye olan mesafelerin karelerinin toplamı minimum olacak şekilde r yarıçaplı bir daire çizmek gerekir.

Aslında, görev ciddidir, anında çözülmez. Daire bir çaydır, düz bir çizgi değil. İki mesafeden hangisinin alınacağı hiç de açık değil.

Peki, somut bir örnek:

Doğru konumu göster.


Bence de:
 

Elenn: Думаю, что так:

Hayır, böyle bir görevi üstlenmeyeceğim. Hesaplama sürecinde, hangi mesafeleri alacağınıza karar vermeniz gerekecektir (herhangi bir noktadan daireye iki mesafe vardır). Güzel bir şey yok.

Belki GA burada yerel bir minimum bulmaya yardımcı olabilir. Ama bunda iyi değilim.

PS Amaç fonksiyonunu belirtmediniz - uzaklıkların karesi toplamı veya uzaklıkların toplamı.

 
Mathemat :

Aslında, görev ciddidir, anında çözülmez. Daire bir çaydır, düz bir çizgi değil.

Görevin kolay olmadığını anlıyorum. Sorunu, "üçlüler" için olası tüm seçeneklerin aptalca bir sıralamasına indirgemek istemem. Anladığım kadarıyla, düz bir çizgiye sahip varyantta, üçü değil tüm noktalar da "katılacak". Üç "en iyi" noktadan bu düz çizgiye olan uzaklıkların toplamı minimum olacak şekilde, düz bir çizgi için bir varyantın nasıl görünebileceğini düşünüyorsunuz?