포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 366

 
vadynik :
왜 다음 틱에 바로 주문이 마감되는 건지, 벌써부터 머리가 지끈지끈, 가상 스탑처럼 가격에서 일정 포인트만큼 주문을 마감하려고 하고..


코드에서 시장 시세 를 요청하지 않고 단순히 계산하기 때문에 다음과 같은 행이 있습니다.

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

항상 true이고 연산자 본문이 실행됩니다.

 
vadynik :
왜 다음 틱에 바로 주문이 마감되는 건지, 벌써부터 머리가 지끈지끈, 가상 스탑처럼 가격에서 일정 포인트만큼 주문을 마감하려고 하고..

인쇄 값

priceopen

...

 
vadynik :
왜 다음 틱에 바로 주문이 마감되는 건지, 벌써부터 머리가 지끈지끈, 가상 스탑처럼 가격에서 일정 포인트만큼 주문을 마감하려고 하고..


이 줄에서 다음 계산을 수행한 것과 같습니다.

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

{

인쇄 ( 100 );

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

}

내가 뭐라는지 알 겠어? :)

 
Ekburg :


이 줄에서 다음 계산을 수행한 것과 같습니다.

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

{

인쇄 ( 100 );

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

}

무슨 말인지 이해하셨나요? :)


예, 논리가 떠올랐습니다))
 
vadynik :

예, 논리가 떠올랐습니다))

모든 것이 될 것입니다 ..)) 처음에는 모두가 가지고 있다고 생각합니다)))
 
Ekburg :

모든 것이 될 것입니다 ..)) 처음에는 모두가 가지고 있다고 생각합니다)))


예, 시작하기 어렵습니다) 도움 주셔서 감사합니다

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

그것이 작동 방식입니다

 
MLQ4 "일부 조건 후 수동 확인 요청"에 작성하는 방법을 알려주십시오.
 
Trader7777 :
MLQ4 "일부 조건 후 수동 확인 요청"에 작성하는 방법을 알려주십시오.


MessageBox 함수는 메시지 상자를 생성, 표시 및 관리합니다.
 

감사합니다.. 알아보겠습니다.
 
Trader7777 :

감사합니다.. 알아보겠습니다.

예시

 //+------------------------------------------------------------------+
//|                                         проверка(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 ;
   }
}
//--------------------------------------------------------------------