[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 51

 
valenok2003 :

거기에 실제로

_dif = 0.01을 인쇄하지만 _Lot = 0;

아마도 질문

int_Lot; //그런 다음 1보다 작은 모든 것을 자릅니다.

그리고 당신은 물어야 합니다:

더블 _많은;


 
forexnew :

아마도 질문

int_Lot; // 그런 다음 0보다 작은 모든 것을 자릅니다.

그리고 당신은 물어야 합니다:

더블 _많은;



더블 _많은;
이중 _Lot_BUY = 0;
이중 _Lot_SELL = 0;
더블 _Lot_BUYSTOP = 0;
더블 _Lot_SELLSTOP = 0;
 

여기 또 다른 디자인이 있습니다

   if (_Lot_BUY > _Lot_SELL+_Lot_SELLSTOP) {
       _dif = _Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP);
       if (_Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP) >= 0.01 ) _Lot = 0.01 ;
       if (_Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP) >=   0.1 ) _Lot =   0.1 ; 
       if (_Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP) >=     1 ) _Lot =     1 ;   
       if (_Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP) >=   10 ) _Lot =   10 ; 

Print (_dif + " установка2 _Lot = " +_Lot+ "_Lot_BUY = " +_Lot_BUY+ "_Lot_BUYSTOP = " +_Lot_BUYSTOP+ "_Lot_SELL = " +_Lot_SELL+ "_Lot_SELLSTOP = " +_Lot_SELLSTOP);

      _Price = NormalizeDouble ((Low [ iLowest ( Symbol (),TF_Cnt_Bar_for_Lock,MODE_LOW, _Bars_PP_OP_SELLSTOP, 0 )]- Dist_For_Boot* Point ), Digits );
       if (Bid - _Price < Dist_For_Boot* Point ) {
         _Bars_PP_OP_SELLSTOP *= 2 ;
         _RESET_Bars_PP_OP_SELLSTOP = false;
      }
       if (set_order_sellstop(_Price, _Lot, _Txt_Lock+Comment_Order)!= - 1 ) _RESET_Bars_PP_OP_SELLSTOP = true;
   }

그렇게 작동하지 않지만 다음 예에서는 작동합니다.

   if (_Lot_BUY > _Lot_SELL+_Lot_SELLSTOP) {
       _dif = _Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP);
       //if(_Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP) >= 0.01) 
      _Lot = 0.01 ;
       if (_Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP) >=   0.1 ) _Lot =   0.1 ; 
       if (_Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP) >=     1 ) _Lot =     1 ;   
       if (_Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP) >=   10 ) _Lot =   10 ; 

Print (_dif + " установка2 _Lot = " +_Lot+ "_Lot_BUY = " +_Lot_BUY+ "_Lot_BUYSTOP = " +_Lot_BUYSTOP+ "_Lot_SELL = " +_Lot_SELL+ "_Lot_SELLSTOP = " +_Lot_SELLSTOP);

      _Price = NormalizeDouble ((Low [ iLowest ( Symbol (),TF_Cnt_Bar_for_Lock,MODE_LOW, _Bars_PP_OP_SELLSTOP, 0 )]- Dist_For_Boot* Point ), Digits );
       if (Bid - _Price < Dist_For_Boot* Point ) {
         _Bars_PP_OP_SELLSTOP *= 2 ;
         _RESET_Bars_PP_OP_SELLSTOP = false;
      }
       if (set_order_sellstop(_Price, _Lot, _Txt_Lock+Comment_Order)!= - 1 ) _RESET_Bars_PP_OP_SELLSTOP = true;
   }
 

로그에 다음 메시지가 표시됩니다.

0.01000000 install2 _Lot = 0.00000000_Lot_BUY = 0.03000000_Lot_BUYSTOP = 0.00000000_Lot_SELL = 0.00000000_Lot_SELLSTOP0 = 00.002
17:07:12 Expert_V3 GBPUSD,M1: OrderSend 기능 에 대한 유효하지 않은 로트 금액

그러나 3개의 SELLSTOP이 충분하지 않은 동안 그는 처음 2개를 문제 없이 설치하고 3번째에 걸려 넘어졌습니다.

즉, _dif 변수를 올바르게 계산하지만 0.01 값을 로트에 할당하지 않는 이유는...

 
Roger :


그게 당신이 생각했던거야?

두 번째 주문부터 시작하여 주문을 엽니다. 두 번째부터가 아니라 세 번째부터.

감사해요
 
거래 세션 의 시작 시간(예: 모스크바의 경우 10-35 등)을 결정할 수 있는지 아니면 변수를 만들고 값을 쓰는 것이 가능한지 알려주시겠습니까? 이것은 세션 시작 시 주문을 하지 않고 방향을 결정하기 위해 필요합니다.
 
first_may :
거래 세션의 시작 시간(예: 모스크바의 경우 10-35 등)을 결정할 수 있는지 아니면 변수를 만들고 값을 쓰는 것이 가능한지 알려주시겠습니까? 이것은 세션 시작 시 주문을 하지 않고 방향을 결정하기 위해 필요합니다.
외환 거래 세션 일정
 

즉, 단순히 세션의 시작을 저장하는 변수를 사용하는 것을 제안한다. 고맙습니다.
 
그럼에도 불구하고 - 내가 만난 세션의 가장 좋은 지표.
추신
데이터베이스에서 찾았습니다. https://www.mql5.com/ru/code/9313
파일:
 
날짜 작업, 즉 두 날짜의 차이를 결정하는 함수의 예가 0보다 크거나 작습니까?