코딩 도움말 - 페이지 223

 
daniel1983:
Mladen에게 감사합니다. 변경을 했습니다. 표시기는 이렇게 생겼지만 여전히 차트에서 아무 것도 하지 않습니다...

//------------------------------------------------ ------------------

#재산 저작권 "www.forex-tsd.com"

#속성 링크 "www.forex-tsd.com"

//------------------------------------------------ ------------------

//+----------------------------------------------- -------------------+

//| 커스텀 인디케이터 초기화 기능 |

//+----------------------------------------------- -------------------+

정수 초기화()

{

//----

리턴(0);

}

정수 초기화() {

논평("");

ObjectDelete("키라인");

리턴(0);

}

//+----------------------------------------------- -------------------+

//| 사용자 지정 표시기 반복 기능 |

//+----------------------------------------------- -------------------+

정수 시작()

{

이중 숫자 = (iOpen(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/3;

Comment("핵심줄: ",숫자);

ObjectDelete("키라인");

ObjectCreate("키라인", OBJ_HLINE,1, CurTime(),숫자);

ObjectSet("키라인",OBJPROP_COLOR,주황색);

ObjectSet("키라인",OBJPROP_STYLE,STYLE_SOLID);

개체다시 그리기();

반환(0);

}

내가 지금 뭘 잘못하고 있니?

고맙습니다

다음과 같이 하십시오.

#property indicator_chart_window

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int init() { return(0); }

int deinit()

{

Comment("");ObjectDelete("KeyLine");

return(0);

}

int start()

{

double number = (iOpen(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/3;

Comment("Key Line: ",number);

ObjectDelete("KeyLine");

ObjectCreate("KeyLine", OBJ_HLINE,0, CurTime(),number);

ObjectSet("KeyLine",OBJPROP_COLOR,Orange);

ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID);

return(0);

}
파일:
test.mq4  1 kb
 

Ok Mladen, 시간 내주셔서 대단히 감사합니다. 수학 코드에 문제가 있기 때문에 내가 할 수 있는 일을 알아보겠습니다. 수학 방정식을 수행하는 데 첫 번째 초의 가격이 여전히 필요하지 않기 때문입니다. 다시 한 번 감사합니다. 주말에 살펴보겠습니다.

다니엘1983

 
daniel1983:
Ok Mladen, 시간 내주셔서 대단히 감사합니다. 수학 코드에 문제가 있기 때문에 내가 할 수 있는 일을 알아보겠습니다. 수학 방정식을 수행하는 데 첫 번째 초의 가격이 여전히 필요하지 않기 때문입니다. 다시 한 번 감사합니다. 주말에 살펴보겠습니다. 다니엘1983

다니엘1983

해당 mql 코드를 일상적인 언어로 번역하려면: 숫자는 전날 시가 + 전일 고가 + 전일 저가를 3으로 나눈 것과 같습니다. 이렇게 하면 다른 시간 프레임의 값이 혼합되지 않고 현재까지 값에 변경 사항이 없습니다. 요일 변경

 

안녕 믈라덴

나는 스레드에서 지원 저항 표시기를 다운로드했습니다: 지원 및 저항을 효과적으로 사용하는 방법 하지만 차트에 올려 놓으면 지지와 저항이 나타납니다. 그러나 지표를 삭제해도 지지선과 저항선은 차트에 남아 있습니다. 완전히 삭제하는 방법을 알고 있습니까?

미리 감사드립니다!!

안부, MGM

 
MGM:
안녕 믈라덴

스레드에서 지원 저항 표시기를 다운로드했습니다: 지원 및 저항을 효과적으로 사용하는 방법

그러나 차트에 올리면 지지와 저항이 나타납니다. 그러나 지표를 삭제해도 지지선과 저항선은 차트에 남아 있습니다. 완전히 삭제하는 방법을 알고 있습니까?

미리 감사드립니다!!

안부, MGM

MGM

정확히 어떤 지표(어떤 게시물 번호)?

 
mladen:
MGM 정확히 어떤 지표(어떤 게시물 번호)?

죄송합니다. Maladen Thread: How to use Support and Resistance Effectively page 44에서 다운로드했습니다. 이제 제대로 작동합니다. 실례합니다.

어쨌든 많은 감사합니다!

MGM

 

친애하는 믈라덴

나는 두 개의 주문을 여는 EA를 작성하고 싶습니다. 첫 번째는 매도 또는 매수이고 두 번째는 보류 중입니다.

첫 번째 주문이 목표물에 도달하면 EA는 보류 중인 항목을 제거하고 주기를 반복합니다.

예비 구조를 만들었습니다. 친절하게 확인해 주시겠습니까?

//+-------------------------------------------------------+

//| Main Function |

//+-------------------------------------------------------+

int start()

{

if (Counter() == 0)

{

Long ();

Short();

}

if (Counter() == 1)

{

PendingRemover();

}

return(0);

}

//+-------------------------------------------------------+

//| Complementary Functions |

//+-------------------------------------------------------+

//---- Order Counter

int Counter()

{

int Pending = 0;

int Trading = 0;

for (int i=0; i<OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == False) break;

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

{

if(OrderType() == Buy or Sell Order) Trading++;

if(OrderType() == Pending Order) Pending++;

}

}

return(Trading+Pending);

}

//---- Pending Remover

void PendingRemover()

{

for (int i=0; i<OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == False) break;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == Pending Order);

OrderDelete(Pending);

}

}

//---- Long Position Handler

void Long()

{

int Ticket1;

int Ticket2;

if (X > 0)

{

Ticket1 = OrderSend(Trading);

Ticket2 = OrderSend(Pending);

}

}

//---- Short Position Handler

void Short()

{

int Ticket1;

int Ticket2;

if (X < 0)

{

Ticket1 = OrderSend(Trading);

Ticket2 = OrderSend(Pending);

}

}

최상의,

 
-IXI-:
친애하는 믈라덴

나는 두 개의 주문을 여는 EA를 작성하고 싶습니다. 첫 번째는 매도 또는 매수이고 두 번째는 보류 중입니다.

첫 번째 주문이 목표물에 도달하면 EA는 보류 중인 항목을 제거하고 주기를 반복합니다.

예비 구조를 만들었습니다. 친절하게 확인해 주시겠습니까?

//+-------------------------------------------------------+

//| Main Function |

//+-------------------------------------------------------+

int start()

{

if (Counter() == 0)

{

Long ();

Short();

}

if (Counter() == 1)

{

PendingRemover();

}

return(0);

}

//+-------------------------------------------------------+

//| Complementary Functions |

//+-------------------------------------------------------+

//---- Order Counter

int Counter()

{

int Pending = 0;

int Trading = 0;

for (int i=0; i<OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == False) break;

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

{

if(OrderType() == Buy or Sell Order) Trading++;

if(OrderType() == Pending Order) Pending++;

}

}

return(Trading+Pending);

}

//---- Pending Remover

void PendingRemover()

{

for (int i=0; i<OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == False) break;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == Pending Order);

OrderDelete(Pending);

}

}

//---- Long Position Handler

void Long()

{

int Ticket1;

int Ticket2;

if (X > 0)

{

Ticket1 = OrderSend(Trading);

Ticket2 = OrderSend(Pending);

}

}

//---- Short Position Handler

void Short()

{

int Ticket1;

int Ticket2;

if (X < 0)

{

Ticket1 = OrderSend(Trading);

Ticket2 = OrderSend(Pending);

}

}

최상의,

-IXI-

내가 볼 땐 다 괜찮아

 

친애하는 믈라덴

매우 감사합니다.

간단한 EA를 만들기 위해 몇 가지 코드를 추가합니다.

EA가 매수와 매도 주문 을 동시에 여는 것이 이상합니다! 어떤 아이디어라도?

//---- Long Position Handler

void Long()

{

int Ticket1;

int Ticket2;

if (iMA(Symbol(),Period(),10,0,1,0,1)

> iMA(Symbol(),Period(),10,0,1,0,2))

{

Ticket1 = OrderSend(Symbol(),OP_BUY ,...);

Ticket2 = OrderSend(Symbol(),OP_SELLSTOP,...);

}

}

//---- Short Position Handler

void Short()

{

int Ticket1;

int Ticket2;

if (iMA(Symbol(),Period(),10,0,1,0,1)

< iMA(Symbol(),Period(),10,0,1,0,2))

{

Ticket1 = OrderSend(Symbol(),OP_SELL ,...);

Ticket2 = OrderSend(Symbol(),OP_BUYSTOP,...);

}

}

최상의.

 

안녕하세요, Mladen.Momentum -Atr ema+ 필터 표시기에 추가할까요? 그러나 그 EMA만 너무 정규화되었습니까? 아마도 다른 평균, SMA를 추가하는 것이 더 나을 것입니다. 솔직히 말하자면, 나는 무엇을 만들어야 할지 모르겠습니다. 이 지표에서 MA와의 크로스를 받고 싶습니다. 모멘텀이 제로 진입을 교차하기 위해서는 필요합니다. MA 출구를 지나

도와주세요.

고맙습니다.