kenwa: 안녕하세요 mladen 또는 누군가, mt4 플랫폼에 몇 가지 기본 표시기가 있다는 것을 알았습니다(일부는 사용자 지정 표시기 부분에서 반복되지만). 하지만 코드가 정확하지 않다고 생각합니다. 기본 표시기의 코드를 검색하거나 보는 방법, 감사합니다. 나에게 많은 정보를 제공합니다.
누군가 나에게 단일 파일에서 다중 시간 프레임을 사용하는 방법을 물었습니다(내장 함수를 호출할 수 없는 경우)
여기에 하나의 간단한 예와 몇 가지 설명이 있습니다.
__________________________________________
첨부된 표시기는 하나에 3개의 표시기처럼 작동하며 코드에서 수행된 작업과 시간에 대한 주석을 찾을 수 있습니다. 이것이 일부 사람들이 단일 파일 올바른 다중 시간 프레임 표시기를 만드는 방법을 명확히 하는 데 도움이 되길 바랍니다(무엇보다도 목표 시간 프레임의 막대 수가 변경되었는지 가정하지 않고 항상 정확한 막대 수를 계산합니다).
따라서 이 간단한 단일 파일 다중 시간 프레임 표시기는 다중 시간 프레임 표시기의 템플릿으로 쉽게 사용할 수 있습니다.
egdouble iStoch(double priceR, double priceH, double priceL, int period, int slowing, int i, int instanceNo=0) 두 배 내에서 두 배입니까? 이 방법은 mq4 내에서 점유되는 인덱스 버퍼를 줄일 수 있습니까?
if (alertsEmail) SendMail(StringConcatenate(Symbol()," order alerts "),message);
if (alertsNotification) SendNotification("주문 알림 "+메시지);
if (alertsSound) PlaySound("할렐루야.wav");
}
그러나 트리거되면 일반 경고가 울립니다.
생각: PlaySound를 변경할 수 없다면 1초마다 10회 동안 짧은 일반 경고를 재생하는 루프를 코딩할 수 있습니까? - 적어도 하나의 규칙적인 경고음보다 나를 깨우는 데 훨씬 더 많은 일을 할 것입니다. . . .
고맙습니다
사람77,
그것을 위해 일했던 것은 열린 차트 로 이동한 다음 도구/옵션/이벤트로 이동한 다음 경고 시 단순히 wav를 변경하는 것입니다. 원하는 파일로 이동하지만 한동안 이 작업을 수행하지 않았으므로 이것이 여전히 작동하는지 확실하지 않고 사용 중인 wav 파일이 사운드 폴더에 있는지 확인하십시오.
안녕 mladen 또는 누구라도,
mt4 플랫폼에 몇 가지 기본 표시기가 있다는 것을 알았습니다(일부는 사용자 지정 표시기 부분에서 반복되지만). 하지만 코드가 정확하지 않다고 생각합니다. 기본 표시기의 코드를 검색하거나 보는 방법, 알려주셔서 감사합니다. .
안녕하세요 mladen 또는 누군가, mt4 플랫폼에 몇 가지 기본 표시기가 있다는 것을 알았습니다(일부는 사용자 지정 표시기 부분에서 반복되지만). 하지만 코드가 정확하지 않다고 생각합니다. 기본 표시기의 코드를 검색하거나 보는 방법, 감사합니다. 나에게 많은 정보를 제공합니다.
당신은 할 수 없습니다
내장 표시기(터미널에서 직접 실행)
내장된 표시기가 기능에서 사용자 정의 표시기 세션의 표시기보다 나은 것 같습니다. 실제로 코드를 알 방법이 없습니까?
누군가 나에게 단일 파일에서 다중 시간 프레임을 사용하는 방법을 물었습니다(내장 함수를 호출할 수 없는 경우)
여기에 하나의 간단한 예와 몇 가지 설명이 있습니다.
__________________________________________
첨부된 표시기는 하나에 3개의 표시기처럼 작동하며 코드에서 수행된 작업과 시간에 대한 주석을 찾을 수 있습니다. 이것이 일부 사람들이 단일 파일 올바른 다중 시간 프레임 표시기를 만드는 방법을 명확히 하는 데 도움이 되길 바랍니다(무엇보다도 목표 시간 프레임의 막대 수가 변경되었는지 가정하지 않고 항상 정확한 막대 수를 계산합니다).
따라서 이 간단한 단일 파일 다중 시간 프레임 표시기는 다중 시간 프레임 표시기의 템플릿으로 쉽게 사용할 수 있습니다.
안녕하세요 mladen님
가능하고 iStochasticOnArray를 수행하는 방법을 알고 있습니까? 이를 수행하는 템플릿이나 공식이 있습니까? 정보 감사합니다.
안녕하세요 mladen, 가능하고 iStochasticOnArray를 수행하는 방법을 알고 있습니까? 이를 수행하는 템플릿이나 공식이 있습니까? 정보를 주셔서 감사합니다.
켄와
내장 함수 같은 것은 없습니다. 이 게시물에서 해당 기능을 작성하는 방법과 사용 방법을 확인할 수 있습니다. https://www.mql5.com/en/forum/177239/page34
안녕하세요 mladen:
나에게 조금은 깊은![](https://c.mql5.com/forextsd/smiles/regular_smile.png)
egdouble iStoch(double priceR, double priceH, double priceL, int period, int slowing, int i, int instanceNo=0) 두 배 내에서 두 배입니까? 이 방법은 mq4 내에서 점유되는 인덱스 버퍼를 줄일 수 있습니까?
이 기능이 나에게 조금 이상합니다.
stoch = iStoch(rsi,rsi,rsi,StoPeriod,StoSlowing,i);
일부 명확히 해 주셔서 감사합니다.
다른 wav 파일을 허용하지 않는 이유를 모르겠습니다.
코드에서 변경한 경우 수락해야 합니다.
5번 반복하려면 루프에 넣어야 하지만 문제가 발생할 수 있습니다(사운드 파일이 너무 긴 경우).다음은 내가 사용한 코드입니다(루프를 수행하는 방법을 알기 위해 코딩에 대해 거의 알지 못합니다).
//+----------------------------------------------- ------------------
#재산권 저작권 "https://www.forex-tsd.com"
#속성 링크 "https://www.forex-tsd.com"
#속성 표시기_차트_창
//------------------------------------------------ ------------------
외부 int alertsForNotOlderThan = 300;
외부 정수 alertsForMagicNumber = 0;
외부 문자열 alertsForSymbol = "";
extern bool alertsOn = true;
extern bool alertsSound = true;
extern bool alertsMessage = true;
extern bool alertsNotification = false;
extern bool alertsEmail = 거짓;
//------------------------------------------------ -------
//
//------------------------------------------------ -------
//
//
//
//
//
int 티켓[];
부울 경고[];
문자열 기호[];
정수형[];
정수배[];
정수 초기화() { 반환(0); }
int deinit() { 반환(0); }
정수 시작()
{
//
//
// 주문 데이터 수집
//
//
(int i=OrdersTotal()-1; i>=0; i--)
{
(!OrderSelect(i,SELECT_BY_POS)) 계속하면;
if (alertsForSymbol != "" && alertsForSymbol!=OrderSymbol()) 계속;
if (alertsForMagicNumber != 0 && alertsForMagicNumber!=OrderMagicNumber()) 계속;
if (alertsForNotOlderThan < (TimeCurrent()-OrderOpenTime())) 계속
//
//
//
//
//
for (int k=ArraySize(티켓); k>0; k--)
if (OrderTicket()==티켓[k-1]) 휴식;
만약 (k==0)
{
정수 크기 = ArraySize(티켓)+1;
ArrayResize(티켓, 크기); 티켓 = OrderTicket();
ArrayResize(경고,크기); 경고 = 거짓;
ArrayResize(기호, 크기); 기호 = OrderSymbol();
ArrayResize(유형, 크기); 유형 = 주문 유형();
ArrayResize(배,크기); 시간 = OrderOpenTime();
}
}
//
//
// 경고가 필요한 주문이 있는지 확인
//
//
(i=ArraySize(티켓)-1; i>=0; i--)
{
문자열 유형 = "";
만약 (!경고)
{
경고 = 참;
스위치(유형)
{
경우 OP_BUY : 유형 = "구매"; 부서지다;
경우 OP_SELL : 유형 = "판매"; 부서지다;
경우 OP_BUYSTOP : 유형 = "매수 스톱"; 부서지다;
경우 OP_BUYLIMIT : 유형 = "구매 한도"; 부서지다;
경우 OP_SELLSTOP : 유형 = "판매 중지"; 부서지다;
경우 OP_SELLLIMIT : 유형 = "판매 한도"; 부서지다;
}
doAlert(유형+"는 "+기호"에 대해 "+TimeToStr(times,TIME_DATE|TIME_SECONDS)+"에 열렸습니다.
}
}
리턴(0);
}
//------------------------------------------------ -------
//
//------------------------------------------------ -------
//
//
//
//
//
무효 doAlert(문자열 doWhat)
{
문자열 메시지;
메시지 = doWhat;
if (alertsMessage) 경고(메시지);
if (alertsEmail) SendMail(StringConcatenate(Symbol()," order alerts "),message);
if (alertsNotification) SendNotification ("주문 알림"+메시지);
if (alertsSound) PlaySound("할렐루야.wav");
}
그러나 트리거되면 일반 경고가 울립니다.
생각: PlaySound를 변경할 수 없다면 1초마다 10회 동안 짧은 일반 경고를 재생하는 루프를 코딩할 수 있습니까? - 적어도 하나의 규칙적인 경고음보다 나를 깨우는 데 훨씬 더 많은 일을 할 것입니다. . . .
고맙습니다
다음은 내가 사용한 코드입니다(루프를 수행하는 방법을 알기 위해 코딩에 대해 거의 알지 못합니다).
//+----------------------------------------------- ------------------
#재산권 저작권 "https://www.forex-tsd.com"
#속성 링크 "https://www.forex-tsd.com"
#속성 표시기_차트_창
//------------------------------------------------ ------------------
외부 int alertsForNotOlderThan = 300;
외부 정수 alertsForMagicNumber = 0;
외부 문자열 alertsForSymbol = "";
extern bool alertsOn = true;
extern bool alertsSound = true;
extern bool alertsMessage = true;
extern bool alertsNotification = false;
extern bool alertsEmail = 거짓;
//------------------------------------------------ -------
//
//------------------------------------------------ -------
//
//
//
//
//
int 티켓[];
부울 경고[];
문자열 기호[];
정수형[];
정수배[];
정수 초기화() { 반환(0); }
int deinit() { 반환(0); }
정수 시작()
{
//
//
// 주문 데이터 수집
//
//
(int i=OrdersTotal()-1; i>=0; i--)
{
(!OrderSelect(i,SELECT_BY_POS)) 계속하면;
if (alertsForSymbol != "" && alertsForSymbol!=OrderSymbol()) 계속;
if (alertsForMagicNumber != 0 && alertsForMagicNumber!=OrderMagicNumber()) 계속;
if (alertsForNotOlderThan < (TimeCurrent()-OrderOpenTime())) 계속
//
//
//
//
//
for (int k=ArraySize(티켓); k>0; k--)
if (OrderTicket()==티켓[k-1]) 휴식;
만약 (k==0)
{
정수 크기 = ArraySize(티켓)+1;
ArrayResize(티켓, 크기); 티켓 = OrderTicket();
ArrayResize(경고,크기); 경고 = 거짓;
ArrayResize(기호, 크기); 기호 = OrderSymbol();
ArrayResize(유형, 크기); 유형 = 주문 유형();
ArrayResize(배,크기); 시간 = OrderOpenTime();
}
}
//
//
// 경고가 필요한 주문이 있는지 확인
//
//
(i=ArraySize(티켓)-1; i>=0; i--)
{
문자열 유형 = "";
만약 (!경고)
{
경고 = 참;
스위치(유형)
{
경우 OP_BUY : 유형 = "구매"; 부서지다;
경우 OP_SELL : 유형 = "판매"; 부서지다;
경우 OP_BUYSTOP : 유형 = "매수 스톱"; 부서지다;
경우 OP_BUYLIMIT : 유형 = "구매 한도"; 부서지다;
경우 OP_SELLSTOP : 유형 = "판매 중지"; 부서지다;
경우 OP_SELLLIMIT : 유형 = "판매 한도"; 부서지다;
}
doAlert(유형+"는 "+기호"에 대해 "+TimeToStr(times,TIME_DATE|TIME_SECONDS)+"에 열렸습니다.
}
}
리턴(0);
}
//------------------------------------------------ -------
//
//------------------------------------------------ -------
//
//
//
//
//
무효 doAlert(문자열 doWhat)
{
문자열 메시지;
메시지 = doWhat;
if (alertsMessage) 경고(메시지);
if (alertsEmail) SendMail(StringConcatenate(Symbol()," order alerts "),message);
if (alertsNotification) SendNotification("주문 알림 "+메시지);
if (alertsSound) PlaySound("할렐루야.wav");
}
그러나 트리거되면 일반 경고가 울립니다.
생각: PlaySound를 변경할 수 없다면 1초마다 10회 동안 짧은 일반 경고를 재생하는 루프를 코딩할 수 있습니까? - 적어도 하나의 규칙적인 경고음보다 나를 깨우는 데 훨씬 더 많은 일을 할 것입니다. . . .
고맙습니다사람77,
그것을 위해 일했던 것은 열린 차트 로 이동한 다음 도구/옵션/이벤트로 이동한 다음 경고 시 단순히 wav를 변경하는 것입니다. 원하는 파일로 이동하지만 한동안 이 작업을 수행하지 않았으므로 이것이 여전히 작동하는지 확실하지 않고 사용 중인 wav 파일이 사운드 폴더에 있는지 확인하십시오.
mrtools - 감사합니다. 잘했습니다!