초보자의 질문 MQL4 MT4 MetaTrader 4 - 페이지 99

 

5번의 주문마다 수익을 계산할 수 있도록 클릭을 하고 싶습니다. 그럴 것 같긴 한데 "4051 Invalid function parameter value" 오류가 뜨는데 왜 그런가요?


input int input_step=5;
int step=input_step;

void start()
{
int h, history=OrdersHistoryTotal();
double orderProfit=0;
 if(history==step)
  {
   for(h=history; h<=history; h--)
    {
    if(OrderSelect(h,SELECT_BY_POS,MODE_HISTORY)==true)
      {
      orderProfit=orderProfit+OrderProfit();
      Print("profit=",orderProfit);
      } 
    }
    step=step+input_step;
  }
  return;
}



 

안녕하세요 구루님...

터미널 창 > 기록...에서 데이터를 스크롤했습니다.

... 그리고 어떻게든 터미널 창의 위치를 차트 창 위로 옮겼습니다 ...

... 터미널 창을 차트 창 아래로 되돌리는 방법을 알려줄 수 있습니까?


나는 매우 감사할 것입니다.

 
Yaroslav Nykula :

안녕하세요 구루님...

터미널 창 > 기록...에서 데이터를 스크롤했습니다.

... 그리고 어떻게든 터미널 창의 위치를 차트 창 위로 옮겼습니다 ...

... 터미널 창을 차트 창 아래로 되돌리는 방법을 알려줄 수 있습니까?


나는 매우 감사할 것입니다.


마우스로 십자가 아래의 스트립을 잡고 아무데나 끕니다.

 

안녕하세요! 어드바이저가 3패(동일한 매직넘버) 후 거래를 중단하게 하는 방법을 알려주세요. 1패 후

정수 플래그==0;

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

{

if( OrderSelect (pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY)

{

if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))

플래그=1; }}


3패면?

 
Alekseu Fedotov :

마우스로 십자가 아래의 스트립을 잡고 아무데나 끕니다.


감사합니다 ... 더블 클릭으로 잡고 아래로 드래그했습니다 ... 젠장, 추측하지 못했습니다.

 
defailer7 :

안녕하세요! 어드바이저가 3패(동일한 매직넘버) 후 거래를 중단하게 하는 방법을 알려주세요. 1패 후

정수 플래그==0;

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

{

if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY)

{

if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))

플래그=1; }}


3연패는?

본인은 초보자입니다. 이렇게 구현하는 것이 완전히 가능합니다.

 for ( int pos_buy= OrdersHistoryTotal ()- 1 ; pos_buy>= 0 ; pos_buy--) 
           {
            if ( OrderSelect (pos_buy, SELECT_BY_POS , MODE_HISTORY ) && OrderType ()== OP_BUY ) 
             {
              if ( OrderSymbol () == Symbol () && ( OrderMagicNumber () == Magic_buy )&&( OrderProfit ()> 0 ))
             flag= 1 ; }
             if ( OrderSelect (pos_buy- 1 , SELECT_BY_POS , MODE_HISTORY ) && OrderType ()== OP_BUY ) 
             {
              if ( OrderSymbol () == Symbol () && ( OrderMagicNumber () == Magic_buy )&&( OrderProfit ()> 0 ))
             flag2= 1 ; }
             if ( OrderSelect (pos_buy- 2 , SELECT_BY_POS , MODE_HISTORY ) && OrderType ()== OP_BUY ) 
             {
              if ( OrderSymbol () == Symbol () && ( OrderMagicNumber () == Magic_buy )&&( OrderProfit ()> 0 ))
             flag3= 1 ; }
           }
   if (flag== 1 && flag2== 1 && flag3== 1 ) bool flag_trex= true ;
 
Baruandreas :

나는 초보자입니다. 이렇게 구현하는 것이 완전히 가능합니다.


대단히 감사합니다. 모든 것이 잘되었습니다.

 

안녕하세요.
어드바이저의 거래를 시간별로 제한하는 방법을 알려주세요.
포럼에서 여러 방법을 시도해 보았지만 아무 일도 일어나지 않았고, 글로 써도 전혀 이해가 되지 않았습니다.
손가락으로 무언가를 삽입할 위치를 직접 찌르는 것이 좋습니다.

 
defailer7 :

안녕하세요! 어드바이저가 3패(동일한 매직넘버) 후 거래를 중단하게 하는 방법을 알려주세요. 1패 후

정수 플래그==0;

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

{

if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY)

{

if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))

플래그=1; }}


3연패는?


저도 이제 막 배우고 있어요!! 플래그++ if (플래그==3) 종료;

그리고 손실은 0보다 작습니다.
 
kuzhakov :

안녕하세요.
어드바이저의 거래를 시간별로 제한하는 방법을 알려주세요.
포럼에서 여러 방법을 시도해 보았지만 아무 일도 일어나지 않았고, 글로 써도 전혀 이해가 되지 않았습니다.
손가락으로 무언가를 삽입할 위치를 직접 찌르는 것이 좋습니다.


완성된 코드를 버릴 방법이 없습니다. 휴대폰으로 코드를 살펴보고 있습니다.

바 여는 시간 을 반환하는 함수가 있습니다

하루의 기간으로 바 여는 시간을 반환하는 함수에 숫자를 추가해 보세요.

해당 차트의 막대 여는 시간(shift 매개변수로 지정) 값을 반환합니다.

날짜/시간 iTime (
                기호 , // 기호
    정수                timeframe , // 기간
    정수                옮기다             // 옮기다
);


기간 일

시프트 0

iTime(유로, 일, 오늘은 0)+1=시간 00-00-01

1분은 60초

iTime(유로, 일, 오늘은 0)+60=시간 00-01-00 등

예를 들어, 고문이 01-00-00에 작업을 시작하기를 원합니다.

if((iTime(Symbol(),PERIOD D1,0)+3600)<TimeCurent() 작업

전화로 도와드릴 수 있는 건 여기까지입니다.

현재 분의 시간을 반환하고 비교할 수도 있습니다. 행운을 빕니다 !!!