MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 173

 
Artyom Trishkin :

아무도 당신을 "로샤라"라고 부르지 않았습니다. 그러나 4-6줄의 코드도 역시 어리둥절합니다. 결국 사람이 무언가를 배우고 있기 때문에 그는 이미 무언가를 시도해야 하고 이미 무언가를 작성하려고 시도했으며 4-6줄에서 이미 그것을 분명히 보고 있습니다. 딱 맞다.

당신이 시도한 것을 보여주십시오 - 이해하려고 노력하십시오.

나는 대안적인 단순화된 버전을 제공할 수 있습니다 - 진드기로 특정 수준의 가격 교차를 찾지 말고 MA (1)로 찾으십시오. 그러면 막대 1의 MA와 막대 0의 MA가 교차 표시의 역할을 합니다. 필요한 수준.


오랫동안 답변을 드리지 못해 죄송합니다. 나는 그것이 당혹 스럽다는 것으로 밝혀져서 기쁩니다. 나는 화를 냈습니다. 내 질문에 관해서는 가격에 도달하면 일반 주문을 열고 이 가격을 넘으면 다시 열지 않는 코드를 작성할 수 있었습니다. 그러나 나는 이것을 다음과 같이 했다.
더블 b = 5;
정수 시작()
{
이중 입찰 = 입찰;
경우(입찰가==0.7777 && b==5)
{
b=b+1;
OrderSend (Symbol(), OP_BUY, 0.1, 묻기, 0,0,0);
}

반품;

나는 이것이 "유치원"방법이며 너무 많은 뉘앙스가 있고 전혀 실용적이지 않기 때문에 작업이 불가능하다는 것을 이미 이해했습니다. 어떤 상황에서 코드가 작동하지 않거나 작동하도록 변경하는 방법을 알 수 있습니까? Ps "MA(1)로 검색 - 그러면 막대 1의 MA와 막대 0의 MA가 필요한 수준을 넘는 지표 역할을 합니다." 자료.


 
maxon777 :

오랫동안 답변을 드리지 못해 죄송합니다. 나는 그것이 당혹 스럽다는 것으로 밝혀져서 기쁩니다. 나는 화를 냈습니다. 내 질문에 관해서는 가격에 도달하면 일반 주문을 열고 이 가격을 넘으면 다시 열지 않는 코드를 작성할 수 있었습니다. 그러나 나는 이것을 다음과 같이 했다.
더블 b = 5;
정수 시작()
{
이중 입찰 = 입찰;
경우(입찰가==0.7777 && b==5)
{
b=b+1;
OrderSend(Symbol(), OP_BUY, 0.1, 묻기, 0,0,0);
}

반품;

나는 이것이 "유치원"방법이며 너무 많은 뉘앙스가 있고 전혀 실용적이지 않기 때문에 작업이 불가능하다는 것을 이미 이해했습니다. 어떤 상황에서 코드가 작동하지 않거나 작동하도록 변경하는 방법을 알 수 있습니까? Ps "MA(1)로 검색 - 그러면 막대 1의 MA와 막대 0의 MA가 필요한 수준을 넘는 지표 역할을 합니다." 자료.



두 숫자의 동등성에 대한 비교, double 유형은 그다지 좋은 연산이 아닙니다.

그런 식으로 NormalizeDouble (A - B, 5)==0, 그래서 아마.

 

모두 좋은 저녁!

도와주세요, 코드에서 오류를 찾을 수 없습니다.

내 쌍에 이익이 있는지 확인해야 합니다. 이익이 있는 경우 거래를 계속하지 않고 고문을 닫습니다. 그렇지 않은 경우

지연을 설정합니다.

문제는 Expert Advisor가 시작되면 즉시 삭제된다는 것입니다. ExpertRemove() 는 작동하지만 아직 수익은 없습니다.

아래는 코드의 일부입니다.

무효 OnTick()

{

(TakeProfit()>0)인 경우

{

ExpertRemove();

}

if(TakeProfit()<=0)

{

여기에 우리는 지연을 넣습니다

}

}

//+----------------------------------------------- --------------------+

////////이익으로 마감된 거래가 있는지 찾고 있습니다!!!!!!!!

int TakeProfit()

{

정수 개수 = 0;

for(int i=OrdersHistoryTotal()-1; i>=0; i--)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) == true && OrderMagicNumber() == Magic && OrderSymbol() == 기호() && OrderProfit()>0.0)

{

카운트++;

}

}

리턴(카운트);




 
yaaarik777 :

모두 좋은 저녁!

도와주세요, 코드에서 오류를 찾을 수 없습니다.

내 쌍에 이익이 있는지 확인해야 합니다. 이익이 있는 경우 거래를 계속하지 않고 고문을 닫습니다. 그렇지 않은 경우

지연을 설정합니다.

문제는 Expert Advisor가 시작되면 즉시 삭제된다는 것입니다. ExpertRemove()는 작동하지만 아직 수익은 없습니다.

아래는 코드의 일부입니다.

////////폐업이 있었는지...찾아보니 수익이 나네요!!!!!!!!

int TakeProfit()

{

정수 개수 = 0;

for(int i=OrdersHistoryTotal()-1; i>=0; i--)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) == true && OrderMagicNumber() == Magic && OrderSymbol() == 기호() && OrderProfit()>0.0)

{

카운트++;

}

}

반환(카운트);

이 코드로 무엇을 찾고 계십니까?

그것은 전체 기록에 대한 이익을 살펴보고 특히 마감된 포지션은 아닙니다. 전체 기록이 플러스인 경우 출력 OrderProfit()>0에서 모든 시나리오에서 얻을 수 있습니다.

 
Vitaly Muzichenko :

이 코드로 무엇을 찾고 계십니까?

그것은 전체 기록에 대한 이익을 살펴보고 특히 마감된 포지션은 아닙니다. 전체 기록이 플러스인 경우 출력 OrderProfit()>0에서 모든 시나리오에서 얻을 수 있습니다.


그러나 전체가 아니라 고문이 일하는 순간부터 닫힌 것으로 보이게하는 방법은 무엇입니까?

나는 따라잡지 않는다.

도와 주셔서 감사합니다.

 
yaaarik777 :


그러나 전체가 아니라 고문이 일하는 순간부터 닫힌 것으로 보이게하는 방법은 무엇입니까?

나는 따라잡지 않는다.

도와 주셔서 감사합니다.

Expert Advisor 시작 시간보다 늦게 마감된 마지막 마감 된 포지션 또는 오늘의 마지막으로 마감된 포지션을 찾아 수익을 확인하세요: OrderProfit()+OrderCommission()+OrderSwap()
 
yaaarik777 :


그러나 전체가 아니라 고문이 일하는 순간부터 닫힌 것으로 보이게하는 방법은 무엇입니까?

나는 따라잡지 않는다.

도와 주셔서 감사합니다.


어드바이저 작업의 순간을 어떻게 결정합니까?

나는 그렇게 제안한다;

 double TakeProfit ()
{
 datetime момент работы советника= 0 ;
 double p= 0 ;
   for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--){
     if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )){
       if ( OrderMagicNumber () == Magic){
           if ( OrderSymbol () == Symbol ()){
             if (момент работы советника< OrderCloseTime ()){
               p+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();
            }
          }
        }
      }
    }
 return (p);
}
   
 
Artyom Trishkin :
Expert Advisor 시작 시간보다 늦게 마감된 마지막 마감 된 포지션 또는 오늘의 마지막으로 마감된 포지션을 찾아 수익을 확인하세요: OrderProfit()+OrderCommission()+OrderSwap()


왜 고문의 시작 시간보다 늦습니까? 그는 모든 닫힌 위치를 찾고 있습니다.

그는 고문의 시작 부분부터 검색해야 하며 이전에는 검색하지 않았습니다.

 
yaaarik777 :


왜 고문의 시작 시간보다 늦습니까? 그는 모든 닫힌 위치를 찾고 있습니다.

그는 고문의 시작 부분부터 검색해야 하며 이전에는 검색하지 않았습니다.


조금만 생각해보면 '처음부터 그 이상'은 어드바이저의 출시 시간보다 정확히 늦어질 것입니다.)

이간 기관을 사용하는 데 게으르지 마십시오.

 

안녕하세요.

파일의 데이터를 히스토그램 형태로 표시할 수 있도록 도와주세요.

파일 "file.txt"에서 날짜는 특정 숫자에 해당합니다.

파일에서 데이터를 받아 출력하고,