[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 741

 

uzmanda böyle duruyor

 bool b= 0 ,s= 0 , //соответственно бай или селл  
bs= 0 , // если закрытие по стоплоссу ордера бай
ss= 0 , // если закрытие по стоплоссу ордера sell
bt= 0 ,
st= 0 ; //      то же по ТП
double bl= 0 ,sl= 0 ; // лоты соответсвенно для бай и селл


for ( int cnt=OrdersHistoryTotal();cnt> 0 ;cnt--)
     {
OrderSelect (cnt, SELECT_BY_POS, MODE_HISTORY);
{ if (OrderMagicNumber()== mag &&
OrderSymbol()== Symbol ()) 
{ if (OrderType() == OP_BUY )  {b= 1 ; if (OrderClosePrice()==OrderTakeProfit()) bt= 1 ; if (OrderClosePrice()==OrderStopLoss()) bs= 1 ; bl=OrderLots()* 10 ; break ;}
if (OrderType() == OP_SELL)  {s= 1 ; if (OrderClosePrice()==OrderTakeProfit()) st= 1 ; if (OrderClosePrice()==OrderStopLoss()) ss= 1 ; sl=OrderLots()* 10 ; break ;}
            }
         }
      }


} //end

if (bs== 1 ||bl== 1 )
{   
    NewOrder1(OP_BUYLIMIT,Lot);
    
    Today=TimeDay( TimeCurrent ());}
    

int NewOrder1( int Cmd, double Lot)
{ double TP= 0 ; //тейкпрофит
double SL= 0 ; //стоплосс
double PR= 0 ; //Цена
double LT= 0 ; //Лот
while (!IsTradeAllowed()) Sleep ( 100 );
if (Cmd==OP_BUYLIMIT)
   {PR=Ask- Point *h;
     if (TakeProfit> 0 ) TP=PR+TakeProfit* Point ;
     if (StopLoss> 0 ) SL=PR-StopLoss* Point ;
     if (Lot> 0 ) LT= 3 *Lot;}
int tic1= OrderSend ( Symbol (),Cmd,LT,PR, 3 ,SL,TP, 0 ,mag, 0 , CLR_NONE );

if (tic1< 0 ) Print ( GetLastError ());

return ( 0 );}





 
artmedia70 :
Boole değişkenleriniz başlangıçta false olarak başlatılmaz, genel olarak, döngüye girmeden önce onları sıfıra (yanlış) ayarlayın - döngüden çıktığınızda, döngüde kendilerine atanan değerlere sahip olurlar (daha iyi true'dan 1) ve sonra döngüye bir sonraki girişe kadar onlara sahip olacaklar ve olacaklar. Bir emrin açılması kesinlikle bu değişkenlerin değerlerine bağlıysa, emir açtıktan sonra bu pozisyonun piyasada olup olmadığını kontrol edin ve varsa değişkenleri sıfırlayın (yanlış)

ve kodda tanımlayabilirsiniz

 
artmedia70 :
Geçerli çubuktaki ADX değerini (birincisinde daha iyi) önceki çubuktaki ADX değeriyle (ikincisinde daha iyi) karşılaştırın.

Aptalca alnındaysa, şöyle bir şey:

Ama çok çirkin. ADX değerlerini double değişkenlere atamak ve değişkenlerle daha fazla çalışmak daha iyidir...






Yardımın için çok teşekkürler:)
 

Arkadaşlar! Trend çizgisi yeniden oluşturulduğunda ortaya çıkan gereksiz sinyallerden nasıl kurtulacağımı çözemiyorum. Eğilim çizgisi (örnekte azalan), belirli bir çubuk aralığında bulunan en büyük ekstremumdan en küçük ekstrema doğru oluşturulur. Sorun, yeni bir düşük ekstremum oluştuğunda, trend çizgisinin (istenildiği gibi) ona atlamasıdır.

Ancak, trend çizgisinin ilk çubuğunda da, kesişimi gösterge çizgisi ile bir sinyal veren trend çizgisi değerine sahip seviyeler oluşturulur. İlk çubuktaki gösterge çizgisi bu seviyenin altındaysa ve ikinci çubukta bu seviyenin üzerindeyse, yukarıdan aşağıya bir kesişimimiz var.

Yani... Eğilim çizgisi yeni bir minimum uç noktaya sıçradığında, ikinci çubuktaki hindi çizgisinin eğilim çizgisinden ve inşa edilen seviyeden daha yüksek olduğu ve ilk çubukta daha düşük olduğu bir durum ortaya çıkar, yani. gereksiz bir satış sinyali oluşur (bu durumda):


Şekil, trend çizgisinin nasıl yeni bir uç noktaya sıçradığını (yer aşağı okla gösterilir) ve ilk çubukta (yatay kırmızı çizgi) yeni trend çizgisinin fiyat seviyesini gösterir.
ikincisinde AD satırından daha düşük oldu, ilkinde AD satırı fiyat seviyesinin altında...
Buna göre, trend çizgisi bir alt uç noktaya taşınarak gereksiz bir sinyal simüle edildi... Aynı gereksiz sinyal biraz daha önce gerçekleşti -
Dikey açık mavi bir çizgi ile işaretledim...

Dolayısıyla soru - böyle bir durumdan nasıl kaçınılır? Bir şeyler bulmaya çalışmaktan yoruldum...
Düşüncesi olan var mı? Teşekkürler... :)

 
profitinvesting :
Yardımın için çok teşekkürler:)
evet ne olursa olsun :)
 
ToLik_SRGV :

Başlatma fonksiyonunun en başına, bu fonksiyonu çağıran bir satır ekleyin:

EA, yalnızca yeni bir çubukta 1 kez açılır.

Sevgili Anatoly. Bu kod için çok teşekkür ederim. Başka bir soru, her zaman çalışmasını sağlamak, ancak barda yalnızca 1 anlaşma yapabilir mi?
 
artmedia70 :
daha sonra bir emir açmak için emirden sonra, bu pozisyonun piyasada olup olmadığını kontrol edin ve varsa değişkenleri sıfırlayın (yanlış)

siparişimde nasıl uygulanabileceğini söyle?

değerleri sıfırlaması için siparişlerime hangi işlevi eklemeliyim?

 
FoxUA :

siparişimde nasıl uygulanabileceğini söyle?

değerleri sıfırlaması için siparişlerime hangi işlevi eklemeliyim?


Piyasada bir emir olup olmadığını kontrol ettikten hemen sonra değişkenlere değerler atayın . Örneğin Değişken1 = yanlış;
Döngünüzde "true" değerini alan ve sipariş verme kriteri olan değişkenler, verdikten sonra tekrar "false" değerini almalıdır, aksi takdirde siparişler partiler halinde verilecektir. Yani bu değişkenleri false olarak ayarladınız.
 
artmedia70 :
Piyasada bir emir olup olmadığını kontrol ettikten hemen sonra değişkenlere değerler atayın. Örneğin Değişken1 = yanlış;
Döngünüzde "true" değerini alan ve sipariş verme kriteri olan değişkenler, verdikten sonra tekrar "false" değerini almalıdır, aksi takdirde siparişler partiler halinde verilecektir. Yani bu değişkenleri false olarak ayarladınız.

muhtemelen 2 gündür uyumamış olmamı etkiliyor ve bu uzmanla başım dertte çünkü ne ve nereye koyacağımı anlayamadım dediğinden bu değerleri koymanı zorlaştırırmı ​Çalıştığım koda ya da sadece bir fonksiyon yazıp tam olarak nereye koyduğunu söyle bu yapbozumun son parçası ve nereye ve nasıl yapıştıracağıma konsantre olamıyorum

 
FoxUA :

muhtemelen 2 gündür uyumamış olmamı etkiliyor ve bu uzmanla başım dertte çünkü ne ve nereye koyacağımı anlamadım dediğinden bu değerleri koymanı zorlaştırırmı ​Çalıştığım koda ya da sadece bir fonksiyon yazıp tam olarak nereye koyduğunu söyle bu yapbozumun son parçası ve nereye ve nasıl yapıştıracağıma konsantre olamıyorum

Kodunuzla uğraşma isteksizliği (kötü, ama dürüstçe :)). Sonuç olarak tam olarak ne elde etmek istediğinizi söyleyin, istediğiniz işlevi sizin için yazayım. Dürüst olmak gerekirse, benim için daha kolay olacak. Kodumu bulmak istiyorum ... :)

... Ya da uzan, uyu ve ertesi gün tüm bulmacaların bir araya gelecek ... :) Hiçbir şey anlamadıysam bunu şahsen yapıyorum ... Bu arada, yattım - beş buçuk zaten sabah...