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

 
ALXIMIKS :


...

4) gecikmeleri neden çözelim ???

...


Ö! Ve bana onları nasıl çözemeyeceğini göster?

Tabii ki, soru ilginç, hangisi daha iyi, toplamda 0'a eşit olan ve hiçbir şeyi değiştirmeyen OrderProfit() + OrderCommission() + OrderSwap()'ı bir kez daha eklemek mi yoksa her sipariş için başka bir tane yapmak mı?

 
Example2 :


Nasıl çözüleceği arasındaki fark nedir, asıl şey işe yaramasıdır.


Bazı durumlarda bazı farklılıklar vardır. Eğer for (int i = 0; i < OrdersTotal(); i++), her döngüde OrdersTotal() işlevi çağrılır ve if for (int i = OrdersTotal()-1; i>=0; i-- ), sonra OrdersTotal() işlevi yalnızca bir kez çağrılır. Mql'de yürütme hızının ne kadar değiştiğini denemedim. Php'de bir durum vardı, sayım () işlevi, ileri döngü 17 saniye çalıştı, geri 0.01 saniye.
 
İleri ve geri çevrimin hızını ölçtü. 100 sipariş, 5 kat daha hızlı ters çevrim. Ama asla bu kadar çok sipariş olmaz, maksimum 10 adettir.10 sipariş varsa hız 3 kat değişir. Ters çevrimi seçmek elle tutulur.
 
Integer :
İleri ve geri çevrimin hızını ölçtü. 100 sipariş, 5 kat daha hızlı ters çevrim. Ama asla bu kadar çok sipariş olmaz, maksimum 10 adettir.10 sipariş varsa hız 3 kat değişir. Ters çevrimi seçmek elle tutulur.


Fiyatı nasıl normalleştireceğimi söyler misiniz? (Yukarıdaki mesajım).

 
Example2 :


Fiyatı nasıl normalleştireceğimi söyler misiniz? (Yukarıdaki mesajım).

NormalizeDouble() işlevi vardır.

 NormalizeDouble (_High+ Point * 20 , Digits );

İlk sıra ile çarparken, double, ardından int koymak daha iyidir, aksi takdirde bazı durumlarda kesirli kısmı kaybedebilirsiniz.

 
if (Line_7 > Lines_1 > Line_6)
{
Alert ( "Сигнал на покупку" );
OrderSend ( Symbol (), OP_BUY ,Lots_Typ, Ask , 5 ,SL_Typ,TP_Typ);
}
return ;}
Bir siparişin açılışını bu şekilde ayarlamak mümkün müdür?
 
Link_x :
Bir siparişin açılışını bu şekilde ayarlamak mümkün müdür?


Numara.

Bu nasıl olmalı:

 if (Line_7 > Lines_1 && Lines_1 > Line_6)
 

Ayrıca tüm siparişlerin karlarını toplayarak ve yalnızca piyasadakileri seçerek kar hesaplama hızını kontrol ettim:

Prof1+= OrderProfit ()+ OrderSwap ()+ OrderCommission ();

ve

 if ( OrderType ()== OP_BUY || OrderType ()== OP_SELL ){
 Prof2+= OrderProfit ()+ OrderSwap ()+ OrderCommission ();
}
İlk seçenek biraz daha hızlı, ancak fazla değil. Hız oranı yaklaşık 1/1.1
 
Integer :

NormalizeDouble() işlevi vardır.

İlk sıra ile çarparken, double, ardından int koymak daha iyidir, aksi takdirde bazı durumlarda kesirli kısmı kaybedebilirsiniz.


Şimdi bana hata 3 veriyor: "Ticaret işlevine yanlış parametreler, örneğin, yanlış bir sembol, tanımlanamayan bir ticaret, negatif bir fiyat toleransı, var olmayan bir bilet numarası vb. İletildi. Program mantığının değiştirilmesi gerekiyor. "

 
Example2 :


Şimdi bana hata 3 veriyor: "Ticaret işlevine yanlış parametreler, örneğin yanlış bir sembol, tanımlanamayan bir ticaret işlemi, negatif fiyat toleransı, var olmayan bir bilet numarası vb. İletildi. Program mantığının değiştirilmesi gerekiyor. "


OrderSend'den sonra imleci ilk açılış parantezine getirin, bu parantezi kaldırın, yeniden yazın, bu, parametre tipini içeren bir araç ipucu açar, tüm parametrelerin tiple eşleşip eşleşmediğini kontrol edin.