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

 
Affedersiniz, basit-basit bir satır derleyicim yok
 double price=(Ask+Bid)/ 2 ;
0'a derlenmeden önce, şimdi
 
Dimka-novitsek :
Afedersiniz, 0'a derlenmeden önce basit-basit bir dize derlemedim, şimdi

başlangıçta ekle
 
Teşekkür ederim!
 

Döngüyü aklıma getiremiyorum, her tikte bir iki emir açılıyor, böyle olmalı. Bir onay işaretinin gelmesiyle, X değişkeni sırasıyla 0 değerini alarak başlangıç içinde bildirilir.

Ayrıca, döngü içinde, X= sipariş sayısı dikkate alınır ve ardından X= 0 veya 1 ise, açıcı dikkate alınır.

 //+------------------------------------------------------------------+
//|                                                         блин.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"
extern double stoploss= 0 ; extern double takeprofit= 20 ; extern int otstup= 20 ; extern datetime expiration= 0 ;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int tiket,tikett; double volume= 0.1 ; int i= 0 ,R1= 0 ,R2= 0 ,A= 1 ;
int start()
  { int X; double price=(Ask+Bid)/ 2 ;      
//----
       for ( int Uy= OrdersTotal ();Uy== 0 ;Uy--){ Alert ( "OrdersTotal()" , OrdersTotal ());//тут считаем кол-во уже открытых ордеров.
OrderSelect ( Uy,SELECT_BY_POS ); Alert ( "Uy" ,Uy); if (OrderSymbol()== Symbol ()&&OrderMagicNumber( )== 1000 ||OrderMagicNumber( )== 2000 &&OrderSymbol()== Symbol ())
{X ++;}   Alert ( "X" ,X);}
//----
if (X< 2 ){
   tiket= OrderSend ( Symbol (), OP_BUYSTOP,  volume*A, price +otstup* Point , Point * 3 , R1, price+takeprofit* Point +otstup* Point , "OP_BUYSTOP" , 1000 ,  expiration, Red ); 
   Alert ( "OP_BUYSTOP" , GetLastError ( )); 
   tikett= OrderSend ( Symbol (), OP_SELLSTOP,  volume*A, price -otstup* Point , Point * 3 ,R2, price-takeprofit* Point -otstup* Point , "OP_SELLSTOP" , 2000 ,  expiration, C'0,128,255' );
     Alert ( "OP_SELLSTOP" , GetLastError ( )); 
    }       
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
 
//+------------------------------------------------------------------+
//|                                                         блин.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
extern double stoploss=0; extern double takeprofit=20;extern int otstup=20; extern datetime expiration=0;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int tiket,tikett;double volume=0.1;int i=0,R1=0,R2=0,A=1 ;
int start()
  { int X=0; double price=(Ask+Bid)/2;      
//----
       for(int Uy=OrdersTotal();Uy==0;Uy--){Alert ("OrdersTotal()",OrdersTotal());
OrderSelect( Uy,SELECT_BY_POS );Alert ("Uy",Uy);if(OrderSymbol()==Symbol()&&OrderMagicNumber( )==1000||OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol())
{X ++;}  Alert ("X",X);}
//----
if (X<2){
   tiket= OrderSend( Symbol(), OP_BUYSTOP,  volume*A, price +otstup*Point, Point* 3, R1, price+takeprofit*Point+otstup*Point, "OP_BUYSTOP", 1000,  expiration, Red); 
   Alert ("OP_BUYSTOP", GetLastError( )); 
   tikett= OrderSend( Symbol(), OP_SELLSTOP,  volume*A, price -otstup*Point, Point* 3,R2, price-takeprofit*Point-otstup*Point, "OP_SELLSTOP" , 2000,  expiration,C'0,128,255' );
    Alert ("OP_SELLSTOP", GetLastError( )); 
    }       
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

Bir değişken bildirdiniz ancak sıfırlamadınız. Buna göre, her kene ile sadece büyüyecek !!!!!!

bunu yapmak doğru değil

 double price=(Ask+Bid)/ 2 ;
 
Teşekkürler!! Hemen sıfırlayacağım. Ama her neyse, bir şeyler yanlış, belki bir nedenden dolayı ilk döngü çalışmıyor ve X her zaman 0 kalıyor, emin olamıyorum bile çünkü Alert ("X", X) günlüğe hiçbir şey yazmıyor , sadece sıfırlı tasma siparişleri vardır.
 
VOLDEMAR :

Bir değişken bildirdiniz ancak sıfırlamadınız. Buna göre, her kene ile sadece büyüyecek !!!!!!

bunu yapmak doğru değil


Burada yanılıyorsunuz. Her tik ile bu değişken yeniden bildirilir, dolayısıyla 0'a eşittir.

açlıktan ölür

 int start()
  { int X; double price=(Ask+Bid)/ 2 ;      
//----
       for ( int Uy= OrdersTotal ();Uy== 0 ;Uy--){ Alert ( "OrdersTotal()" , OrdersTotal ());
OrderSelect ( Uy,SELECT_BY_POS ); Alert ( "Uy" ,Uy); if (OrderSymbol()== Symbol ()&&(OrderMagicNumber( )== 1000 ||OrderMagicNumber( )== 2000 )&&OrderSymbol()== Symbol ())
{X ++;}   Alert ( "X" ,X);}
//----
if (X< 2 ){
   tiket= OrderSend ( Symbol (), OP_BUYSTOP,  volume*A, price +otstup* Point , 3 , R1, price+takeprofit* Point +otstup* Point , "OP_BUYSTOP" , 1000 ,  expiration, Red ); 
   Alert ( "OP_BUYSTOP" , GetLastError ( )); 
   RefreshRates();
   tikett= OrderSend ( Symbol (), OP_SELLSTOP,  volume*A, price -otstup* Point ,   3 ,R2, price-takeprofit* Point -otstup* Point , "OP_SELLSTOP" , 2000 ,  expiration, C'0,128,255' );
     Alert ( "OP_SELLSTOP" , GetLastError ( )); 
    }       
   
//----
   return ( 0 );
  }
 
Roger :

Burada yanılıyorsunuz. Her onay işareti ile bu değişken yeniden bildirilir, dolayısıyla 0'a eşittir.

Evet, x=0 olarak ayarlarsanız, sıfıra sıfırlanır; basitçe int x: olarak ayarlarsanız sıfıra sıfırlamaz, ancak büyür

 
VOLDEMAR :

Evet, x=0 olarak ayarlarsanız, sıfıra sıfırlanır; basitçe int x: olarak ayarlarsanız sıfıra sıfırlamaz, ancak büyür



Bunu hangi yıllıklarda okudunuz?