코딩 도움말 - 페이지 337

 
alpha24:
안녕하세요 믈라덴 선생님

오랜만에 MA에 Bollinger Band를 코딩해주세요. MA 표시기의 MA와 동일합니다. 별도의 창에서. 지표 창에서 시각화하기 위해 이동 평균이 필요하지 않습니다. 소수점 편차(0.01)가 있는 BB, EMA 또는 SMA 형식. 평소대로 만들어 주시겠습니까?

미리 감사드립니다

알파24

이에 대한 새로운 지표가 필요하지 않습니다.

이미 별도의 창에 있는 ma를 사용하고 볼린저 밴드 를 해당 하위 창으로 드래그하고 이전 지표 데이터를 가격 필드로 선택하십시오.

 
mladen:
알파24

이에 대한 새로운 지표는 필요하지 않습니다.

어떤 엄마를 사용 ...

예, 하지만 문제는 소수점 편차에 대한 옵션이 없고 다른 하나는 동일한 창에서 더 많은 표시기를 사용하려고 하면 이전 데이터와 첫 번째 데이터에 혼동이 있다는 것입니다. 그러니 제발

 

안녕,

maillink.dll이 빌드 > 600에서 작동하는 경우에는 확실하지 않습니다.

gmx 및 googlemail로 maillink.dll을 시도했는데 항상 "-2"가 표시됩니다.

MailInit(문자열, 정수, 문자열, 문자열); 다시 기능 :-(

나는 또한 codersguru의 xpMail.dll이 내 메타 트레이더 계정을 크래시하려고 시도했습니다. 한 EA에서 두 개의 다른 메일 주소로 메일을 보낼 수 있는 또 다른 가능성을 아는 사람이 있습니까?!?

 
sunshineh:
안녕,

maillink.dll이 빌드 > 600에서 작동하는 경우에는 확실하지 않습니다.

gmx 및 googlemail로 maillink.dll을 시도했는데 항상 "-2"가 표시됩니다.

MailInit(문자열, 정수, 문자열, 문자열); 다시 기능 :-(

나는 또한 codersguru의 xpMail.dll이 내 메타 트레이더 계정을 크래시하려고 시도했습니다. 한 EA에서 두 개의 다른 메일 주소로 메일을 보낼 수 있는 또 다른 가능성을 아는 사람이 있습니까?!?

스트링 부분이 문제입니다.

이전 메타 트레이더 4는 ANSI 문자열을 사용했습니다. 유니코드 문자열로 변경했습니다. 유니코드 문자열은 문자당 2바이트를 사용하는 반면 ANSI는 문자당 1바이트만 사용합니다. 그렇기 때문에 문제가 발생합니다. dll이 읽을 수 없는 문자열을 가져옵니다.

 

사각형 대신 화살표를 넣어야 하는 표시기를 수정하십시오.

파일:
.........png  141 kb
.......png  30 kb
tro_bias_ez.ex4  12 kb
 
DMNIK:
사각형 대신 화살표를 넣어야 하는 표시기를 수정하십시오.

디엠닉

ex4 파일은 편집 및 변경할 수 없습니다.

 

명쾌한 설명 감사합니다!

dll에서 함수 를 호출하기 전에 모든 문자열을 유니코드로 변경하면 작동해야 합니까?

ANSI를 유니코드로, 유니코드를 ANSI로 변경하는 기능이 이미 있습니까?

 

아니면 유니코드 문자열이 배열에 있기 때문에 작동하지 않습니까?!?

다른 질문:

어떻게 하면 더 다양하게 플레이할 수 있나요?

PlaySound-wav 파일이 줄에 있습니까?

사이에 Sleep()으로 시도했지만 작동하지 않습니다 :-(

 
sunshineh:
아니면 유니코드 문자열이 배열에 있기 때문에 작동하지 않습니까?!?

다른 질문:

어떻게 하면 더 다양하게 플레이할 수 있나요?

PlaySound-wav 파일이 줄에 있습니까?

사이에 Sleep()으로 시도했지만 작동하지 않습니다 :-(

선샤인

논리적으로 그것들은 동일합니다: 문자 배열. ANSI 문자는 1바이트를 사용하고 유니코드 문자는 2바이트를 사용한다는 점을 제외하고. 그것은 모든 다양한 세계 언어를 포함하기 위해 수행되었습니다(유니코드가 발명되었을 때 - 메타 트레이더와 관련이 없음). 이제 dll이 ANSI를 예상하고 유니코드 문자열을 받으면 이를 잘못 해석합니다(반대의 경우도 마찬가지). dll이 dll을 사용하는 경우 새 문자열을 서명되지 않은 문자의 명시적 배열로 변환해야 하며(ANSI dll에 액세스할 수 있도록 StringToShortArray() 사용) 반환값은 CharArrayToString()을 사용하여 문자열로 변환되어야 합니다. 메타 트레이더가 액세스할 수 있도록 하기 위해)

_____________________________________

절전 모드: 표시기에서 Sleep() 기능 이 비활성화되고 EA에서만 작동합니다. 항상 그랬습니다(새로운 메타 트레이더의 참신함이 아닙니다).

또한 메타 트레이더는 하나의 코드로 순차적으로 주문을 실행하고 있습니다. 즉, 하나의 사운드 파일 재생을 시작한 다음 끝내지 않고 계속해서 다른 파일을 재생할 수 없습니다. 또한 내가 아는 한, 그들은 사운드 파일의 지속 시간을 제한하고 있습니다(터미널 정지를 방지하기 위해 - 아마 눈치채셨겠지만, 경고 및 소리와 같은 것이 중앙 집중화됨 - 다른 차트가 동시에 경고를 발행할 때 참조 시간 - 그것은 당신이 보는 하나의 창입니다)

이제 계속 진행할 수 있지만 메타 트레이더의 전체 문제는 비동기 루틴 실행을 적절하게 해결하지 못했고(실제로는 이에 대해 전혀 알지 못함) 많은 제한을 가져왔다는 것입니다.

 

마지막으로 마감된 주문이 수익성이 있는지 확인

여보세요,

지난 세 번의 마감된 매도 또는 매수 거래가 수익성이 있는지 확인하고 이에 따라 문자열 값을 변경하고 싶습니다.

이 코드(MT4)가 있습니다.

for(int i=(OrdersHistoryTotal()-1);i>=0;i--);

{

OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==BUY)

{

//for buy order

if(OrderType()==OP_BUY && OrderProfit()>0) last=1;

if(OrderType()==OP_BUY && OrderProfit()<0) last=0;

}

}

for(int j=(OrdersHistoryTotal()-1);j>=0;j--);

{

OrderSelect(j, SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==SELL)

{

//for sell order

if(OrderType()==OP_SELL && OrderProfit()>0) last2=1;

if(OrderType()==OP_SELL && OrderProfit()<0) last2=0;

}

}

하지만 그것은 나를 위해 작동하지 않습니다.

어떻게 수정해야 하나요?

도움에 감사드립니다.