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

 
drknn :

전략 테스터의 이상한 행동을 관찰했습니다. 내 EA는 보류 중인 중지 주문을 설정하고 추적합니다. 실수. 다음이 발생합니다. EA는 현재 가격에서 30핍의 거리에 Bystop 및 Sellstop을 설정합니다. 얼마 후, 그는 그들이 작동하지 않으면 시장 뒤에 그들을 끌어옵니다. 여기 내가 보는 것이 있습니다. 수정 성공, 수정 성공, 그리고 어느 시점에서 오류 # 1이 나타납니다. 즉, 모든 것이 정상이었고 고문이 동일한 조치를 취했는데 갑자기이 오류가 나타납니다. 가격은 모두 숫자로 정규화됩니다. 일반적으로 OrderModify() 함수의 입력에 제공되는 모든 값은 모두 정규화됩니다!

테스터에서 Expert Advisor가 그러한 행동을 하는 이유는 무엇입니까?

수정이 필요한지 확인하려면 정규화해야 합니다. 그리고 수정된 가격 차이를 0과 비교하는 것이 좋습니다.

 if ( NormalizeDouble (цена 1 - цена 2, _Digits ) != 0 )


조건에 따라 < 또는 > 0을 넣는 것이 나을 수 있습니다.

 
Viktorline14 :

다시 한번 감사합니다!

이제 한 가지 문제가 있습니다. 고문은 내가 원하는 대로 하나가 아니라 여러 주문을 연속으로 엽니다(

int start()



  { S1a = NormalizeDouble(iStochastic(NULL, 0, S1_period, 3, S1_slowing, MODE_SMA, 1, MODE_MAIN, 1), 0);

   S1b = NormalizeDouble(iStochastic(NULL, 0, S1_period, 3, S1_slowing, MODE_SMA, 1, MODE_SIGNAL, 1), 0);

   

   if(MyOrderStateB == 1)Sleep(300000);

    else MyOrderStateB = 0;

   if(MyOrderStateS == 1)Sleep(300000);

    else MyOrderStateS = 0;

    

 

     

   if(S1a == S1b && S1a<20.0000 && S1b<20.0000 )

 

      if(!OrderSend(Symbol(), OP_BUY, OrderValue, NormalizeDouble(Ask, Digits), Slippage, Bid - SL * Point, Ask + TP * Point, NULL, 0, 0,clrBlue))

   Print("Opening Buy error #", GetLastError());  

     else Sleep(2);

   MyOrderStateB = 1;

  

   


      

   if(S1a == S1b && S1a>80.0000 && S1b>80.0000 )


    

    

       if(!OrderSend(Symbol(), OP_SELL, OrderValue, NormalizeDouble(Bid, Digits), Slippage, Ask + SL * Point, Bid - TP * Point , NULL, 0, 0,clrRed))

       Print("Opening Sell error #", GetLastError()); 

       else Sleep(2);

       MyOrderStateS = 1;

       

      

       

       

       

   return(0);}


이 같은.

   int start()

     {
      S1a= NormalizeDouble ( iStochastic ( NULL , 0 ,S1_period, 3 ,S1_slowing, MODE_SMA , 1 ,MODE_MAIN, 1 ), 0 );
      S1b= NormalizeDouble ( iStochastic ( NULL , 0 ,S1_period, 3 ,S1_slowing, MODE_SMA , 1 ,MODE_SIGNAL, 1 ), 0 );

       if (S1a==S1b && S1a< 20.0000 && S1b< 20.0000 && MyOrderStateB== 0 )
         (
         if (! OrderSend ( Symbol (),OP_BUY,OrderValue, NormalizeDouble (Ask, Digits ),Slippage,Bid-SL* Point ,Ask+TP* Point , NULL , 0 , 0 , clrBlue ))
             Print ( "Opening Buy error #" , GetLastError ());
           else
            MyOrderStateB= 1 ;
         )

       if (S1a==S1b && S1a> 80.0000 && S1b> 80.0000 && MyOrderStateS== 0 )
        {
       if (! OrderSend ( Symbol (),OP_SELL,OrderValue, NormalizeDouble (Bid, Digits ),Slippage,Ask+SL* Point ,Bid-TP* Point , NULL , 0 , 0 , clrRed ))
             Print ( "Opening Sell error #" , GetLastError ());
         else
            MyOrderStateS= 1 ;
        }



       return ( 0 );
     }
 
안녕하세요, 푸시 메시지가 가끔 늦게 도착하는 이유를 알려주세요. 오늘은 단말기를 켜니 30분 만에 전화로 문자가 왔다. 인터넷에서는 모든 것이 괜찮았습니다(전화는 Wi-Fi 옆에 있었습니다). 물론 대부분의 경우 이러한 지연 없이 모든 일이 발생합니다. 푸시 메시지 수신을 더 안정적으로 만드는 방법은 무엇입니까?
 
halk2009 :
안녕하세요, 푸시 메시지가 가끔 늦게 도착하는 이유를 알려주세요. 오늘은 단말기를 켜니 30분 만에 전화로 문자가 왔다. 인터넷에서는 모든 것이 괜찮았습니다(전화는 Wi-Fi 옆에 있었습니다). 물론 대부분의 경우 이러한 지연 없이 모든 일이 발생합니다. 푸시 메시지 수신을 더 안정적으로 만드는 방법은 무엇입니까?
그러나 누군가가 메시지의 즉각적인 전송을 보장했습니까?
 
evillive :
그러나 누군가가 메시지의 즉각적인 전송을 보장했습니까?
몰라서 여쭤봅니다. 대부분의 경우 메시지는 즉시 도착합니다. 저는 항상 이 상태가 되었으면 합니다!) 문제의 일부 기술적인 측면에서 조정할 수 있어 푸시 메시지 수신의 안정성을 높일 수 있습니다.
 
얘들아, 이게 대체 뭔지 말해줘. 신호 중에 소리가 재생되도록 어드바이저에 Playsound를 넣어 오디오 카드가 경련을 일으키기 시작했습니다. 즉, 일종의 단기적인 소리, 경련이있었습니다. 터미널을 끄면 모든 것이 정상입니다. 소리는 표준으로 재생됩니다 ..... 무엇을 할 수 있습니까?
 
drknn :

전략 테스터의 이상한 행동을 관찰했습니다. 내 EA는 보류 중인 중지 주문을 설정하고 추적합니다. 실수. 다음이 발생합니다. EA는 현재 가격에서 30핍 거리에 Bystop 및 Sellstop을 설정합니다(Instrument - GbUsd. 4자리. 최소 허용 수준 = 3핍). 얼마 후, 그는 그들이 작동하지 않으면 시장 뒤에 그들을 끌어옵니다. 여기 내가 보는 것이 있습니다. 수정 성공, 수정 성공, 그리고 어느 시점에서 오류 # 1이 나타납니다. 즉, 모든 것이 정상이었고 고문이 동일한 조치를 취했는데 갑자기이 오류가 나타납니다. 가격은 모두 숫자로 정규화됩니다. 일반적으로 OrderModify() 함수의 입력에 제공되는 모든 값은 모두 정규화됩니다!

테스터에서 Expert Advisor가 그러한 행동을 하는 이유는 무엇입니까?

매개변수 값을 변경하지 않고 주문을 수정하려는 시도. 엄격하지 않은 비교를 엄격하게 하여 주의를 끌 것입니다.
 

안녕하세요!

제발 내게 말해줘. 계산 또는 참조에 수식을 사용할 수 있습니다 ...

스탑아웃 전에 EURUSD에서 몇 포인트를 통과해야 하는지 = 50%, 200번째 레버리지 - 이는 1랏에 대한 브로커의 거래 조건입니다. 마진콜 = 100%.

덕분에.

추신 나는 한 점의 대가가 필요하다는 것을 압니다. 따라서 계산 ...

 
_Roman :

안녕하세요!

제발 내게 말해줘. 계산 또는 참조에 수식을 사용할 수 있습니다 ...

스탑아웃 전에 EURUSD에서 몇 포인트를 통과해야 하는지 = 50%, 200번째 레버리지 - 이는 1랏에 대한 브로커의 거래 조건입니다. 마진콜 = 100%.

덕분에.

추신 나는 한 점의 대가가 필요하다는 것을 압니다. 따라서 계산 ...


포지션이 에퀴티를 50% 증가시키면 더 쉬워집니다. 포인트를 세어 보세요! 포인트 차이는 동일합니다! ;))
 
borilunad :
포지션이 에퀴티를 50% 증가시키면 더 쉬워집니다. 포인트를 세어 보세요! 포인트 차이는 동일합니다! ;))

:-) 같은 곳에서 스탑아웃은 입금액의 백분율로 계산됩니다...

예, 예를 들어 보증금 $ 1000와 함께 질문에 표시하는 것을 잊었습니다.