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

 

안녕하세요 여러분,

배열에 봉투를 그릴 수 없습니다

문제 없이 볼린저 밴드 를 그릴 수 있습니다.

CCI 표시기에 봉투를 그리고 싶습니다.

첨부 코드로 Bollingerbands로 그렸고 작동합니다.

유일한 문제는 cci 표시기에 봉투를 사용하여 그리는 것입니다.

도와주세요.

파일:
cci_env.mq4  3 kb
 
luffy:
안녕하세요 여러분,

배열에 봉투를 그릴 수 없습니다

문제 없이 볼린저 밴드를 그릴 수 있습니다.

CCI 표시기에 봉투를 그리고 싶습니다.

첨부 코드로 Bollingerbands로 그렸고 작동합니다.

유일한 문제는 cci 표시기에 봉투를 사용하여 그리는 것입니다.

도와주세요.

루피

엔벨로프를 적용 하고자 하는 각각의 모든 지표 값에 대해 엔벨로프를 코딩하지 않고는 수행할 수 없습니다.

 
mladen:
luffy 봉투를 적용하려는 모든 지표 값마다 봉투를 코딩하지 않고는 할 수 없습니다.

안녕 믈라덴

프로그래밍을 할 수 없는 당신의 큰 도움에 감사드립니다.

첨부된 Macd3 에 문제가 있습니다. 이 Macd3는 편집하고 다시 닫을 때만 새로 고침됩니다.

모든 바가 닫힐 때마다 새로 고침이 된다면 큰 도움이 될 것입니다. 해결책을 찾으시기 바랍니다.

BTW 이것은 전환점을 일찍 얻는 것과 관련하여 매우 좋은 지표입니다!

파일:
macd_3m.ex4  17 kb
macd_3m.mq4  5 kb
 
wolfsch:
안녕 믈라덴

프로그래밍을 할 수 없는 당신의 큰 도움에 감사드립니다.

첨부된 Macd3에 문제가 있습니다. 이 Macd3는 편집하고 다시 닫을 때만 새로 고침됩니다.

모든 바가 닫힐 때마다 새로 고침이 된다면 큰 도움이 될 것입니다. 해결책을 찾으시기 바랍니다.

BTW 이것은 전환점을 일찍 얻는 것과 관련하여 매우 좋은 지표입니다!

볼프쉬

내 터미널에서 잘 작동합니다(1분 차트에서 테스트했으며 모두 정상이었습니다. 저는 빌드 788을 사용하고 있습니다)

 
wolfsch:
안녕 믈라덴

프로그래밍을 할 수 없는 당신의 큰 도움에 감사드립니다.

첨부된 Macd3에 문제가 있습니다. 이 Macd3는 편집하고 다시 닫을 때만 새로 고침됩니다.

모든 바가 닫힐 때마다 새로 고침이 된다면 큰 도움이 될 것입니다. 해결책을 찾으시기 바랍니다.

BTW 이것은 전환점을 일찍 얻는 것과 관련하여 매우 좋은 지표입니다!

나에게도 웍스

 
luffy:
안녕하세요 여러분,

배열에 봉투를 그릴 수 없습니다

문제 없이 볼린저 밴드를 그릴 수 있습니다.

CCI 표시기에 봉투를 그리고 싶습니다.

첨부 코드로 Bollingerbands로 그렸고 작동합니다.

유일한 문제는 cci 표시기에 봉투를 사용하여 그리는 것입니다.

도와주세요.

루피

지금 사용해보십시오 :cci_env_1.mq4

파일:
cci_env_1.mq4  3 kb
cci_env.gif  71 kb
 

안녕하세요, 저는 특정 타이밍에 열려 있는 모든 거래를 자동으로 마감하도록 ea를 설정하려고 합니다. 누군가가 이 문제에 대해 나에게 도움을 줄 수 있는지 궁금합니다. 감사해요.

문안 인사

라이언

 
tkuan77:
안녕하세요, 저는 특정 타이밍에 열려 있는 모든 거래를 자동으로 마감하도록 ea를 설정하려고 합니다. 누군가가 이 문제에 대해 나에게 도움을 줄 수 있는지 궁금합니다. 감사해요.

문안 인사

라이언

라이언

이것을 확인하십시오 : https://www.mql5.com/en/forum/177401/page2

코드를 컴파일할 때 두 개의 컴파일러 경고에 대해 걱정하지 마십시오.

 

안녕하세요 mladen, 타이밍 및 컴파일에 따라 거래 마감에 대한 부분을 입력하려고 시도했지만 언급한 대로 경고를 표시하지만 코드를 실행할 때 지정한 타이밍에 거래를 마감하지 않습니다.

여기서 오류가 무엇인지 확실하지 않습니다. 여기에서 내가 잘못했을 수 있는 부분을 알려주시기 바랍니다.

문안 인사

라이언

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

//| 외환 TSD - 외환 포럼 |

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

#property copyright "R Creation"

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

//---- 입력 매개변수

외부 이중 TakeProfit = 200.0;

extern 이중 랏 = 0.1;

외부 이중 손절매 = 200.0;

extern int PreferredHour_1st = 5;

extern int PreferredMinute_1st = 30;

int magicNo_1st = 530;

extern bool UseCurrSymbol = False; // 이것이 무엇을 위한 것인지 너무 확실하지 않음.....

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

//| 전문가 초기화 기능 |

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

정수 초기화()

{

//----

//----

리턴(0);

}

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

//| 전문가 초기화 해제 기능 |

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

정수 초기화()

{

//----

//----

리턴(0);

}

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

//| 전문가 시작 기능 |

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

날짜/시간 뉴바;

이중 pBid, pAsk;

정수 시작()

{

if(newbar==시간[0])반환(0);

else newbar=시간[0];

int 티켓, 합계;

if(막대<100)

{

Print("100개 미만의 막대");

리턴(0);

}

if(테이크프로핏<10)

{

Print("TakeProfit이 10 미만입니다.");

리턴(0); // TakeProfit 확인

}

이중 Fast_MA, Slow_MA;

Fast_MA = iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,0);

Slow_MA = iMA(NULL,0,30,0,MODE_EMA,PRICE_CLOSE,0);

총계 = OrdersTotal(); // 현재 열려 있는 총 거래 수 확인

if(총 < 1)

{

if (Hour()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA > Slow_MA)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,Ask-StopLoss*Point,Ask+TakeProfit*Point,

"내 EA",magicNo_1st,0,Green);

if(티켓>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("구매 주문이 열렸습니다: ",OrderOpenPrice());

}

else Print("구매 주문 열기 오류: ",GetLastError());

리턴(0);

}

if (Hour()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA < Slow_MA)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,Bid+StopLoss*Point,Bid-TakeProfit*Point,

"내 EA",magicNo_1st,0,Red);

if(티켓>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("판매 주문이 열렸습니다: ",OrderOpenPrice());

}

else Print("판매 주문 열기 오류: ",GetLastError());

리턴(0);

}

리턴(0);

}

if(total > 1) //타이밍에 따라 주문을 마감하기 위해... 아직 해결되지 않았습니다.

{

if (시()==7 && 분()==0 && 초()==0)

{

(int i=OrdersTotal()-1; i>=0; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (!UseCurrSymbol || OrderSymbol()==Symbol())

{

if (주문유형()==OP_BUY)

{

pBid=시장 정보(OrderSymbol(),MODE_BID);

OrderClose(OrderTicket(),OrderLots(),pBid,1,Blue);

}

if (주문 유형()==OP_SELL)

{

pAsk=시장정보(OrderSymbol(),MODE_ASK);

OrderClose(OrderTicket(),OrderLots(),pAsk,1,빨간색);

}

}

}

}

}

}

리턴(0);

}

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

 
tkuan77:
안녕하세요 mladen, 타이밍 및 컴파일에 따라 거래 마감에 대한 부분을 입력하려고 시도했지만 언급한 대로 경고를 표시하지만 코드를 실행할 때 지정한 타이밍에 거래를 마감하지 않습니다.

여기서 오류가 무엇인지 확실하지 않습니다. 여기에서 내가 잘못되었을 수 있는 부분을 알려주시기 바랍니다.

문안 인사

라이언

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

//| 외환 TSD - 외환 포럼 |

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

#property copyright "R Creation"

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

//---- 입력 매개변수

외부 이중 TakeProfit = 200.0;

extern 이중 랏 = 0.1;

외부 이중 손절매 = 200.0;

extern int PreferredHour_1st = 5;

extern int PreferredMinute_1st = 30;

int magicNo_1st = 530;

extern bool UseCurrSymbol = False; // 이것이 무엇을 위한 것인지 너무 확실하지 않음.....

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

//| 전문가 초기화 기능 |

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

정수 초기화()

{

//----

//----

리턴(0);

}

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

//| 전문가 초기화 해제 기능 |

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

정수 초기화()

{

//----

//----

리턴(0);

}

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

//| 전문가 시작 기능 |

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

날짜/시간 뉴바;

이중 pBid, pAsk;

정수 시작()

{

if(newbar==시간[0])반환(0);

else newbar=시간[0];

int 티켓, 합계;

if(막대<100)

{

Print("100개 미만의 막대");

리턴(0);

}

if(테이크프로핏<10)

{

Print("TakeProfit이 10 미만입니다.");

리턴(0); // TakeProfit 확인

}

이중 Fast_MA, Slow_MA;

Fast_MA = iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,0);

Slow_MA = iMA(NULL,0,30,0,MODE_EMA,PRICE_CLOSE,0);

총계 = OrdersTotal(); // 현재 열려 있는 총 거래 수 확인

if(총 < 1)

{

if (Hour()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA > Slow_MA)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,Ask-StopLoss*Point,Ask+TakeProfit*Point,

"내 EA",magicNo_1st,0,Green);

if(티켓>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("구매 주문이 열렸습니다: ",OrderOpenPrice());

}

else Print("구매 주문 열기 오류: ",GetLastError());

리턴(0);

}

if (Hour()==PreferredHour_1st && Minute()==PreferredMinute_1st && Seconds()==0 && Fast_MA < Slow_MA)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,Bid+StopLoss*Point,Bid-TakeProfit*Point,

"내 EA",magicNo_1st,0,Red);

if(티켓>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("판매 주문이 열렸습니다: ",OrderOpenPrice());

}

else Print("판매 주문 열기 오류: ",GetLastError());

리턴(0);

}

리턴(0);

}

if(total > 1) //타이밍에 따라 주문을 마감합니다... 아직 해결되지 않았습니다.

{

if (시()==7 && 분()==0 && 초()==0)

{

(int i=OrdersTotal()-1; i>=0; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (!UseCurrSymbol || OrderSymbol()==Symbol())

{

if (주문유형()==OP_BUY)

{

pBid=시장 정보(OrderSymbol(),MODE_BID);

OrderClose(OrderTicket(),OrderLots(),pBid,1,Blue);

}

if (주문 유형()==OP_SELL)

{

pAsk=시장정보(OrderSymbol(),MODE_ASK);

OrderClose(OrderTicket(),OrderLots(),pAsk,1,빨간색);

}

}

}

}

}

}

리턴(0);

}

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

이 부분

if(newbar==시간[0])반환(0);

else newbar=시간[0];

int 티켓, 합계;

if(막대<100)

{

Print("100개 미만의 막대");

리턴(0);

}

if(테이크프로핏<10)

{

Print("TakeProfit이 10 미만입니다.");

리턴(0); // TakeProfit 확인

}

새로운 바의 첫 번째 틱이 아니고 이익이 > 10핍이 아닌 경우 ea가 특정 시간에 주문을 마감하는 것을 방지하고 있습니다.