코딩하는 방법? - 페이지 68

 

이전 막대의 높이

안녕,

이전 막대의 코드를 알려주십시오.

이것은 이전 막대가 특정 높이보다 높을 때 주문을 제한하기 위해 EA에서 사용할 수 있습니다.

문안 인사,

시데시

 

내 코드(기본 EMA, STOC 등)를 수정해 주세요.

안녕하세요.. mql4 코딩을 처음 접했습니다. 특정 조건에 따라 몇 가지 코드를 구성했습니다. 실수가 있으면 수정하는 데 도움이 되길 바랍니다.

알았어.. 시작하자

1) EMA 크로스

다음과 같은 경우 구매:

- EMA 5 > EMA 18

- 두 선이 모두 위쪽입니다.

- EMA5 >= 10pips의 현재 n 이전 가격과 다릅니다.

현재 이것을 사용하고 있습니다.

double EMA5 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, 0);

double EMA5_prev = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, 1);

double EMA18 = iMA(NULL, 0, 18, 0, MODE_EMA, PRICE_CLOSE, 0);

double EMA18_prev = iMA(NULL, 0, 18, 0, MODE_EMA, PRICE_CLOSE, 1);

if (EMA5 > EMA18) {

if ( EMA5 - EMA5_prev >= 10 && EMA18 > EMA_prev) {

Order = BUY;

}

}

[/CODE]

2) RSI

double RSI = iRSI(NULL, 0, 18, PRICE_CLOSE, Current + 0);

double RSI_prev = iRSI(NULL, 0, 18, PRICE_CLOSE, Current + 1);

if (RSI > 50 && RSI > RSI_prev) {

Order = BUY;

}

[/CODE]

3) STOCH

Buy when the Oscillator (either %K or %D) falls below a specific level (e.g., 20) and then rises above that level . Sell when the Oscillator rises above a specific level (e.g., 80) and then falls below that level

[code]

double STOCH_K = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0);

double STOCH_D = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0);

if (STOCH_K < 20 || STOCH_D < 20) {

Order = BUY;

}

* i think i've skipped the red one.. dont know how to do that part..

Buy when the %K line rises above the %D line and sell when the %K line falls below the %D line

[code]

double STOCH_K = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0);

double STOCH_D = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0);

if (STOCH_K > STOCH_D) {

Order BUY;

} else

if {STOCH_K < STOCH_D) {

Order SELL;

}

4) Stoc 코딩에서 MODE_MAIN은 무엇을 나타냅니까? MODE_SIGNAL은 무엇을 나타냅니까?

5) EA의 자동 닫기 및 자동 켜짐 타이머를 설정하는 방법은 무엇입니까?

예: 오전 8시에 열고 오후 5시에 닫습니다.

6) 게시물이 열렸을 때 다른 차트에서 EA 비활성화를 설정하는 방법은 무엇입니까?

예를 들어 GU의 게시물이 열리면 2쌍(GU 및 EJ)에서 EA를 사용하고 EJ에서 EA를 비활성화합니다.

이 질문이 매우 기본적인 것이라면 죄송합니다. .. 여러분이 저를 가르칠 수 있기를 바랍니다. thx

 

까다로운 손절매 - 도와줄 수 있습니까?

EA 라이딩 트렌드를 모아봤습니다. 이익이 일정 수준에 도달하면 오픈 로트의 PART에 대한 손절매를 해당 이익 수준으로 이동하고 싶습니다. 나는 나머지 로트를 그대로 둘 것입니다(또는 나머지에 대한 손절매를 손익분기점으로 이동).

나는 이익실현 을 사용하지 않습니다.

이것을 어떻게 코딩합니까?

감사해요,

빅비

 
Big Be:
... 이익이 일정 수준에 도달하면 오픈 로트의 PART에 대한 손절매를 해당 이익 수준으로 이동하고 싶습니다. ..

이것을 어떻게 코딩합니까?

감사해요,

빅비

여러 직책이 없으면 그렇게 할 수 없습니다. 직책별로 SP/TP가 하나만 있을 수 있습니다. 그러나 포지션의 일부를 청산할 수 있습니다 . 청산하려는 랏의 수를 OrderClose(..) 함수 에 입력하기만 하면 됩니다.

당신이 할 수 있는 일(중개업체에 따라 다름)은 원하는 부분에 대해 보류 중인 중지(헤지)를 배치하는 것입니다. 그런 다음 나중에 "CloseBy" 명령 또는 기능을 수행해야 합니다.

 

#가져오기 질문

안녕 모두

MT4에서 이 API 함수 를 호출해야 합니다.

int GetMouseMovePoints(

UINT cbSize // MOUSEMOVEPOINT 구조체의 크기

LPMOUSEMOVEPOINT lppt, // 현재 마우스 이동 지점에 대한 포인터

LPMOUSEMOVEPOINT lpptBuf, // 포인트를 저장할 버퍼

int nBufPoints, // 버퍼가 저장할 수 있는 포인트 수

DWORD 해상도 // 포인트의 해상도

);

#가져오기절을 알려주세요

감사해요

 
DooMGuarD:
안녕 모두

MT4에서 이 API 함수를 호출해야 합니다.

int GetMouseMovePoints(

UINT cbSize // MOUSEMOVEPOINT 구조체의 크기

LPMOUSEMOVEPOINT lppt, // 현재 마우스 이동 지점에 대한 포인터

LPMOUSEMOVEPOINT lpptBuf, // 포인트를 저장할 버퍼

int nBufPoints, // 버퍼가 저장할 수 있는 포인트 수

DWORD 해상도 // 포인트의 해상도

);

#가져오기절을 알려주세요

감사해요

귀하의 질문을 이 스레드로 이동했습니다.

 

바당 하나의 거래?

나는 이것이 전에 다루어졌다는 것을 알고 있지만 누군가 막대당 1개의 거래만 허용하는 일부 코드를 보여줄 수 있습니까?

감사해요.

 

미셸,

감사해요.

나는 그것이 두려웠다.

이제 "매직넘버의 재미"를 배워야 합니다.

빅비

 

문제!!!

이것을 어떻게 코딩합니까?

이전 6개 거래가 손실이었다면 이것을 시도했지만 작동하지 않습니다!!!

int MTL;

extern MaxTradeLoss=6;

int start()

{

for(int b=0;b<MaxTradeLoss;b++)

{

if(OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==true)

{

if(OrderSymbol()==Symbol() && OrderProfit()<0)

{

MTL++;

}

}

}

MTL=0;

return(0);

}

 
Dan7974:
이것을 어떻게 코딩합니까?

이전 6개 거래가 손실이었다면 이것을 시도했지만 작동하지 않습니다!!!

int MTL;

extern MaxTradeLoss=6;

int start()

{

for(int b=0;b<MaxTradeLoss;b++)

{

if(OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==true)

{

if(OrderSymbol()==Symbol() && OrderProfit()<0)

{

MTL++;

}

}

}

MTL=0;

return(0);

}

귀하의 진술 MTL=0; "for" 루프에서 계산한 것과 상관없이 MTL을 거의 0으로 설정합니다. 그 줄은 "for" 루프의 앞이 아니라 뒤에 있어야 합니다.

사유: