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

 

vseravno bu emrin bir paketini açar

uzman duruşundaki değişikliklerim bu şekilde

 extern int TakeProfit= 18 ;
extern int StopLoss= 18 ;
extern double Lot= 0.01 ;
extern int StartTime= 0 ;
int Today= 0 ;
int h= 10 ;
int h1= 26 ;
int mag= 777 ;
bool b= 0 ,s= 0 , //соответственно бай или селл  
bs= 0 , // если закрытие по стоплоссу ордера бай
ss= 0 , // если закрытие по стоплоссу ордера sell
bt= 0 ,
st= 0 ; //      то же по ТП
double bl= 0 ,sl= 0 ; // лоты соответсвенно для бай и селл

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{


if (DayOfWeek()== 0 || DayOfWeek()== 6 ) return ( 0 ); // в выходные не работаем
if (!IsTradeAllowed()) return ( 0 ); // пропустим тик если терминал занят
int total = OrdersTotal ();
if (total == 0 )



   {NewOrder(OP_BUY,Lot);
    NewOrder(OP_SELL,Lot);
    NewOrder(OP_BUYLIMIT,Lot);
    NewOrder(OP_SELLLIMIT,Lot);
    NewOrder(OP_BUYSTOP,Lot);
    NewOrder(OP_SELLSTOP,Lot);
    Today=TimeDay( TimeCurrent ());}
    
{



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()* 100 ; break ;}
if (OrderType() == OP_SELL)  {s= 1 ; if (OrderClosePrice()==OrderTakeProfit()) st= 1 ; 
if (OrderClosePrice()==OrderStopLoss()) ss= 1 ; sl=OrderLots()* 100 ; break ;}
            }
         }
      }


} //end

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

ve işte siparişin açılışı

 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 ());

if (tic1> 0 ){
b= 0 ;s= 0 ; //соответственно бай или селл  
bs= 0 ; // если закрытие по стоплоссу ордера бай
ss= 0 ; // если закрытие по стоплоссу ордера sell
bt= 0 ;
st= 0 ; //      то же по ТП
bl= 0 ;sl= 0 ; // лоты соответсвенно для бай и селл
}
//-----------
return (tic1);}
 
profitinvesting :

lütfen bana kar, örneğin 20 puan olduğunda, başabaş seviyesinde bir kez duracak fonksiyonun kodunu söyleyin

Cevabınız için şimdiden teşekkür ederiz :)

Igor Kim'in http://www.kimiv.ru web sitesinde bunu ve diğer birçok faydalı işlevi bulacaksınız. Ve yanılmıyorsam ihtiyacınız olanın adı MovingInWL().
 
ToLik_SRGV :

Boris, bu daha da kolay. Bu satırı bırak:

Kodun en üstünde (böylece ayrıdır ve herhangi bir işlevde değildir).
Ve sonra, OrderSend (...) işlevine yapılan bir çağrının olduğu yerlerde, onu if ifadesinin ek kucaklamalarına dahil edin.

Şimdi, bir sonraki anlaşmayı açmadan önce, mevcut çubukta anlaşma olup olmadığı kontrol edilecek. Eğer öyleyse, mevcut çubuk yeni değişkende depolanmıştır ve mevcut çubuk kaydedilenle eşleşirse, anlaşma açılmayacaktır. Buna göre, çubuk yeniyse, açılış zamanı yeni değişkenin verileriyle eşleşmeyecek, anlaşma açılacak, yeni değişken yeni bir değer alacaktır.

Uzman Danışmanınızın mimarisini tam olarak bilmiyorum, ancak çoğu durumda bu yöntem işe yarayacaktır.


Çok teşekkürler! Harika geldi!
 

Bunu yapmanın daha iyi bir yolunu düşünemiyorum.

Bir grup diziye sahip bir gösterge var. İkinci göstergenin bu dizilerle çalışması gerekiyor. Sonucu hesaplayın ve tablonuzda görüntüleyin.

En basit şey bu göstergeyi aramak olurdu, ancak bu mümkün görünmüyor.

Yabancı dizilere nasıl gidilir?

 
Abzasc :

sanmıyorum

Gerçekleştirilen.
 
LAIT123 :

Merhaba, lütfen bana günlükleri MT4'te nasıl görüntüleyeceğimi söyleyin

Tek bir içerikle 15 gönderi oluşturmaya gerek yok. Ve işe yararsa, kendinizden sonra temizlemeniz istenir. Amcalarını bekleme.
 
artmedia70 :

Muhtemelen, peki, çok gerekli ... :) Ya da fare sıkışmış ...



Sıkışmış bir fare değil. Bu sabırsızlık. 20 dakika 15 gönderiyi sildim.
 
Vinin :

Sıkışmış bir fare değil.
Sohbet var sandı :)
 
FoxUA :

vseravno bu siparişin bir paketini açar

uzman duruşundaki değişikliklerim bu şekilde

ve işte siparişin açılışı

Genel olarak, sizin için nasıl bir his olduğunu anlamıyorum ... Kıvrımlı parantezler birbirine uymuyor, biri kapanıyor biri tamamen kayboluyor ... Şeytanın kendisi bacağını kıracak. Kodunuzu sıraya koyun... onunla uğraşmak zor ve onu derleyip çalıştırmanın bir yolu yok - kodlarımız üzerinde çalışıyoruz...
 
Vinin :

Sıkışmış bir fare değil. Bu sabırsızlık. 20 dakika 15 gönderiyi sildim.
:) Sabırsızlık genellikle başka bir ofiste yetiştirilir... :)