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

 
vadynik :


Muhtemelen soruyu tam olarak sormadım, yani fonksiyon global değişkende ayarlanan sihri görecek mi?

elbette görecektir.

global değişkenler globaldir çünkü global olarak görünürler.

burada belirsiz olan nedir?

----

ancak görgü kurallarına göre, çağrı ortamından daha bağımsız hale getirecek olan tüm parametrelerin işleve geçirilmesi arzu edilir.

Bunu, fonksiyon içindeki değişkenlerin isimlerini global değişkenlerin isimlerinden soyutlamak için yapın. ve onlara bağlanma.

 
Bu tür sorularım olursa yeni forumdaki programcılara sorup cevap alıyorum tabii ki tüm ipuçlarından tek doğrusunu seçmek zor.
 

sergeev :

yan720 :


Lütfen söyleyin, AccountEquity() işlevi terminale mi yoksa komisyoncuya mı bir istekte bulunuyor?

terminale

Teşekkür ederim. Her paketle birlikte bu bilgilerin terminale iletildiği ortaya çıkıyor ...

Ve hangi işlevlerin aracıyı ve hangilerinin terminali çağırdığını nerede görebilirim? Veya aracıdan terminale sürekli olarak iletilen ve/veya ayrı bir istek üzerine alınması gereken bir veri (değişken) listesi olabilir mi?

 
//|+-------------------------------------------------------------------------------------------------------+
int Accounting_Orders()
{
int Counter_Orders = 0 ;
//|+-------------------------------------------------------------------------------------------------------+
ArrayCopy (Massif_Old_Orders, Massif_New_Orders);
Counter_Orders = 0 ;
ArrayInitialize (Massif_New_Orders, 0 );
ArrayInitialize (Massif_All_Orders, 0 );
//|+-------------------------------------------------------------------------------------------------------+
for ( int q = 0 ; q < OrdersTotal (); q++)
{
if ( ( OrderSelect (q, SELECT_BY_POS )== true ) && ( OrderSymbol () == Symbol ()) )
{
Counter_Orders++;
Massif_New_Orders[Counter_Orders][ 1 ] = OrderOpenPrice ();
Massif_New_Orders[Counter_Orders][ 2 ] = OrderStopLoss ();
Massif_New_Orders[Counter_Orders][ 3 ] = OrderTakeProfit ();
Massif_New_Orders[Counter_Orders][ 4 ] = OrderTicket ();
Massif_New_Orders[Counter_Orders][ 5 ] = OrderLots ();
Massif_All_Orders[ OrderType ()]++;
Massif_New_Orders[Counter_Orders][ 6 ] = OrderType ();
Massif_New_Orders[Counter_Orders][ 7 ] = OrderMagicNumber ();
//|+-------------------------------------------------------------------------------------------------------+
if ( OrderComment () == "" )
{
Massif_New_Orders[Counter_Orders][ 8 ] = Order_False;   
}
else
{
Massif_New_Orders[Counter_Orders][ 8 ] = Order_True;
}
//|+-------------------------------------------------------------------------------------------------------+
Massif_New_Order[ 0 ][ 0 ] = Counter_Orders;
//|+-------------------------------------------------------------------------------------------------------+
return ;
  }
//|+-------------------------------------------------------------------------------------------------------+
Sipariş muhasebesi işlevi, yani onu oluşturan diziler nasıl kullanılır?

seçenek 1
Tahminim, kodda tanımlanan yerlere belirli diziler eklemek.
Örneğin:
 OrderSend (Massif_New_Orders[Counter_Orders][ 4 ], // Уникальный номер 1.
Massif_New_Orders[Counter_Orders][ 6 ],           // Тип .
Massif_New_Orders[Counter_Orders][ 5 ],           // Кол - во лотов, при торге.
Massif_New_Orders[Counter_Orders][ 1 ],           // Тип части бара, на котором происходит открытие позиции.
10 ,                                             // Допустимое проскальзование.
Massif_New_Orders[Counter_Orders][ 2 ],           // Остановка потерь.
Massif_New_Orders[Counter_Orders][ 3 ],           // Принятие прибыли. 
Massif_New_Orders[Counter_Orders][ 7 ]);          // Уникальный номер 2.
O zaman aklım başka bir soru soruyor:

- Dizileri kullanmaya değer mi? -.
Dizilerin aynı türdeki değişkenler için kullanıldığını anlıyorum, ancak sipariş muhasebesi işlevi aynı türdeki değişkenlerin "kokusunu almıyor".

seçenek 2
Siparişler (sipariş) hakkında kaydedilen verileri kullanmak gerekirse, zaten atanmış dizinin işlevinin çağrıldığını düşünüyorum.
Örneğin:

 if (Old_Sistem = 12475 )                         //Если расчет объема торга надо вести по объему торга предыдущих ордеров,
{                                               //то 
O_Lots = Massif_New_Orders[Counter_Orders][ 5 ]; //вызывается значение лота предыдущего ордера из накопленной информации о ордерах.
}                                               //Конец.
 
yan720 :



Teşekkür ederim. Her paketle birlikte bu bilgilerin terminale iletildiği ortaya çıkıyor ...

Ve hangi işlevlerin aracıyı ve hangilerinin terminali çağırdığını nerede görebilirim? Veya aracıdan terminale sürekli olarak iletilen ve/veya ayrı bir istek üzerine alınması gereken bir veri (değişken) listesi olabilir mi?

Ticaret fonksiyonları . Sadece ticaret sunucusuna özel olarak bir istek gönderirler ve ondan bir yanıt alırlar.
 
Link_x :
Sipariş muhasebesi işlevi, yani onu oluşturan diziler nasıl kullanılır?

seçenek 1
Tahminim, kodda tanımlanan yerlere belirli diziler eklemek.
Örneğin:
O zaman aklım başka bir soru soruyor:

- Dizileri kullanmaya değer mi? -.
Dizilerin aynı türdeki değişkenler için kullanıldığını anlıyorum, ancak sipariş muhasebesi işlevi aynı türdeki değişkenlerin "kokusunu almıyor".

seçenek 2
Siparişler (sipariş) hakkında kaydedilen verileri kullanmak gerekirse, zaten atanmış dizinin işlevinin çağrıldığını düşünüyorum.
Örneğin:

Bunu zaman kaybı olarak görüyorum. Açık ve kapalı emirlerle ilgili tüm bilgiler terminalde saklanır. Neden dizilerde çoğaltsın? Terminalden nasıl çıkarılacağını öğrenmek önemlidir.
 
yan720 :

Teşekkür ederim. Her paketle birlikte bu bilgilerin terminale iletildiği ortaya çıkıyor ...

Bu sadece Özkaynakların sürekli transfer edildiği gerçeği değil.

açık pozisyonlarınıza göre terminalin kendisi tarafından hesaplanması oldukça olasıdır.

Ve hangi işlevlerin aracıyı ve hangilerinin terminali çağırdığını nerede görebilirim?

Hiçbir yerde. sadece sağduyuyu kullanın.

 
khorosh :
Bunu zaman kaybı olarak görüyorum. Açık ve kapalı emirlerle ilgili tüm bilgiler terminalde saklanır. Neden dizilerde çoğaltsın? Terminalden nasıl çıkarılacağını öğrenmek önemlidir.


Bu tür bilgiler muhtemelen belirli bir komutla alınır.
OrderSend mi?
 
Link_x :

Bu tür bilgiler muhtemelen belirli bir komutla alınır.
OrderSend mi?
Bu, sunucuya bir ticaret isteği gönderiyor .
 
Link_x :

Bu tür bilgiler muhtemelen belirli bir komutla alınır.
OrderSend mi?
KimIV işlevlerini okuyun ve bunların çoğunun açık veya kapalı siparişler hakkında bazı bilgileri çıkarmak için tasarlandığını anlayacaksınız.