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

 
smart_man :

정상 모드와 비정상 모드에서 터미널을 종료한 후에도 모든 전역 변수의 데이터가 저장되도록 하려면 어떻게 해야 합니까?

질문은 다음과 같이 코드 시작 부분에 선언된 변수에 관한 것입니다.

#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

extern double  VAR1 = 1;

double VAR2[1000];

VAR1 및 VAR2 값을 잃지 않아야 합니다(배열은 Expert Advisor 작동 중에 데이터로 채워짐). 지금까지 유일한 아이디어는 매 틱마다 파일(global.txt)에 쓰고 터미널이 실행될 때 이 파일(global.txt)을 읽고 변수를 재생성한 다음 매 틱마다 다시 쓰는 것입니다. 어떤 다른 옵션이 있습니까?

터미널의 전역 또는 리소스 .
 
Arseniy Barudkin :

도와 주셔서 감사합니다! 이대로 남겨둔 채 이제 함수가 호출되는 조건을 약간 변경하기로 했습니다. 일반적으로 많은 도움이되었습니다))

그래도 대답하지 않는 것이 맞습니다. 작업을 설정해야 하며 그렇지 않으면 해결할 수 없습니다.

원본 TOR를 살펴보겠습니다.

안녕하세요 여러분! 이걸 홍수로 오인하고 싶지는 않지만 이 기능 없이는 할 수 없습니다. 그래서 여러분, 누군가가 모든 주문을 반복하고 차트의 기존 주문에서 가장 작은 로트와 마이너스 이익을 가진 두 번째 주문과 가장 큰 로트와 양수를 가진 두 번째 주문을 동시에 삭제하는 기능으로 나를 도울 수 있습니까? 또한 기존의 이익. "

귀하가 제공한 코드에서 무엇을 볼 수 있습니까?

1. 모든 주문은 전문가의 도움으로 열리고 고유한 마법이 있습니다.

2. 필요한 주문의 총 이익이 양수입니다.

3. 주문은 카운터입니다.

4. 양수 이익이 있는 로트의 크기는 음수 이익이 있는 로트보다 엄격하게 큽니다.

이것은 제시된 TOR에서 어디에서 볼 수 있습니까?

추가로: 코드를 보면 반대 주문을 마감할 수 없고 최소한 스프레드를 잃을 수 있음이 분명합니다.

 
fxtz :

질문 메타트레이더 4에서 한 번의 클릭으로 주어진 손절매와 이익으로 내가 선택한 2개에서 250개까지의 포지션을 여는 프로그램을 작성할 수 있습니까? 일일이 수동으로 열지 않도록

브로커의 한계가 너무 가파르다면 이를 따서 명명된 프로그래밍 언어가 자동으로 스크립트를 작성하도록 만들어졌습니다.
 
Mislaid :

그래도 대답하지 않는 것이 맞습니다. 작업을 설정해야 하며 그렇지 않으면 해결할 수 없습니다.

원본 TOR를 살펴보겠습니다.

안녕하세요 여러분! 이걸 홍수로 오인하고 싶지는 않지만 이 기능 없이는 할 수 없습니다. 그래서 여러분, 누군가가 모든 주문을 반복하고 차트의 기존 주문에서 가장 작은 로트와 마이너스 이익을 가진 두 번째 주문과 가장 큰 로트와 양수를 가진 두 번째 주문을 동시에 삭제하는 기능으로 나를 도울 수 있습니까? 또한 기존의 이익. "

귀하가 제공한 코드에서 무엇을 볼 수 있습니까?

1. 모든 주문은 전문가의 도움으로 열리고 고유한 마법이 있습니다.

2. 필요한 주문의 총 이익이 양수입니다.

3. 주문은 카운터입니다.

4. 양수 이익이 있는 로트의 크기는 음수 이익이 있는 로트보다 엄격하게 큽니다.

이것은 제시된 TOR에서 어디에서 볼 수 있습니까?

추가로: 코드를 보면 반대 주문을 마감할 수 없고 최소한 스프레드를 잃을 수 있음이 분명합니다.


나는 많은 단점을 주장하지 않습니다! 이런 활동을 하고 있습니다. 그리고 오류를 지적하거나 도움을 주기 위해 이 스레드에 글을 쓰고 있습니다! 제 생각에는 그것이 그녀가 거기 있는 이유입니다. 이제 코드로 이동합니다. 1) 뭔가 이해가 안가는 것 같은데, 어드바이저의 모든 오더가 고유한 마법을 가지고 있다는 게 무슨 문제야!? 2) 이 조건과 일반적으로 이 전체 기능은 최소 두 개의 반대 주문을 청산하고 마진에 큰 부하가 있을 때 빨간색으로 가지 않기 위해 필요하며 포인트 3과 4도 여기에 포함됩니다. 그리고 카운터 오더를 어떻게 마감해야 하는지 잘 모르겠습니다.
 
Arseniy Barudkin :

나는 많은 단점을 주장하지 않습니다! 이런 활동을 하고 있습니다. 그리고 오류를 지적하거나 도움을 주기 위해 이 스레드에 글을 쓰고 있습니다! 제 생각에는 그것이 그녀가 거기 있는 이유입니다. 이제 코드로 이동합니다. 1) 뭔가 이해가 안가는 것 같은데, 어드바이저의 모든 오더가 고유한 마법을 가지고 있다는 게 무슨 문제야!? 2) 이 조건과 일반적으로 이 전체 기능은 최소 두 개의 반대 주문을 청산하고 마진에 큰 부하가 있을 때 빨간색으로 가지 않기 위해 필요하며 포인트 3과 4도 여기에 포함됩니다. 그리고 카운터 오더를 어떻게 마감해야 하는지 잘 모르겠습니다.
당신이 내 학생이었다면 "좋음" 표시는 이미 코드 제출에 대한 것입니다. 그리고 의사 소통 과정에서 아이디어를 낼 수 있다는 것을 보여줄 수 있다면 "우수"답변에서 올바르게 생각하고 있음을 알 수 있습니다
 

안녕하세요 ... 어드바이저는 MQL4로 작성되었으며, 매수, 매도 시장 주문을 Trailing 으로 거래합니다 ... 보류중인 BuyStop, SellStop 설정을 코드에 추가하기로 결정했습니다 ... 그리고 예기치 않은 문제에 부딪쳤습니다 = as 보류 중인 주문 이 MT4 창에 나타나면 후행 작업이 중지됩니다(SL이 설치되지 않고 수정이 설치되지 않음) ... 문제가 무엇인지 이해하지 못합니다. 후행 기능은 라이브러리의 역 열거와 함께 표준입니다. , 2개의 전용 페이지 가 추가되었습니다... 아니면 기능이 아닌가요? 누군가 비슷한 것을 발견한 것은 아닐까요?

 int TralFunck( int Ticket)

 {   double TralPrice= 0 ,Punkt= 0 ;

   chk= OrderSelect (Ticket, SELECT_BY_TICKET , MODE_TRADES );

for (Ticket= OrdersTotal ()- 1 ; Ticket>= 0 ; Ticket--)  

  { if ( OrderProfit ()<= 0 )       continue;

     if ( OrderType ()== 4 )		continue;

     if ( OrderType ()== 5 ) 	continue;

   if ( OrderType ()== 0 )  {   Punkt=( Bid - OrderOpenPrice ())/ Point ;TralPrice= NormalizeDouble (( Bid -Tral*D* Point ), Digits );  }

   if ( OrderType ()== 1 )  {   Punkt=( OrderOpenPrice ()- Ask )/ Point ;TralPrice= NormalizeDouble (( Ask +Tral*D* Point ), Digits );   }

   if (Punkt< MarketInfo ( Symbol (), MODE_STOPLEVEL ))       continue;

   if (Punkt<(Tral+TP)*D)        continue;

   if ( OrderType ()== 0 && TralPrice<= NormalizeDouble ( OrderStopLoss (), Digits ))     continue;

   if ( OrderType ()== 1 && TralPrice>= NormalizeDouble ( OrderStopLoss (), Digits ) && OrderStopLoss ()!= 0 )       continue;

   ModifyOrder( OrderTicket (), OrderOpenPrice (),TralPrice, OrderTakeProfit ());     continue;

   }   return ( 0 );

 }


 
Yaroslav Nykula :

안녕하세요 ... 어드바이저는 MQL4로 작성되었으며, 매수, 매도 시장 주문을 Trailing 으로 거래합니다 ... 보류중인 BuyStop, SellStop 설정을 코드에 추가하기로 결정했습니다 ... 그리고 예기치 않은 문제에 부딪쳤습니다 = as 보류 중인 주문 이 MT4 창에 나타나면 후행 작업이 중지됩니다(SL이 설치되지 않고 수정이 설치되지 않음) ... 문제가 무엇인지 이해하지 못합니다. 후행 기능은 라이브러리의 역 열거와 함께 표준입니다. , 2개의 전용 페이지 가 추가되었습니다... 아니면 기능이 아닌가요? 누군가 비슷한 것을 발견한 것은 아닐까요?



return(0) 바꾸기; 계속하다; 사이클을 종료하지 않도록. 함수가 끝나면 그대로 두십시오.

코드를 붙여넣으려면 편집기에서 SRC 버튼을 사용하십시오.

 
Victor Nikolaev :


return(0) 바꾸기; 계속하다; 사이클을 종료하지 않도록. 함수가 끝나면 그대로 두십시오.

코드를 붙여넣으려면 편집기에서 SRC 버튼을 사용하십시오.


감사합니다 ... 수정했습니다 ... 편집기에서 SRC 버튼을 고려할 것입니다. 죄송합니다 ... 그러나 문제의 본질은 변경되지 않았으며 Trailing Modify 는 여전히 작동하고 싶지 않은 경우   보류 중인 주문 .
 
나는 최근에 mt4에서 거래를 시작했습니다. 내 전략을 테스트하기로 했지만 전략 테스터 에 시각화 기능과 일시 중지 버튼이 없습니다. 이러한 기능이 없으면 테스트할 수 없습니다. 어떻게 될 것인가?
 
vsmutew7 :
나는 최근에 mt4에서 거래를 시작했습니다. 내 전략을 테스트하기로 했지만 전략 테스터 에 시각화 기능과 일시 중지 버튼이 없습니다. 이러한 기능이 없으면 테스트할 수 없습니다. 어떻게 될 것인가?

특히 "시작" 버튼이 있는 창을 더 넓게 확장해야 할 수도 있습니다.