[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 132

 
Sergey_Rogozin :

O zaman muhtemelen şöyledir:

Bu doğru?

 int start()
 {
   ArrayResize (ValueArr,size);
   ValueArr[size- 1 ] = GetValue();
   size++;
   return ();
 }
 
alsu :

Şimdi her şeyi anlıyorum.

Teşekkür ederim.

 
IgorM :

öyle bir yerleşik fonksiyon yok, kendiniz yazmanız gerekiyor, burada bir örnek gösterdim: https://www.mql5.com/en/forum/131277/page113


Teşekkür ederim

 
IgorM :

öyle bir yerleşik fonksiyon yok, kendiniz yazmanız gerekiyor, burada bir örnek gösterdim: https://www.mql5.com/en/forum/131277/page113

Ve nasıl reçete yazılacağı, böylece danışmanın anlaşmaları açmak için yalnızca bu koşula sahip olması.
 

alsu :

 int start()
 {
   ArrayResize (ValueArr,size);
   ValueArr[size- 1 ] = GetValue();
   size++;
   return ();
 }

O zaman size-1 gerekli değildir, aksi takdirde indeksleme ilk çalıştırmada 0-1 olur ve dizi boyutu sıfır olur.

Sonra şöyle:

 int start()
 {
   size++;
   ArrayResize (ValueArr,size);
   ValueArr[size- 1 ] = GetValue();
   return ();
 }
 
artmedia70 :

O zaman size-1 gerekli değildir, aksi takdirde indeksleme ilk çalıştırmada 0-1 olur ve dizi boyutu sıfır olur.

Sonra şöyle:



Programın başlangıcında başlatma var int size=1;

 
IgorM :

böyle bir yerleşik fonksiyon yok, kendin yazman gerekiyor, burada bir örnek gösterdim: https://www.mql5.com/ru/forum/131277/page113

Neden bu kodu eklediğimde inanılmaz derecede çok sayıda işlem açılıyor?
 
alsu :

Programın başlangıcında başlatma var int size=1;


Görmedim... Sadece ilkini hatırlıyorum, boyutu başlangıçta sıfırdı.
 
sto_mat :

Neden bu kodu eklediğimde inanılmaz derecede çok sayıda işlem açılıyor?


bu olamaz çünkü kodda:

 double history(){
int time = 0 ; double profit = 0 ; //обьявляем необходимые нам переменные куда мы положим интересующие нас характеристики ордера
for ( int i = OrdersHistoryTotal();i>= 0 ;i--){ // Перебираем все закрытые ордера
   if ( OrderSelect (i,SELECT_BY_POS,MODE_HISTORY)){ //если ордер с таким номером (i) в списке закрытых ордеров есть ( не путать с тикетом)
     if (OrderSymbol() == Symbol ()){ //если выбранный ордер был открыт по нашей валютной паре
       if (time<OrderCloseTime()){ //(сравниваем его с хранящимся в пероеменной time) 
        time=OrderCloseTime(); //если время закрытия ордера больше - ложим его в переменную
        profit=OrderProfit(); //и заодно запоминаем прибыль ордера
      }
    }
  }
}
//по окончании этой процедуры в наших переменных будут сидет наибольшее время закрытия, и его профит. Или по нулям если история чистая.
//теперь мы можем выставлять условия в зависимости от результата процедуры
   
if (profit == 0 &&time == 0 ){ //действия если история чистая

}
if (profit >= 0 ){ //действия если последний ордер был прибыльным, или нулевым

}
if (profit <   0 ){ //действия если последний ордер был убыточным

}
return ( 0 );
}


alım satım işlemi yoktur https://book.mql4.com/en/trading/ordersend

 
IgorM :


bu olamaz çünkü kodda:

alım satım işlemi yoktur https://book.mql4.com/en/trading/ordersend


evet koydum

if(profit == 0 &&time == 0){//geçmiş açıksa işlemler

OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,Bid-6*Point);


dönüş;
}
if(kâr >= 0){//son sipariş kârlıysa veya sıfırsa işlemler

OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-12*Puan,Bid+12*Puan);


dönüş;
}
if(kâr < 0 ){//son siparişin kârsız olması durumunda işlemler

OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+15*Puan,Bid-15*Puan);


dönüş;
}
dönüş(0);
}