KimIV의 유용한 기능 - 페이지 83

 
그리고 23시부터 01시까지 i-Sessions에 다른 야간 세션을 추가할 수 있습니다. 내가 직접 추가할 수 있지만 00. 시간을 통과하는 방법은 무엇입니까? 도와주세요, 제발!!!
 
e-TFL_v2 Expert Advisor 리메이크를 도와주세요!

고문을 한 위치가 아닌 한 방향으로 즉시 2 또는 3 열도록하는 방법. 저것들. 예를 들어 1로트가 아니라 0.5와 0.5로트의 두 단방향 위치를 엽니다. 또는 0.3+0.3+0.3 랏.
 
터미널을 러시아어로 전환하면 모든 것이 러시아어로 작성되고, 그렇지 않으면 모든 것이 일종의 상형 문자로 작성되도록 터미널을 설정하는 방법을 알려주십시오.
 
arvis >> :
터미널을 러시아어로 전환하면 모든 것이 러시아어로 작성되고, 그렇지 않으면 모든 것이 일종의 상형 문자로 작성되도록 터미널을 설정하는 방법을 알려주십시오.

Windows의 국가별 설정에서 유니코드를 사용하지 않는 응용 프로그램에서 사용하려면 언어를 러시아어로 설정하십시오.

 

모두들 안녕! i-SignalOfTrade 표시기 의 저자(내가 틀리지 않은 경우)이기 때문에 Igor Kim에게 직접 질문이 있습니다.

표시기는 모든 기능을 완벽하게 수행하지만 이메일을 보낼 때 다음 항목이 로그에 나타납니다.

메일: 'i-SignalOfTrade' 실패

메일: 451 http://pobox.com/~djb/docs/smtplf.html을 참조하십시오.

물론 메시지는 아무데도 가지 않습니다.

무엇이 문제일 수 있고 어떻게 고칠 수 있는지 알려주실 수 있습니까?

PS 메일 클라이언트가 올바르게 구성되었으며 테스트 메시지가 문제 없이 전송 및 배달됩니다.

 

안녕하세요. 아는 사람 말해줘 저는 RTS 인덱스로 작업합니다. 위치 크기는 타사 프로그램에서 계산되고 .txt 파일을 통해 Expert Advisor로 전송됩니다. 그리고 여기에 2가지 문제가 있습니다.

1. 때문에 시작 {...} 블록은 새 틱이 도착할 때만 시작되고 인덱스의 틱은 드물며 Expert Advisor의 실행이 지연됩니다.

나는 Expert Advisor를 더 자주 똑딱거리는 상품(EURUSD)에 걸었지만 여전히 묻습니다. 강제 시작 {...}이 가능한가요?

2. 브로커가 허용하는 최대 포지션 사이즈는 20랏입니다. 100랏 의 포지션을 열어야 합니다 . 지금은 순차적으로 오픈하고,

하지만 4초 정도의 오랜 시간이 걸립니다. 주문 당. (즉, 포지션을 여는 데 20초가 소요됨) 때로는 이것이 좋지 않습니다. 더 빠르게 할 수 있는 방법이 있습니까? (사전 설정된 중지 주문을 통해 - 나에게 적합하지 않음).

 
ADI1966 >> :

2. 브로커가 허용하는 최대 포지션 사이즈는 20랏입니다. 100랏의 포지션을 열어야 합니다. 지금은 순차적으로 오픈하고,

하지만 4초 정도의 오랜 시간이 걸립니다. 주문 당. (즉, 포지션을 여는 데 20초가 소요됨) 때로는 이것이 좋지 않습니다. 더 빠르게 할 수 있는 방법이 있습니까? (사전 설정된 중지 주문을 통해 - 나에게 적합하지 않음).

https://forum.mql4.com/ru/13567
 
kombat писал(а) >>
https://forum.mql4.com/ru/13567

읽다.

한 틱의 어드바이저가 거래 시스템에 여러 매수 주문을 동시에 보낼 것이라는 점을 정확히 이해했습니다.

그리고 첫 번째 주문을 수락하고 실행하는 것에 대한 서버의 응답을 기다리지 않고 두 번째 주문을 기다리지 않습니다. ??

지금까지는 다음과 같이 진행됩니다. - 예 - (로그 항목, 실제 계정, 실시간)

10.55.13 - 주문 매수 시장 20 RTS - 처음 20개 로트입니다.

10.55.13 - 서버에서 요청을 수락했습니다.

10.55.13 - 처리 중인 요청

10.55.17 - 주문이 열렸습니다.

10.55.18 - 주문 매수 시장 20 RTS - 이것은 두 번째 20랏입니다.

10.55.18 - 서버에서 요청을 수락했습니다.

10.55.19 - 처리 중인 요청

10.55.22 - 주문이 열렸습니다.

10.55.23 - 주문 매수 시장 20 RTS - 이것은 세 번째 20랏입니다.

10.55.23 - 서버에서 요청을 수락했습니다.

10.55.24 - 처리 중인 요청

10.55.27 - 주문이 열렸습니다.

하지만 처음 4초 안에 전체 포지션이 열리기를 원합니다. 10.55.17까지

 
ADI1966 писал(а) >>

2. 브로커가 허용하는 최대 포지션 사이즈는 20랏입니다. 100랏의 포지션을 열어야 합니다. 지금은 순차적으로 오픈하고,

하지만 4초 정도의 오랜 시간이 걸립니다. 주문 당. (즉, 포지션을 여는 데 20초가 소요됨) 때로는 이것이 좋지 않습니다. 더 빠르게 할 수 있는 방법이 있습니까? (사전 설정된 중지 주문을 통해 - 나에게 적합하지 않음).

4개의 터미널을 실행하면 4개의 요청이 하나씩 처리되지 않고 즉시 딜러에게 전달됩니다.

 

이고르, 안녕!

기존 표시기에 소리 알림을 구현하는 방법을 알려주세요.

예를 들어 지그재그에서. 새 줄을 그릴 때 사운드 트랙이되도록 어디에서 어떻게 쓸 수 있습니까?

//+----------------------------------------------- --------------------+
//| 지그재그.mq4 |
//| Copyright © 2005-2007, MetaQuotes Software Corp. |
//| https://www.metaquotes.net// |
//+----------------------------------------------- --------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#속성 링크 " https://www.metaquotes.net// "

#속성 표시기_차트_창
#속성 표시기_버퍼 1
#property indicator_color1 빨간색
//---- 표시기 매개변수
extern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;
//---- 표시기 버퍼
이중 지그재그 버퍼[];
이중 HighMapBuffer[];
이중 LowMapBuffer[];
intlevel=3; // 카운팅 깊이
부울 다운로드 기록=거짓;
//+----------------------------------------------- --------------------+
//| 사용자 지정 표시기 초기화 기능 |
//+----------------------------------------------- --------------------+
정수 초기화()
{
표시 버퍼(3);
//---- 그리기 설정
SetIndexStyle(0,DRAW_SECTION);
//---- 표시기 버퍼 매핑
SetIndexBuffer(0, 지그재그 버퍼);
SetIndexBuffer(1,HighMapBuffer);
SetIndexBuffer(2,LowMapBuffer);
SetIndexEmptyValue(0,0.0);

//---- 인디케이터 짧은 이름
IndicatorShortName("ZigZag("+ExtDepth+","+ExtDeviation+","+ExtBackstep+")");
//---- 초기화 완료
리턴(0);
}
//+----------------------------------------------- --------------------+
//| |
//+----------------------------------------------- --------------------+
정수 시작()
{
정수 i, counted_bars = IndicatorCounted();
int 제한, counterZ, whatlookfor;
int shift, back, lasthighpos, lastlowpos;
이중 발, 입술;
더블 curlow,curhigh,lasthigh,lastlow;

if (counted_bars==0 && downloadhistory) // 다운로드 기록
{
ArrayInitialize(지그재그 버퍼, 0.0);
ArrayInitialize(HighMapBuffer,0.0);
ArrayInitialize(LowMapBuffer,0.0);
}
if (counted_bars==0)
{
limit=바-확장 깊이;
다운로드 기록 = 사실;
}
if (counted_bars>0)
{
동안 (counterZ<레벨 && i<100)
{
res=지그재그 버퍼[i];
if (res!=0) counterZ++;
나는 ++;
}
나--;
한계 = 나;
if (LowMapBuffer[i]!=0)
{
curlow=LowMapBuffer[i];
whatlookfor=1;
}
또 다른
{
curhigh=하이맵버퍼[i];
whatlookfor=-1;
}
(i=limit-1;i>=0;i--)
{
지그재그 버퍼[i]=0.0;
LowMapBuffer[i]=0.0;
하이맵버퍼[i]=0.0;
}
}

for(shift=limit; shift>=0; shift--)
{
val=낮음[iLowest(NULL,0,MODE_LOW,ExtDepth,shift)];
if(발==최저) 발=0.0;
또 다른
{
마지막으로 = 발;
if((낮은[shift]-val)>(ExtDeviation*Point)) val=0.0;
또 다른
{
for(back=1; back<=ExtBackstep; back++)
{
res=LowMapBuffer[시프트+뒤로];
if((res!=0)&&(res>val)) LowMapBuffer[shift+back]=0.0;
}
}
}
if (낮음[shift]==val) LowMapBuffer[shift]=val; 그렇지 않으면 LowMapBuffer[시프트]=0.0;
//--- 높은
val=높음[iHighest(NULL,0,MODE_HIGH,ExtDepth,shift)];
if(val==마지막 높음) val=0.0;
또 다른
{
lasthigh = 발;
if((val-High[shift])>(ExtDeviation*Point)) val=0.0;
또 다른
{
for(back=1; back<=ExtBackstep; back++)
{
res=HighMapBuffer[시프트+뒤로];
if((res!=0)&&(res<val)) HighMapBuffer[shift+back]=0.0;
}
}
}
if (High[shift]==val) HighMapBuffer[shift]=val; 그렇지 않으면 HighMapBuffer[시프트]=0.0;
}

// 최종 절단
if (whatlookfor==0)
{
마지막으로 = 0;
마지막 최고 = 0;
}
또 다른
{
lastlow=커로우;
lasthigh=커하이;
}
for (shift=limit;shift>=0;shift--)
{
해상도=0.0;
스위치(Whatlookfor)
{
case 0: // 피크 또는 잔디를 찾습니다.
if (마지막 낮음==0 && 마지막 높음==0)
{
if (HighMapBuffer[shift]!=0)
{
lasthigh=높음[시프트];
lasthighpos=시프트;
whatlookfor=-1;
지그재그 버퍼[shift]=마지막 고음;
해상도=1;
}
if (LowMapBuffer[shift]!=0)
{
lastlow=낮음[시프트];
lastlowpos=시프트;
whatlookfor=1;
지그재그 버퍼[shift]=최저;
해상도=1;
}
}
부서지다;
사례 1: // 피크를 찾습니다.
if (LowMapBuffer[shift]!=0.0 && LowMapBuffer[shift]<lastlow && HighMapBuffer[shift]==0.0)
{
지그재그 버퍼[lastlowpos]=0.0;
lastlowpos=시프트;
lastlow=LowMapBuffer[시프트];
지그재그 버퍼[shift]=최저;
해상도=1;
}
if (HighMapBuffer[shift]!=0.0 && LowMapBuffer[shift]==0.0)
{
lasthigh=HighMapBuffer[시프트];
lasthighpos=시프트;
지그재그 버퍼[shift]=마지막 고음;
whatlookfor=-1;
해상도=1;
}
부서지다;
case -1: // 잔디를 찾습니다.
if (HighMapBuffer[shift]!=0.0 && HighMapBuffer[shift]>lasthigh && LowMapBuffer[shift]==0.0)
{
지그재그 버퍼[lasthighpos]=0.0;
lasthighpos=시프트;
lasthigh=HighMapBuffer[시프트];
지그재그 버퍼[shift]=마지막 고음;
}
if (LowMapBuffer[shift]!=0.0 && HighMapBuffer[shift]==0.0)
{
lastlow=LowMapBuffer[시프트];
lastlowpos=시프트;
지그재그 버퍼[shift]=최저;
whatlookfor=1;
}
부서지다;
기본값: 반환;
}
}

리턴(0);
}
//+----------------------------------------------- --------------------+