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

 
Diubakin :
Bunu yaparsanız, tüm tuhaflıklar ortadan kalkmalıdır.

"Ekstra" koşulu kaldırmak için şunu yapabilirsiniz:

     int i, ot = OrdersTotal ();
     double min = 1000.0 ;
     int min_ticket= 0 ;
     for (i=ot - 1 ; i>= 0 ; i--)
    {
         if (! OrderSelect (i, SELECT_BY_POS)) continue ;
         if (OrderType()!=OP_BUY) if (OrderType()!=OP_SELL) continue ;
         if (min <= OrderLots()) continue ;
        min = OrderLots();
        min_ticket=OrderTicket();
    }
 
artmedia70 :

Aynen öyle... Igor Kim'e dayanarak bir şeyler yapılmış... İşlevlerinden sadece biri... Gerisi aynı...

bunun gibi bir şey, muhtemelen:

Ve biz onu diyoruz:

Geçerli sembol için Magic ile Satın Al ve Sayma Sayma için

Artyom, elbette, Kim'den geliyorum, ihtiyacım olmayan çekleri kaldırıyorum ve ihtiyacım olan görevleri ekliyorum. Tekerleği yeniden icat etmeyin! Düzeltme için teşekkürler, gereksizleri cesaretle kaldıracağım! Ve sihri ve sembolü kontrol etmem gerekmiyor, çünkü bazen "tutamaklar" ile müdahale ediyorum ve henüz çoklu para birimine hazır değilim!
 
TarasBY :

"Ekstra" koşulu kaldırmak için şunu yapabilirsiniz:



Igor , haklısın. Bir şekilde daha okunabilir ...
 
borilunad :
Artyom, elbette, Kim'den geliyorum, ihtiyacım olmayan çekleri kaldırıyorum ve ihtiyacım olan görevleri ekliyorum. Tekerleği yeniden icat etmeyin! Düzeltme için teşekkürler, gereksizleri cesaretle kaldıracağım! Ve sihri ve sembolü kontrol etmem gerekmiyor, çünkü bazen "tutamaklar" ile müdahale ediyorum ve henüz çoklu para birimine hazır değilim!

O zaman (OrderMagicNumber()==0) ... bunun "tutamaçlar" için bir kontrol olup olmadığını kontrol etmeniz gerekir.

Başka bir sembolle çalışan diğer Uzman Danışmanların çalışmasına müdahale etmek istiyorsak, OrderSymbol() üzerindeki kontrolü kaldırabiliriz.

Pozisyonlarım / emirlerim ile bir sembol üzerinde çalışmak için gerekli minimum kontrolleri bıraktım. Ayrıca "tutamaçlar" ne dokunmak istiyorsanız, sihirli == 0 için bir kontrol eklemeniz gerekir.

 
artmedia70 :

O zaman (OrderMagicNumber()==0) ... bunun "tutamaçlar" için bir kontrol olup olmadığını kontrol etmeniz gerekir.

Başka bir sembolle çalışan diğer Uzman Danışmanların çalışmasına müdahale etmek istiyorsak, OrderSymbol() üzerindeki kontrolü kaldırabiliriz.

Pozisyonlarım / emirlerim ile bir sembol üzerinde çalışmak için gerekli minimum kontrolleri bıraktım. Ayrıca "tutamaçlar" ne dokunmak istiyorsanız, sihirli == 0 için bir kontrol eklemeniz gerekir.

Ve böylece bana izin veriyor! Ama özellikle != ile not alacağım ve continu hiç yavaşlamıyor! Teşekkür ederim!
 
solnce600 :

Yardımınız için çok teşekkür ederim.Her şey yolunda. Ancak......

1. Bazı beş dakikalık piyasalarda 1'den fazla emir açılır.

2. Bazı emirler, fiyatı kodda belirtilenden farklı olan stop emirleri ile kapatılır.


Peki ya sen, sonuçta, her şey basit - kapalı emirlerde aynı kontrolü yapın) Kapanış fiyatına gelince - pardon, doğru ayarlanmış ve sonra onu gerçekten hangi fiyattan kapatacağı sunucuya kalmış.
 int start()

{

 double Price=iOpen ( Symbol (), PERIOD_M5 , 0 )+ 300 * Point ;        
 double SL= NormalizeDouble (Price- 300 * Point , Digits );         
 double TP= NormalizeDouble (Price+ 150 * Point , Digits );    
 
 int last_order_bar = 0 ;
 int ot = OrdersTotal ();

 if (ot> 0 ) //если есть ордера в рынке
 {
   if ( OrderSelect (ot- 1 ,SELECT_BY_POS)) //выбрали последний ордер
       if (OrderType ()==OP_BUY || OrderType ()==OP_SELL) //проверили тип
         last_order_bar = iBarShift ( Symbol (), PERIOD_M5 ,OrderOpenTime ()); //запомнили, на каком 5-минутном баре открыт последний ордер (если он есть)
 }
 
 int last_hist_order_bar = 0 ;
 int oht = OrdersHistoryTotal();

 if (oht> 0 ) //если есть ордера в рынке
 {
   if ( OrderSelect (oht- 1 ,SELECT_BY_POS, MODE_HISTORY)) //выбрали последний закрытый ордер
       if (OrderType ()==OP_BUY || OrderType ()==OP_SELL) //проверили тип
         last_order_bar = iBarShift ( Symbol (), PERIOD_M5 ,OrderOpenTime ()); //запомнили, на каком 5-минутном баре открыт последний закрытый ордер (если он есть)
 }
 
 if (ot== 0 || last_order_bar> 0 ) //если ордеров нет либо последний открыт не на текущем баре
     if (oht== 0 || last_hist_order_bar> 0 ) //если закрытых ордеров нет либо последний из закрытых был открыт не на текущем баре
       if (Bid>=Price)                       //если текущая цена доползла до цены открытия
           int Ticket= OrderSend ( Symbol (),OP_BUY, 0.1 ,Ask, 3 ,SL,TP );

}
 
alsu :
Peki ya sen, sonuçta, her şey basit - kapalı emirlerde aynı kontrolü yapın) Kapanış fiyatına gelince - pardon, doğru ayarlanmış ve sonra onu gerçekten hangi fiyattan kapatacağı sunucuya kalmış.

Çok teşekkür ederim rahatsız ettiğim için özür dilerim.
 
alsu :
Peki ya sen, sonuçta, her şey basit - kapalı emirlerde aynı kontrolü yapın) Kapanış fiyatına gelince - pardon, doğru ayarlanmış ve sonra onu gerçekten hangi fiyattan kapatacağı sunucuya kalmış.

Bir kez daha yardım için çok teşekkürler. Ancak.....

Bir yıla eşit bir süre boyunca sadece bir tane açıldı, yani ilk gelen sipariş.

Ve bu dönemde sipariş açmak için parametreli çok daha fazla mum var.

http://clip2net.com/s/2ToEo


Teşekkür ederim.

 
solnce600 :

Bir kez daha yardım için çok teşekkürler. Ancak.....

Bir yıla eşit bir süre boyunca sadece bir tane açıldı, yani ilk gelen sipariş.

Ve bu dönemde sipariş açmak için parametreli çok daha fazla mum var.

http://clip2net.com/s/2ToEo


Teşekkür ederim.


Yazım hatamı düzeltin - ikinci kez ne zaman

 if (oht> 0 ) //если есть ордера в рынке
 {
   if ( OrderSelect (oht- 1 ,SELECT_BY_POS, MODE_HISTORY)) //выбрали последний закрытый ордер
       if (OrderType ()==OP_BUY || OrderType ()==OP_SELL) //проверили тип
         last_order_bar = iBarShift ( Symbol (), PERIOD_M5 ,OrderOpenTime ()); //запомнили, на каком 5-минутном баре открыт последний закрытый ордер (если он есть)
 }

ama yapmalısın

last_hist_order_bar = iBarShift ( Symbol (), PERIOD_M5 ,OrderOpenTime ());
 
alsu :

Yazım hatamı düzeltin - ikinci kez ne zaman

ama yapmalısın


Tamam çok teşekkür ederim.