Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 366

 
vadynik :
Emir neden bir sonraki tikte hemen kapanıyor, kafam zaten bundan kaynıyor, sanal stop gibi fiyattan belli bir puanda emri kapatmaya çalışıyorum..


Çünkü kodda piyasa fiyatları talep etmiyorsunuz, sadece sayıyorsunuz, bu nedenle satır:

(( NormalizeDouble (priceopen, Digits ) >=( NormalizeDouble (priceopen, Digits )- 30 * Point ))||( NormalizeDouble (priceopen, Digits ) <=( NormalizeDouble (priceopen, Digits ) + 25 * Point )))

her zaman doğru olacak ve operatör gövdesi yürütülecektir.

 
vadynik :
Emir neden bir sonraki tikte hemen kapanıyor, kafam zaten bundan kaynıyor, sanal stop gibi fiyattan belli bir puanda emri kapatmaya çalışıyorum..

baskı değeri

priceopen

...

 
vadynik :
Emir neden bir sonraki tikte hemen kapanıyor, kafam zaten bundan kaynıyor, sanal stop gibi fiyattan belli bir puanda emri kapatmaya çalışıyorum..


Bu satırda aşağıdaki hesaplamayı yapmış gibisiniz:

if ((100 >=100 - 30 )||(100 <=100 + 25 ))

{

Yazdır ( 100 );

OrderClose ( OrderTicket (), OrderLots (), Bid , 50 , Mavi);

}

Ne demek istediğimi biliyor musun? :)

 
Ekburg :


Bu satırda aşağıdaki hesaplamayı yapmış gibisiniz:

if ((100 >=100 - 30 )||(100 <=100 + 25 ))

{

Yazdır ( 100 );

OrderClose ( OrderTicket (), OrderLots (), Bid , 50 , Mavi);

}

Ne demek istediğimi anlıyor musun? :)


Evet, mantık yüzdü))
 
vadynik :

Evet, mantık yüzdü))

Her şey olacak ..)) ilk başta, herkesin sahip olduğunu düşünüyorum)))
 
Ekburg :

Her şey olacak ..)) ilk başta, herkesin sahip olduğunu düşünüyorum)))


Evet, başlamak zor) yardımın için teşekkürler

 NormalizeDouble (priceopen- 30 * Point , Digits )>= Bid

İşte böyle çalışır

 
lütfen bana MLQ4'te "bir koşul, sonra manuel onay iste" nasıl yazılacağını söyle?
 
Trader7777 :
lütfen bana MLQ4'te "bir koşul, sonra manuel onay iste" nasıl yazılacağını söyle?


MessageBox işlevi, bir mesaj kutusu oluşturur, görüntüler ve yönetir.
 
 
Trader7777 :

Teşekkürler, inceleyeceğiz..

misal

 //+------------------------------------------------------------------+
//|                                         проверка(MessageBox).mq4 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link        "http://www.metaquotes.net"
extern int      stoploss    = 0 ,         //уровень выставления SL, если 0, то SL не выставляется
               takeprofit  = 0 ,         //уровень выставления TP, если 0, то TP не выставляется
               Magic       = 0 ;         //уникальный номер ордера
extern double   Lot         = 0.01 ;       //объем ордера
extern int      slippage    = 0 ;         //Максимально допустимое отклонение цены для рыночных ордеров

double SL,TP;
#include <WinUser32.mqh>
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
     if ( MessageBox ( " открыть ордер BUY??? " , "Скрипт интересуется:" , 1 )== 1 )
        {
       if (takeprofit!= 0 ) TP  = NormalizeDouble ( Ask + takeprofit* Point , Digits ); else TP= 0 ;
       if (stoploss!= 0 )   SL  = NormalizeDouble ( Ask - stoploss* Point , Digits ); else SL= 0 ;     
      OPENORDER ( "Buy" );
        } 

//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
void OPENORDER( string ord)
{
   int error,err;
   while ( true )
   {  error= true ;
       if (ord== "Buy" ) error= OrderSend ( Symbol (), OP_BUY , Lot, NormalizeDouble ( Ask , Digits ),slippage,SL,TP, "BUY" ,Magic, 0 ,Blue);
       if (ord== "Sell" ) error= OrderSend ( Symbol (), OP_SELL ,Lot, NormalizeDouble ( Bid , Digits ),slippage,SL,TP, "SELL" ,Magic, 0 ,Red);
       if (error==- 1 ) //неудачная покупка OK
      {  
         ShowERROR();
         err++; Sleep ( 2000 ); RefreshRates ();
      }
       if (error || err > 10 ) return ;
   }
return ;
}                  
//--------------------------------------------------------------------
void ShowERROR()
{
   int err=GetLastError();
   switch ( err )
   {                  
       case 1 :   return ;
       case 2 :   Alert ( "Нет связи с торговым сервером " , Symbol ()); return ;
       case 3 :   Alert ( "Error неправильные параметры " , Symbol ()); return ;
       case 130 : Alert ( "Error близкие стопы   Ticket " , Symbol ()); return ;
       case 134 : Alert ( "Недостаточно денег   " , Symbol ()); return ;
       case 146 : Alert ( "Error Подсистема торговли занята " , Symbol ()); return ;
       case 129 : Alert ( "Error Неправильная цена " , Symbol ()); return ;
       case 131 : Alert ( "Error Неправильный объем " , Symbol ()); return ;
       case 4200 : Alert ( "Error Объект уже существует " , Symbol ()); return ;
       default :   Alert ( "Error  " ,err, " " , Symbol ()); return ;
   }
}
//--------------------------------------------------------------------