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

 
MaxZ :

나는 아마도 뭔가를 놓치고있을 것입니다 :



나는 NewOrder 덕분에 이제 단계가 작동한다는 것을 알아 냈습니다.
 
SeALALex :

나는 NewOrder 덕분에 이제 단계가 작동한다는 것을 알아 냈습니다.

이 코드에 주의하십시오. 그것은 즉석에서 작성되었으며 테스트되지 않았습니다! :)))

그리고 방금 귀하의 문제를 해결하기 위한 옵션 중 하나를 작성했습니다.


그건 그렇고, 이전에 다음 코드를 제공했습니다.

Болк открытия на бай
if (Buy==true) 
  {Buy=false;

   ticket= OrderSend ( Symbol (),OP_BUY,Lots, NormalizeDouble (Ask, Digits ), 5 ,SL,TP,Order, 070177 , 0 , Orange );
   if (ticket> 0 )
    { 
     if ( OrderSelect (ticket,SELECT_BY_TICKET,MODE_TRADES)) 
      { Print ( "BUY order opened : " , OrderOpenPrice ());
       Alert ( "Buy Order for " , Symbol ());
       SendMail ( "Buy Order " + Symbol ()+ " " +Ask,SL);     
       }
     }
     else Print ( "Error opening BUY order : " , GetLastError ()); 
     return ( 0 ); 
   }

그리고 예를 들어 인용문 이 있을 경우 ?? 그러면 BUY 주문이 열리지 않고 열리라는 신호가 정확할 수 있습니다. 그리고 몇 시간 안에 가격이 얼마나 많이 올랐는지, 재인용으로 인해 BUY 주문이 열리지 않은 것을 볼 수 있습니다...

 
MaxZ :

이 코드에 주의하십시오. 그것은 즉석에서 작성되었으며 테스트되지 않았습니다! :)))

그리고 방금 귀하의 문제를 해결하기 위한 옵션 중 하나를 작성했습니다.


그건 그렇고, 이전에 다음 코드를 제공했습니다.

예를 들어 재인용이 있는 경우에는 어떻게 합니까? 그러면 BUY 주문이 열리지 않고 열리라는 신호가 정확할 수 있습니다. 그리고 몇 시간 안에 가격이 얼마나 많이 올랐는지, 재인용으로 인해 BUY 주문이 열리지 않은 것을 볼 수 있습니다...


그러나 그것을 보장하는 방법은 무엇입니까?

 
SeALALex :


그러나 그것을 보장하는 방법은 무엇입니까?

가장 기본적인 방법은 코드를 다르게 다시 작성하는 것입니다.

Болк открытия на бай
if (Buy==true) 
  {ticket= OrderSend ( Symbol (),OP_BUY,Lots, NormalizeDouble (Ask, Digits ), 5 ,SL,TP,Order, 070177 , 0 , Orange );
   if (ticket> 0 )
    { 
     if ( OrderSelect (ticket,SELECT_BY_TICKET,MODE_TRADES)) 
      {Buy=false;
       Print ( "BUY order opened : " , OrderOpenPrice ());
       Alert ( "Buy Order for " , Symbol ());
       SendMail ( "Buy Order " + Symbol ()+ " " +Ask,SL);     
       }
     }
     else Print ( "Error opening BUY order : " , GetLastError ()); 
     return ( 0 ); 
   }

주문이 열릴 때까지 매수 포지션을 열라는 신호는 True 상태를 유지합니다.

 
MaxZ :

가장 기본적인 방법은 코드를 다르게 다시 작성하는 것입니다.

주문이 열릴 때까지 매수 포지션을 열라는 신호는 True 상태를 유지합니다.


정말 감사합니다! 그리고 로만님 정말 감사합니다!

그런데도 로트의 증액을 일정 단계까지 달성할 수 없고, 로트를 연속적으로 늘려야 하는데, 마진이 참여하지 않은 오픈 바이 오더를 해보자(마진이 가끔 영향을 주어 로트를 줄여주기 때문이다.) ,하지만 이것은 필요하지 않습니다), 일련의 주문에서 특정 크기만큼 엄격하게 증가해야합니다. 음, 즉 하나의 기준에 따라 추세가 있고, 구매 신호, 두 번째에 따라 추가 구매 신호가 나타납니다-주문이 열린 다음 첫 번째 기준에 따라 구매 신호가 여전히 유지되고, 둘째, 약간의 수정 후 다시 구매로 나타나고 다른 주문이 열리지만 이미 큰 크기입니다(크기는 초기 매개변수에서 설정되고 모든 구매 주문을 닫은 후 결제 신호가 나타나고 모든 것이 시작됩니다. 다시 초기 로트 크기에서.

Plizz 두뇌 뒤에 어떤 코드 조각을 보여줘야 합니까?

 
SeALALex :


정말 감사합니다! 그리고 로만님 정말 감사합니다!

그런데도 로트의 증액을 일정 단계까지 달성할 수 없고, 로트를 연속적으로 늘려야 하는데, 마진이 참여하지 않은 오픈 바이 오더를 해보자(마진이 가끔 영향을 주어 로트를 줄여주기 때문이다.) ,하지만 이것은 필요하지 않습니다), 일련의 주문에서 특정 크기만큼 엄격하게 증가해야합니다.

로트 계산에서 마진을 사용하지 않고 예를 들어 extern 변수에서 상수 매개변수가 설정된 상태에서만 작동하는 경우 로트는 상수 값만큼만 그에 따라 증가합니다. 코드를 작성할 수 있는 원리는 위에서 제시했습니다.

씨알렉스 :


음, 즉 하나의 기준에 따라 추세가 있고, 구매 신호, 두 번째에 따라 추가 구매 신호가 나타납니다-주문이 열린 다음 첫 번째 기준에 따라 구매 신호가 여전히 유지되고, 둘째, 약간의 수정 후 다시 구매로 표시되고 다른 주문이 열렸지만 이미 큰 크기입니다(크기는 초기 매개변수에 설정되어 있으며 모든 구매 주문을 닫은 후 결제 신호가 나타나고 모든 것이 시작됩니다. 다시 초기 로트 크기에서 .

Plizz 두뇌 뒤에 어떤 코드 조각을 보여줘야 합니까?

변수 Lot, LotteInitial 및 LotStep이 있습니다. 추세를 변경할 때, Lot를 0으로 재설정하고 초기 값을 LotteInitial 에 할당하십시오 . 추세가 계속되고 추세에 따라 주문이 이미 열려 있고 새로운 주문을 개설해야 한다는 신호가 온 경우, LottesStep 단계로 lot 변수를 늘리고 주문을 엽니다 .

모든 논리를 이해하고 있음을 알 수 있지만, 어떤 이유로 그것을 if 문으로 변환할 수 없습니다 ... 왜, 나는 모릅니다.

도움이 될 수 있습니다:

 extern LotsInitial = 0.5 ;
extern LotsStep    = 0.1 ;
       Lots;

int start()
{
   ...

   if ((Тренд окончен) && (Все ордера закрыты) && (Пришёл сигнал о возможном начале нового тренда))
      Lots = LotsInitial;
 
   if ((Тренд подтверждён) && (Коррекция) && (Пришёл ещё сигнал открыться по тренду))
      Lots += LotsStep;
  
   ...
}
 
MaxZ :

로트 계산에서 마진을 사용하지 않고 예를 들어 extern 변수에서 상수 매개변수가 설정된 상태에서만 작동하는 경우 로트는 상수 값만큼만 그에 따라 증가합니다. 코드를 작성할 수 있는 원리는 위에서 제시했습니다.

당신은 랏과 랏스텝 변수를 가지고 있습니다. 트랜드를 변경할 때, Lot를 0으로 재설정하고 초기 값을 할당하십시오. 추세가 계속되고 추세를 따라 주문이 이미 열려 있고 새 주문을 열어야 한다는 신호가 온 경우, LotteStep 단계에서 랏 변수를 늘리고 주문을 엽니다.

모든 논리를 이해하고 있음을 알 수 있지만, 어떤 이유로 그것을 if 문으로 변환할 수 없습니다 ... 왜, 나는 모릅니다.


파일로 여는 역할을 하는 파일 형식으로 코드의 일부를 넣을 수 있습니까? 그리고 당신은 ... 삽입했지만 게시 할 때 그러한 코드에 뭔가 잘못된 것 같습니다. 단계를 엽니 다. 더 많이 그러나 매 백.
파일:
 
SeALALex :

파일로 여는 역할을 하는 파일 형식으로 코드의 일부를 넣을 수 있습니까? 그리고 당신은 ... 삽입했지만 게시 할 때 그러한 코드에 뭔가 잘못된 것 같습니다. 단계를 엽니 다. 더 많이 그러나 매 백.

당신은 먼저 모든 실수를 고칠 것입니다. Expert Advisor 없이 작동하지 않는 경우 왜 Expert Advisor에 추가해야 합니까? 이 코드는 어드바이저의 전체 기능과 유사하지 않습니다. 분명히 당신은 그것에서 코드 조각을 잘라 냈지만 오류를 정리해야합니까? :)))

예를 들어, init() 함수는 닫히지 않았습니다... 그리고 이해할 수 없는 변수: LastOrder...

버그를 수정해주세요.

 
MaxZ :

당신은 먼저 모든 실수를 고칠 것입니다. Expert Advisor 없이 작동하지 않는 경우 왜 Expert Advisor에 추가해야 합니까? 이 코드는 어드바이저의 전체 기능과 유사하지 않습니다. 분명히 당신은 그것에서 코드 조각을 잘라 냈지만 오류를 정리해야합니까? :)))

예를 들어, init() 함수는 닫히지 않았습니다... 그리고 이해할 수 없는 변수: LastOrder...

버그를 수정해주세요.


예, 생성자로 조립했습니다. 작동하는 것 같습니다. 이제 물론 정상으로 가져와 게시하려고 합니다.
 
splxgf :


ND에 관한 것이 아닙니다. point는 포인트 크기이고 05를 곱하면 0.00005가 됩니다. 예를 들어 이 숫자를 OrderClosePrice()-OrderTakeProfit()과 비교할 이유가 없습니다. TP는 정확히 동일한 종가를 보장하지 않습니다. 또한, 만 및 마을에 대해 다른 확인 조건이 있습니다.

이 디자인은 다소 신뢰할 수 있습니다.



감사합니다!! 잘 읽었습니다. 또한, 베이와 마을에 대해 다른 확인 조건이 있을 것입니다 - 사실입니다!!