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

 
Rewerpool :
그것은 멋지게 밝혀졌습니다. 코드에서 제거

매 틱마다 경련을 멈추십시오.)))))

잘 추가합니다.

           double     OOP = OrderOpenPrice (),
                    OSL = OrderStopLoss (),
                    OTP = OrderTakeProfit ();
           if ((OSL!= 0 &&stoploss== 0 ) && (OTP!= 0 &&takeprofit== 0 )) continue ;
 

다시 좋은 저녁입니다. 문제의 전체 요점.

나는 고문(일꾼)을 시장에 노출시킨다. MT4 플랫폼. 하나의 파일을 제출할 수 있습니다. 어드바이저 파일. 유효성을 통과해야 하지만 지표가 없는 EA이므로 통과할 수 없습니다. 그들은 별도의 파일에 있습니다. EA는 네 가지 지표로 작동합니다. 그들은 어떻게 든 고문에게 붙어 있어야합니다. 경로를 지정하거나 어드바이저에 등록합니다... 무엇을? 그리고 어디? 어떤 형식이고 어떻게 하는지 알려주세요.

내가 이해한 바에 따르면 "리소스"를 사용해야 합니다. 그러나 나는 고문의 어느 곳에 그것을 모두 올바르게 쓰는 방법을 모릅니다. 아마도 당신은 상황에 대한 다른 해결책을 알고 있을 것입니다.

고맙습니다 .

이것은 유효성 검사에 실패했을 때 말하는 것입니다.

 2016.04.01 00:00:00 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' 파일을 열 수 없습니다 [2]
 2016.04.01 00:00:00 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' 파일을 열 수 없습니다 [2]
 2016.04.01 00:00:00 Color_wAppliedPrice.ex4에서 'MQL4\indicators\MA' 파일을 열 수 없습니다. [2]
 2016.04.01 00:00:00 Color_wAppliedPrice.ex4에서 'MQL4\indicators\MA' 파일을 열 수 없습니다. [2]
 2016.04.01 00:00:00 'MQL4\indicators\HA_Smooth.ex4' 파일을 열 수 없습니다 [2]
 2016.04.01 00:00:00 'MQL4\indicators\HA_Smooth.ex4' 파일을 열 수 없습니다 [2]
 2016.04.01 00:00:00 'MQL4\indicators\TrendLord.ex4' 파일을 열 수 없습니다 [2]
 2016.04.01 00:00:00 'MQL4\indicators\TrendLord.ex4' 파일을 열 수 없습니다 [2]
 2016.04.01 00:00:05 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' 파일을 열 수 없습니다. [2]
 2016.04.01 00:00:05 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' 파일을 열 수 없습니다. [2]
 2016.04.01 00:00:05 Color_wAppliedPrice.ex4의 'MQL4\indicators\MA' 파일을 열 수 없습니다. [2]
 2016.04.01 00:00:05 Color_wAppliedPrice.ex4의 'MQL4\indicators\MA' 파일을 열 수 없습니다. [2]
 2016.04.01 00:00:05 'MQL4\indicators\HA_Smooth.ex4' 파일을 열 수 없습니다 [2]
 2016.04.01 00:00:05 'MQL4\indicators\HA_Smooth.ex4' 파일을 열 수 없습니다 [2]
 2016.04.01 00:00:05 'MQL4\indicators\TrendLord.ex4' 파일을 열 수 없습니다 [2]
 2016.04.01 00:00:05 'MQL4\indicators\TrendLord.ex4' 파일을 열 수 없습니다 [2]
 2016.04.01 00:00:10 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' 파일을 열 수 없습니다 [2]
 2016.04.01 00:00:10 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' 파일을 열 수 없습니다 [2]
 2016.04.01 00:00:10 Color_wAppliedPrice.ex4의 'MQL4\indicators\MA' 파일을 열 수 없습니다. [2]
 2016.04.01 00:00:10 Color_wAppliedPrice.ex4의 'MQL4\indicators\MA' 파일을 열 수 없습니다. [2]

 
좋은 저녁이에요! 미끄러짐은 어떻게 하나요? 인터넷을 다 뒤져봐도 아무것도 안나오네요....
 
Oleksandr Kulibaba :

다시 좋은 저녁입니다. 문제의 전체 요점.

나는 고문(노동자)을 시장에 노출시킨다. MT4 플랫폼. 하나의 파일을 제출할 수 있습니다. 어드바이저 파일. 유효성을 통과해야 하지만 지표가 없는 EA이므로 통과할 수 없습니다. 그들은 별도의 파일에 있습니다. EA는 네 가지 지표로 작동합니다. 그들은 어떻게 든 고문에게 붙어 있어야합니다. 경로를 지정하거나 어드바이저에 등록합니다... 무엇을? 그리고 어디? 어떤 형식이고 어떻게 하는지 알려주세요.

내가 이해한 바에 따르면 "리소스"를 사용해야 합니다. 그러나 나는 고문의 어느 곳에 그것을 모두 올바르게 쓰는 방법을 모릅니다. 아마도 당신은 상황에 대한 다른 해결책을 알고 있을 것입니다.

고맙습니다 .

이것은 유효성 검사에 실패했을 때 말하는 것입니다.

슬프게도. 당신은 고문을 작성했고 그것이 작동하도록 지표를 추가할 수 없습니다.

 
Vladislav Andruschenko :

슬프게도. 당신은 고문을 작성했고 그것을 작동시키기 위해 그것에 지표를 추가할 수 없습니다.

 
Oleksandr Kulibaba :
내가 처리할게. 성공하기를 바랍니다. 당신의 대답은 전혀 도움이 되지 않았습니다. 그리고 나는 전혀 슬프지 않고 오히려 흥분됩니다. 그리고 나는 그것을 할 것이다.
 
//+------------------------------------------------------------------+
//|                                                        temp1.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict

extern int     Slippage= 29 ;

int Slippage1;

int OnInit ()
  {
//---
   Slippage1=Slippage;
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
   if (Slippage1!=Slippage){Slippage1=Slippage; Print ( "Параметры изменены" );}
//---
   Comment (Slippage1);
  }
//+------------------------------------------------------------------+

인사말.

작업: 새 틱에서 Slippage 입력 매개변수 가 변경 되어 해당 값이 Slippage1 변수에 할당되어 Slippage1의 값 이 주석에 표시되도록 하면 "파라미터 변경됨"이 로그에 표시됩니다.

작동하지 않는 것: Slippage1!=Slippage 가 기록되지 않았을 때   "설정이 변경되었습니다."

질문: 내가 무엇을 잘못하고 있습니까?

 
Andrey Sokolov :

인사말.

작업: 새 틱에서 Slippage 입력 매개변수 가 변경 되어 해당 값이 Slippage1 변수에 할당되어 Slippage1의 값 이 주석에 표시되도록 하면 "파라미터 변경됨"이 로그에 표시됩니다.

작동하지 않는 것: Slippage1!=Slippage 가 기록되지 않았을 때   "설정이 변경되었습니다."

질문: 내가 무엇을 잘못하고 있습니까?

입력 매개변수가 변경된 경우 OnInit에서 Slippage1 변수에 Slippag 이 할당됩니다. 따라서 그것들은 평등할 수 없습니다.

 extern int     Slippage= 29 ;

int Slippage1 = 0 ;

int OnInit ()
  {
//---
   //Slippage1=Slippage;
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
   if (Slippage1!=Slippage){Slippage1=Slippage; Print ( "Параметры изменены" );}
//---
   Comment (Slippage1);
  }

 
Alexey Viktorov :

입력 매개변수가 변경된 경우 OnInit에서 Slippage1 변수에 Slippag 이 할당됩니다. 따라서 그것들은 평등할 수 없습니다.

네 감사합니다. 방금 도착했습니다

 

안녕하세요! 주문을 수정하려고 할 때 테스터에서 발생하는 오류를 처리하도록 도와주세요(손익분기점으로 이전): SL 대신 OrderOpenPrice() 함수를 넣었고 테스터에서는 error1 오류가 발생했습니다(에 따라 문서에서 이는 매개변수 함수로 변경되지 않은 값을 전달하려는 시도가 있음을 의미합니다). 코드 첨부할게요! 미리 감사합니다!

void DeleteOrderFunction2() //2번째 보류를 삭제하고 특정일 저녁에 2번째 주문을 손익분기점으로 옮기는 함수

{

부울 플래그 = 거짓;

if (FlagDeleteSecondOrder2 == true)

{

if(DayOfWeek() == DAYOFWEEK && // 찢어진 요일인 경우

Hour() == 22 //저녁이면

)

{

if(BuyCount() == 1 && //미결제 구매 주문 이 있는 경우

SellStopCount() == 1 // 그리고 보류 중인 판매가 있습니다.

)

{

for( int i = 0; i < OrdersTotal(); i++) // 주문 루프

{

OrderSelectX(i, SELECT_BY_POS, MODE_TRADES);

스위치(주문 유형())

{

케이스 OP_BUY: if(OrderProfit() > 0 &&

입찰 > 주문OpenPrice()

)

{

OrderModifyX(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Arrow_Color);

플래그=참;

}

부서지다;

경우 OP_SELLSTOP: if(flag==true)

{

OrderDeleteX(OrderTicket(), Arrow_Color);

}

부서지다;

}

}

}

if(SellCount() == 1 && //오픈 매도 주문이 있는 경우

BuyStopCount() == 1 // 그리고 구매 지연이 있습니다.

)

{ Print("입니다!!!!");

for( int i = 0; i < OrdersTotal(); i++) // 주문 루프

{

OrderSelectX(i, SELECT_BY_POS, MODE_TRADES);

스위치(주문 유형())

{

케이스 OP_SELL: if (OrderProfit() > 0 &&

Ask<OrderOpenPrice()

)

{

OrderModifyX(OrderTicket(), OrderOpenPrice(), OrderOpenPrice(),OrderTakeProfit(),0, Arrow_Color);

플래그 = true;Print("플래그 =, 플래그);

}

부서지다;

경우 OP_BUYSTOP: if(플래그 == true)

{

Print("플래그 =", 플래그);

OrderDeleteX(OrderTicket(), Arrow_Color);

}

부서지다;

}

}

}


}


}

}