MqlDateTime time; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ intOnInit () { //--- return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ voidOnTick () { //-- if (TradeAllow()) { ClosePos(); // Только закрытие } else { ClosePos(); // Закрытие OpenPos(); // Открытие Function() // Ещё что-то }
//- } //+------------------------------------------------------------------+ //| Функция закрытия | //+------------------------------------------------------------------+ void ClosePos() { // код }
//+------------------------------------------------------------------+ //| Функция открытия | //+------------------------------------------------------------------+ void OpenPos() { // код }
안녕하세요 여러분! 나는 MT4에서 거래할 때 clusterdelta.com 의 델타 지표 를 사용합니다. 지표 값의 특정 임계값에 도달하면 경고가 트리거되거나 다른 방식으로 소리 신호가 방출되도록 만들 수 있는 프리랜서가 필요합니다. 이 질문에 대해 누구에게 연락해야 하는지 알려주시겠습니까?
Lexx1 : 안녕하세요 여러분! 나는 MT4에서 거래할 때 clusterdelta.com의 델타 지표를 사용합니다. 지표 값의 특정 임계값에 도달하면 경고가 트리거되거나 다른 방식으로 소리 신호가 방출되도록 만들 수 있는 프리랜서가 필요합니다. 이 질문에 대해 누구에게 연락해야 하는지 알려주시겠습니까?
맨 위에 파란색 줄무늬가 있고 그 위에 더 많은 다른 글자가 있습니다. 거기에서 "Freelance"라는 단어를 찾아 클릭하십시오. 나아가 무엇을 해야 할지 분명하다고 생각합니다.
어드바이저가 있는데 거래할 요일과 하지 않을 요일을 선택할 수 있는 기능이 있었으면 합니다.
월 - 거짓
여 - 사실
CP-...
이것을 구현하는 방법을 알려주십시오.
어드바이저가 있는데 거래할 요일과 하지 않을 요일을 선택할 수 있는 기능이 있었으면 합니다.
월 - 거짓
여 - 사실
CP-...
이것을 구현하는 방법을 알려주십시오.
요일
마지막으로 알려진 서버 시간 의 요일 일련 번호를 반환합니다.
int DayOfWeek ();
반환 값
요일의 서수(Sunday-0,1,2,3,4,5,6) .
메모
테스트할 때 마지막으로 알려진 서버 시간이 시뮬레이션됩니다.
예시:
// 주말에는 작동하지 않습니다.
if ( DayOfWeek ()==0 || DayOfWeek ()==6) return (0);
요일
마지막으로 알려진 서버 시간 의 요일 일련 번호를 반환합니다.
덕분에 더 명확해졌습니다.
이제 외부 매개변수에서 거래일을 선택하는 기능을 구현하는 방법을 알 수 없습니다. 더 자세히 설명하자면, 동일한 Expert Advisor가 월요일에 한 거래 쌍에서 거래하고 다른 거래 쌍에서 거래하지 않기를 바랍니다.
"extern"에 작성한 다음 조건(if...else)에서 구현하는 방법은 무엇입니까?
요일
마지막으로 알려진 서버 시간 의 요일 일련 번호를 반환합니다.
덕분에 더 명확해졌습니다.
이제 외부 매개변수에서 거래일을 선택하는 기능을 구현하는 방법을 알 수 없습니다. 더 자세히 설명하자면, 동일한 Expert Advisor가 월요일에 한 거래 쌍에서 거래하고 다른 거래 쌍에서 거래하지 않기를 바랍니다.
"extern"에 작성한 다음 조건(if...else)에서 구현하는 방법은 무엇입니까?
다음은 월요일에만 거래를 허용하는 간단한 예입니다. 이 코드는 MT4 및 MT5에서 작동합니다.
//| test08.mq4 |
//| Sergey Gritsay |
//| https://www.mql5.com/ru/users/sergey1294 |
//+------------------------------------------------------------------+
#property copyright "Sergey Gritsay"
#property link "https://www.mql5.com/ru/users/sergey1294"
#property version "1.00"
#property strict
input ENUM_DAY_OF_WEEK dayofweek= MONDAY ;
MqlDateTime time;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
//---
//---
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
//---
TimeToStruct ( TimeCurrent (),time);
if (time.day_of_week!=dayofweek) return ; // выйдем из OnTick() если текущий день не равен установленному дню
// тут остальной код советника.
}
//+------------------------------------------------------------------+
...
요일
마지막으로 알려진 서버 시간 의 요일 일련 번호를 반환합니다.
덕분에 더 명확해졌습니다.
이제 외부 매개변수에서 거래일을 선택하는 기능을 구현하는 방법을 알 수 없습니다. 더 자세히 설명하자면, 동일한 Expert Advisor가 월요일에 한 거래 쌍에서 거래하고 다른 거래 쌍에서 거래하지 않기를 바랍니다.
"extern"에 작성한 다음 조건(if...else)에서 구현하는 방법은 무엇입니까?
ENUM_DAY_OF_WEEK 열거형 사용
페이지 맨 끝에서.
무효 OnTick ()
{
//---
TimeToStruct ( TimeCurrent (), 시간);
if (time.day_of_week!=dayofweek) return ; // 현재 날짜가 설정된 날짜와 같지 않으면 OnTick() 종료
// 여기에 EA 코드의 나머지 부분이 있습니다.
}
//+----------------------------------------------- --------------------+
...
고맙습니다!
사실, 이제 각 쌍의 "작업"일이 다른 순간과 함께 운동해야합니다.
5개의 변수를 입력해야 할 수도 있습니다. dayofweek1, dayofweek2,...?
하지만 다시 3거래일이 있다면 나머지 2개의 변수에 무엇을 표시해야 할까요!?
...
고맙습니다!
사실, 이제 각 쌍의 "작업"일이 다른 순간과 함께 운동해야합니다.
5개의 변수를 입력해야 할 수도 있습니다. dayofweek1, dayofweek2,...?
하지만 다시 3거래일이 있다면 나머지 2개의 변수에 무엇을 표시해야 할까요!?
다음과 같이 시도할 수 있습니다.
#property strict
//-
enum YesNo {
_no = 0 , // NoTrade
_yes = 1 // Trade
};
//-
sinput YesNo day1 = _yes; // Пн
sinput YesNo day2 = _yes; // Вт
sinput YesNo day3 = _yes; // Ср
sinput YesNo day4 = _no; // Чт
sinput YesNo day5 = _yes; // Пт
MqlDateTime time;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
//---
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
//--
// здесь какой-то код, например закрытие
...
// проверка запрета на торговлюif (TradeAllow()) return ;
// далее код
}
//+------------------------------------------------------------------+
//| Разрешение на торговлю по дням |
//+------------------------------------------------------------------+
bool TradeAllow() {
TimeToStruct ( TimeCurrent (),time);
switch (time.day_of_week) {
case 1 : return (!day1);
case 2 : return (!day2);
case 3 : return (!day3);
case 4 : return (!day4);
case 5 : return (!day5);
default : return ( true );
}
}
목요일에는 거래가 금지됩니다.
조금 더 아름답게 만들 수 있습니다. 모두 작업에 따라 다릅니다.
#property strict
//-
enum YesNo {
_no = 0 , // No trade
_yes = 1 // Trade
};
//-
sinput YesNo day1 = _yes; // Пн
sinput YesNo day2 = _yes; // Вт
sinput YesNo day3 = _yes; // Ср
sinput YesNo day4 = _no; // Чт
sinput YesNo day5 = _yes; // Пт
MqlDateTime time;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
//---
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
//--
if (TradeAllow()) {
ClosePos(); // Только закрытие
} else {
ClosePos(); // Закрытие
OpenPos(); // Открытие
Function() // Ещё что-то
}
//-
}
//+------------------------------------------------------------------+
//| Функция закрытия |
//+------------------------------------------------------------------+
void ClosePos()
{
// код
}
//+------------------------------------------------------------------+
//| Функция открытия |
//+------------------------------------------------------------------+
void OpenPos()
{
// код
}
//+------------------------------------------------------------------+
//| Разрешение на торговлю по дням |
//+------------------------------------------------------------------+
bool TradeAllow() {
TimeToStruct ( TimeCurrent (),time);
switch (time.day_of_week) {
case 1 : return (!day1);
case 2 : return (!day2);
case 3 : return (!day3);
case 4 : return (!day4);
case 5 : return (!day5);
default : return ( true );
}
}
//+------------------------------------------------------------------+
안녕하세요 여러분! 나는 MT4에서 거래할 때 clusterdelta.com의 델타 지표를 사용합니다. 지표 값의 특정 임계값에 도달하면 경고가 트리거되거나 다른 방식으로 소리 신호가 방출되도록 만들 수 있는 프리랜서가 필요합니다. 이 질문에 대해 누구에게 연락해야 하는지 알려주시겠습니까?