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

 
arshadFX:
1, 거래 기준이 트리거된 후 bool 플래그 추가

2, 주문하기 전에 bool 플래그를 확인하십시오

3, 주문 후 bool 플래그를 재설정해야 합니다.

4, init()에서도 플래그를 재설정합니다.

고마워요

 

MQL 가이드 필요 =^_^=

#속성 표시기_차트_창

#속성 표시기_버퍼 2

#property indicator_color1 흰색

#property indicator_color2 흰색

extern int Fast.MA.Period = 5;

extern int Slow.MA.Period = 34;

외부 정수 Signal.period = 5;

//---- 버퍼

이중 버퍼1[],

버퍼2[],

b2[],

b3[];

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

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

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

정수 초기화()

{

//---- 표시기

// 카운팅에 사용되는 두 개의 추가 버퍼

표시 버퍼(4);

IndicatorShortName("MA3_54");

SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,3);

SetIndexArrow(0,242); // 아래로 226 234 242

SetIndexBuffer(0,b2);

SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,3);

SetIndexArrow(1,241); //업 225 233 241

SetIndexBuffer(1,b3);

// 이 버퍼는 플롯되지 않고 화살표를 결정하는 데 사용됩니다.

SetIndexBuffer(2,Buffer1);

SetIndexBuffer(3,Buffer2);

//----

리턴(0);

}

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

//| 고객 표시기 초기화 해제 기능 |

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

정수 초기화()

{

//----

리턴(0);

}

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

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

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

정수 시작()

{

정수 i, counted_bars=IndicatorCounted();

이중 MA5, MA34;

int limit=막대-counted_bars;

Print(" 인쇄 제한 = ", 제한);

if(counted_bars>0) 제한++;

// 메인 라인

for(i=0; i<한계; i++)

{

MA5=iMA(NULL,0,Fast.MA.Period,0,MODE_SMA,PRICE_MEDIAN,i);

MA34=iMA(NULL,0,Slow.MA.Period,0,MODE_SMA,PRICE_MEDIAN,i);

버퍼1=MA5-MA34;

}

// 신호 라인

for(i=0; i<한계; i++)

{

Buffer2=iMAOnArray(Buffer1,Bars,Signal.period,0,MODE_LWMA,i);

}

// 화살표

for(i=0; i<한계; i++)

{

if(버퍼1 > 버퍼2 && 버퍼1 < 버퍼2)

b2 = 높음+10*포인트;

if(버퍼1 버퍼2)

b3 = 낮음-10*포인트;

}

//----

리턴(0);

}

이 indis를 기반으로 EA를 만드는 방법을 가르쳐 주시겠습니까? 화면에 화살표가 표시되고 그 시간에 EA 자동 입력 위치, 수행할 수 있습니까? 공부에 열중하니 지도해주세요 =^_^=

 

좋은 참조

liew_stanley:
#속성 표시기_차트_창

#속성 표시기_버퍼 2

............배움에 열심인 저를 안내해 주세요 =^_^=

이 가이드를 참조하십시오. 정말 좋은 자료 MQL4 Tutorial

 

인디는 이렇게 생겼어요

다음은 위에서 언급한 화살표 신호입니다. EA 코딩에 대해 안내해 줄 사람이 필요합니다.

누구에게나 감사합니다 =^_^=

파일:
untitled.jpg  80 kb
 

누구든지 이것을 간단한 EA로 코딩하도록 도울 수 있습니까?

안녕하세요 여러분, 누구든지 이 indis를 EA로 코딩하는 데 도움을 줄 수 있습니까? 화살표가 화면에 나타날 때 위치를 입력하는 간단한 EA만, 간단한 EA에서 저를 도울 수 있다면 대단히 감사합니다. =^_^= 감사합니다

#속성 표시기_차트_창

#속성 표시기_버퍼 2

#property indicator_color1 흰색

#property indicator_color2 흰색

extern int Fast.MA.Period = 5;

extern int Slow.MA.Period = 34;

외부 정수 Signal.period = 5;

//---- 버퍼

이중 버퍼1[],

버퍼2[],

b2[],

b3[];

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

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

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

정수 초기화()

{

//---- 표시기

// 카운팅에 사용되는 두 개의 추가 버퍼

표시기버퍼(4);

IndicatorShortName("엘리엇 파동 발진기");

SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,3);

SetIndexArrow(0,242); // 아래로 226 234 242

SetIndexBuffer(0,b2);

SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,3);

SetIndexArrow(1,241); //업 225 233 241

SetIndexBuffer(1,b3);

//

SetIndexBuffer(2,Buffer1);

SetIndexBuffer(3,Buffer2);

//----

리턴(0);

}

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

//| 고객 표시기 초기화 해제 기능 |

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

정수 초기화()

{

//

//----

리턴(0);

}

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

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

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

정수 시작()

{

정수 i, counted_bars=IndicatorCounted();

이중 MA5, MA34;

int limit=막대-counted_bars;

Print(" 인쇄 제한 = ", 제한);

if(counted_bars>0) 제한++;

// 메인 라인

for(i=0; i<한계; i++)

{

MA5=iMA(NULL,0,Fast.MA.Period,0,MODE_SMA,PRICE_MEDIAN,i);

MA34=iMA(NULL,0,Slow.MA.Period,0,MODE_SMA,PRICE_MEDIAN,i);

버퍼1=MA5-MA34;

}

// 신호 라인

for(i=0; i<한계; i++)

{

Buffer2=iMAOnArray(Buffer1,Bars,Signal.period,0,MODE_LWMA,i);

}

// 화살표

for(i=0; i<한계; i++)

{

if(버퍼1 > 버퍼2 && 버퍼1 < 버퍼2)

b2 = 높음+10*포인트;

if(버퍼1 버퍼2)

b3 = 낮음-10*포인트;

}

//----

리턴(0);

}

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

 

다중 주문 코드?

maxlot 장벽에 부딪힐 때 여러 주문을 거래할 수 있는 좋은 코드가 있는 사람이 있습니까?

IE Broker는 5개의 로트만 허용하고 10개를 거래하기를 원하므로 함수 는 대신 2 x 5 로트 주문을 거래합니다.

저는 여기서 단순한 루프 이상을 찾고 있습니다. 문제는 간단한 루프가 항상 완전히 완료되는 것은 아니며 일부 주문만 열린 상태로 남을 수 있다는 것입니다.

 

OrderModify 오류 1을 제거하는 방법

안녕,

나는 OrderModify 오류 1을 피할 수 없다: 수정하기 전에 데이터가 다르다는 것을 제어 하려고 해도 항상 나타난다! 나는 이중 정규화도 시도했습니다 ... 작동하지 않습니다 ...

이것은 코드입니다:

if (Bid-OrderOpenPrice() >= VPoint*BreakEvenAtProfit)

{

if (OrderStopLoss() != OrderOpenPrice() + BreakEvenShift*VPoint)

{

Vresult = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+ BreakEvenShift*VPoint,OrderTakeProfit(),0,녹색);

어떤 제안?

감사해요.

 
liew_stanley:
안녕하세요 여러분, 누구든지 이 indis를 EA로 코딩하는 데 도움을 줄 수 있습니까? 위치를 입력하는 간단한 EA만 //+------------+

2개의 MovingAverage corssing(예: 5-34)에 대한 이 에어로 쇼에서는 "MA's Cross EA" 검색을 통해 많은 EA를 찾을 수 있으며 하나를 찾을 수 있기를 바랍니다.

 

알림 빈도는 어떻게 설정합니까?

저는 mq4를 처음 사용하고 MACD 에 대한 크로스오버가 있을 때 화면에 디스플레이를 만들려고 합니다. 아래는 내 코드이지만 몇 분마다 경고가 계속 나타납니다.

1시간에 한 번만 경고를 표시하도록 코딩하려면 어떻게 해야 합니까? 아니면 막대당 하나의 경고입니까?

정수 시작()

{

문자열 MACD1="";

컬러 콜트9;

이중 MACDM_S10 = iCustom(NULL, PERIOD_H1, "MACD", 8,17,9, MODE_MAIN, 0);

이중 MACDS_S10 = iCustom(NULL, PERIOD_H1, "MACD", 8,17,9, MODE_SIGNAL,0);

이중 MACDM_S11 = iCustom(NULL, PERIOD_H1, "MACD", 8,17,9, MODE_MAIN, 1);

이중 MACDS_S11 = iCustom(NULL, PERIOD_H1, "MACD", 8,17,9, MODE_SIGNAL,1);

if ((MACDM_S11 < MACDS_S11 && MACDM_S10 < MACDS_S10)) { MACD1="IN UPTREND"; colt9=라임그린; }

if ((MACDM_S11 > MACDS_S11 && MACDM_S10 > MACDS_S10)) { MACD1="IN DOWNTREND"; colt9=빨간색; }

if ((MACDM_S11 > MACDS_S11 && MACDM_S10 < MACDS_S10)) { MACD1="NEW UP CROSSING"; colt9=라임그린; }

if ((MACDM_S11 MACDS_S10)) { MACD1="뉴 다운 크로싱"; colt9=빨간색; }

문자열 MACD2="";

컬러 콜트14;

이중 MACDM_L10 = iCustom(NULL, PERIOD_H1, "MACD", 12,26,9, MODE_MAIN, 0);

이중 MACDS_L10 = iCustom(NULL, PERIOD_H1, "MACD", 12,26,9, MODE_SIGNAL,0);

이중 MACDM_L11 = iCustom(NULL, PERIOD_H1, "MACD", 12,26,9, MODE_MAIN, 1);

이중 MACDS_L11 = iCustom(NULL, PERIOD_H1, "MACD", 12,26,9, MODE_SIGNAL,1);

if ((MACDM_L11 < MACDS_L11 && MACDM_L10 < MACDS_L10)) { MACD2="IN UPTREND"; colt14=라임그린; }

if ((MACDM_L11 > MACDS_L11 && MACDM_L10 > MACDS_L10)) { MACD2="IN DOWNTREND"; colt14=빨간색; }

if ((MACDM_L11 > MACDS_L11 && MACDM_L10 < MACDS_L10)) { MACD2="NEW UP CROSSING"; colt14=라임그린; }

if ((MACDM_L11 MACDS_L10)) { MACD2="뉴 다운 크로싱"; colt14=빨간색; }

if(MACD1=="NEW UP CROSSING"&&MACD2=="상승세")

Alert(Symbol()," - ","H1:"," MACD MAIN UPTREND MOVEMENT"," at ", Bid, " - ",TimeToStr(CurTime(),TIME_SECONDS));

if(MACD1=="뉴 다운 크로싱"&&MACD2=="하락 추세")

Alert(Symbol()," - ","H1:"," MACD MAIN DOWNTREND MOVEMENT"," at ", Bid, " - ",TimeToStr(CurTime(),TIME_SECONDS));

if(MACD2=="NEW UP CROSSING"&&MACD1=="인 UPTREND")

Alert(Symbol()," - ","H1:"," MACD, MAIN TREND CHANGE TO UPTREND"," at ", Bid, " - ",TimeToStr(CurTime(),TIME_SECONDS));

if(MACD2=="뉴 다운 크로싱"&&MACD1=="하락 추세")

Alert(Symbol()," - ","H1:"," MACD, MAIN TREND CHANGE TO DOWNTREND"," at ", Bid, " - ",TimeToStr(CurTime(),TIME_SECONDS));

반환(0);

}

 

어떤 쌍으로?

사유: