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

 
다음 상황이 발생 했습니다. 전략 테스터 가 TakeProfit으로 포지션을 청산하지 않습니다. 거래는 TF 데이에 수행되며, 손실 거래에 대한 소규모 TF를 보았습니다. 가격이 TakeProfit이 작동하는 데 필요한 수준 이상으로 하락/상승하지만 거래가 종료되지 않고 가격이 StopLoss에 도달하면 손실이 결정된. 나는 심지어 시각화를 시작했습니다. 몇 가지 기적, 가격이 TakeProfit을 능가하고 그게 전부입니다. 때로는 모든 것이 작동하고 때로는 이러한 것들이 나타납니다. 말 그대로 어제 모든 것이 괜찮았고 오늘 테스터를 시작했고 어드바이저의 효율성은 아무 것도 되지 않았습니다. 터미널을 다시 설치하려고 시도했지만 도움이 되지 않았습니다. 아마도 다른 DC에서??
 
beginner666999 :
다음 상황이 발생했습니다. 전략 테스터가 TakeProfit으로 포지션을 청산하지 않습니다. 거래는 TF 데이에 수행되며, 손실 거래에 대한 소규모 TF를 보았습니다. 가격이 TakeProfit이 작동하는 데 필요한 수준 이상으로 하락/상승하지만 거래가 종료되지 않고 가격이 StopLoss에 도달하면 손실이 결정된. 나는 심지어 시각화를 시작했습니다. 몇 가지 기적, 가격이 TakeProfit을 능가하고 그게 전부입니다. 때로는 모든 것이 작동하고 때로는 이러한 것들이 나타납니다. 말 그대로 어제 모든 것이 괜찮았고 오늘 테스터를 시작했고 어드바이저의 효율성은 아무 것도 되지 않았습니다. 터미널을 다시 설치하려고 시도했지만 도움이 되지 않았습니다. 아마도 다른 DC에서??

그것은 확산에 관한 것입니다. 주말에 증가합니다.

이 같은.

 
r772ra :

그것은 확산에 관한 것입니다. 주말에 증가합니다.

이 같은.


고맙습니다! 평일을 기다려 확인하겠습니다.
 
r772ra :

그것은 확산에 관한 것입니다. 주말에 증가합니다.

이 같은.


당신은 그런 바보가되어야합니다 - 나는 내 악기 의 스프레드 크기에 대해 DC 웹 사이트를 보았고 11 포인트만큼 미쳤습니다! 다시 한번 감사합니다!
 
그런 다음 주제에서 약간 벗어난 또 다른 질문입니다. 주말에 확산이 증가하는 이유는 무엇입니까? 결국 아직 거래가 없습니다.
 
Konstebl :

조건을 올바르게 쓰는 방법을 알려주세요. 열려 있는 BUY 주문이 있고 손익분기점에 있으면 BUYSTOP 주문을 합니다. 저는 다음과 같이 썼습니다.

정적 부울 플래그 ;

if(NewBar())

플래그 = 참;

for(i=0;i<전체;i++)

{

주문 선택(i,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==123)

{

if(주문 유형()==OP_BUY)

{

if(OrderStopLoss()>OrderOpenPrice())

{

if(요청>m && frUP>0 && 플래그)

{

가격 = NormalizeDouble(frUP+(Ask-Bid)+30*Point,Digits);

takeprofit = NormalizeDouble(가격+tp*포인트,자리수);

티켓 = OrderSend(Symbol(),OP_BUYSTOP,Lots,price,5,Bid-sl*Point,takeprofit,"프랙탈",123,TimeCurrent()+72000,Blue);

if(티켓>0)

플래그 = 거짓;

또 다른

Print("오류",GetLastError());

}

}

}

}

}

작동하지 않습니다!!!


그리고 중괄호는 논리에 따라 배열하려고 하지 않았습니까? 그리고 지금까지는 없습니다.

쓰여진 것은 적어도 하나의 포지션이 열려 있음을 의미합니다. 그렇지 않으면 새 항목이 열리지 않습니다.

 
Vinin :


그리고 중괄호는 논리에 따라 배열하려고 하지 않았습니까? 그리고 지금까지는 없습니다.

쓰여진 것은 적어도 하나의 포지션이 열려 있음을 의미합니다. 그렇지 않으면 새 항목이 열리지 않습니다.


그리고 그것들을 배열하는 방법은 무엇입니까?나는 약간의 코드를 추가했습니다:

 if (NewBar())

     flag = true ;    

           for (i= 0 ;i<total;i++)

             {

             OrderSelect (i,SELECT_BY_POS,MODE_TRADES); 

             if (OrderSymbol()== Symbol () && OrderMagicNumber()== 123 )

                {

                 if (OrderType()==OP_BUY || OrderType()<=OP_BUYSTOP)

                   {

                   if (OrderStopLoss()>OrderOpenPrice())

                      {

                       if (Ask>m && frUP> 0 && flag)

                         {                

                        price = NormalizeDouble (frUP+(Ask-Bid)+ 30 * Point , Digits );

                        takeprofit = NormalizeDouble (price+tp* Point , Digits );

                        ticket = OrderSend ( Symbol (),OP_BUYSTOP,Lots,price, 5 ,Bid-sl* Point ,takeprofit, "Fractal" , 123 , TimeCurrent ()+ 72000 ,Blue);

                       if (ticket> 0 )

                        flag = false ;

                       else

                         Print ( "Ошибка " , GetLastError ());

                      }

                   }

                }

             }

          }
По идее должно работать,но не хочет.
 
beginner666999 :
그런 다음 주제에서 약간 벗어난 또 다른 질문입니다. 주말에 확산이 증가하는 이유는 무엇입니까? 결국 아직 거래가 없습니다.

아니요, 주말이 아니라 제가 제대로 작성하지 않았습니다. 마지막으로 받은 견적에 따라 스프레드가 터미널에 남아 있습니다.

저것들. 금요일 낮 에는 터미널을 닫습니다 . 그리고 이번 주말에 테스트합니다.

 
r772ra :

아니요, 주말이 아니라 제가 제대로 작성하지 않았습니다. 마지막으로 받은 견적에 따라 스프레드가 터미널에 남아 있습니다.

저것들. 금요일 낮에는 터미널을 닫습니다. 그리고 이번 주말에 테스트합니다.


이해했습니다 감사합니다! 훨씬 더 논리적입니다.
 
Konstebl :


그리고 그것들을 배열하는 방법은 무엇입니까?나는 약간의 코드를 추가했습니다:


좋아, 논리를 좀 넣어줄게

 if (NewBar())
    flag = true ;    
for (i= 0 ;i<total;i++) {
     OrderSelect (i,SELECT_BY_POS,MODE_TRADES); 
     if (OrderSymbol()== Symbol () && OrderMagicNumber()== 123 ) {
     if (OrderType()==OP_BUY || OrderType()<=OP_BUYSTOP) {
         if (OrderStopLoss()>OrderOpenPrice()) {
             if (Ask>m && frUP> 0 && flag) {                
                price = NormalizeDouble (frUP+(Ask-Bid)+ 30 * Point , Digits );
                takeprofit = NormalizeDouble (price+tp* Point , Digits );
                ticket = OrderSend ( Symbol (),OP_BUYSTOP,Lots,price, 5 ,Bid-sl* Point ,takeprofit, "Fractal" , 123 , TimeCurrent ()+ 72000 ,Blue);
                 if (ticket> 0 )
                    flag = false ;
                 else
                     Print ( "Ошибка " , GetLastError ());
            }
        }
    }
}

          }

루프는 if(NewBar()) 조건에 관계없이 실행됩니다.