코딩하는 방법? - 페이지 106 1...99100101102103104105106107108109110111112113...347 새 코멘트 luxinterior 2008.06.30 03:28 #1051 그것은 가격을 위해 작동합니다. 그는 idicator의 최고와 최저를 찾고 싶어합니다. 럭스 Erman Ardianto 2008.06.30 04:05 #1052 여보세요, 당신은 이것을 시도할 수 있습니다: .... int highest=0, lowest=0, bar=WindowBarsPerChart(); for(int shift=0;shift<bar;shift++) { double indie=iCustom(.........,shift); if(highest<indie) highest=indie; if(lowest==0) lowest=indie; if(lowest>indie) lowest=indie; } ..... 참고: 이 코드는 현재 열린 양초도 계산합니다. 닫힌 양초만 계산하려면 shift=1을 사용하세요. 도움이 되었기를 바랍니다, 아디 IN10TION 2008.06.30 07:31 #1053 :: iBarShift는 해당 날짜/시간에 시작하는 막대 또는 해당 날짜의 종료 막대를 찾습니다:시간...(최고/저가를 찾기 위해 시작하려는 시간대 또는 차트에 따라 다름). int iBarShift(문자열 기호, int timeframe, datetime 시간, bool exact=false) 다음... :: iHighest 및 iLowest의 결과를 찾기 위해 해당 막대 위치를 사용합니다. int iHighest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0) int iLowest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0) :: 결과 및 완료 , 여기에 루프를 사용하지 마십시오! 묻다! Ask! [ARCHIVE!] Any rookie question, Erman Ardianto 2008.06.30 11:40 #1054 다시 그리기 표시기를 프로그래밍 방식으로 새로 고칩니다. 여보세요, x분마다 다시 그리기 표시기를 새로 고치는 방법을 찾고 있습니다. 현재 새로 고칠 수 있는 유일한 방법은 차트의 지표를 클릭한 다음 "확인"을 클릭하는 것입니다. MQL4 코드로 자동화할 수 있습니까? 나는 codersguru의 사이트에서 무언가를 찾았습니다. 프로그래밍 방식으로 차트 새로 고침 | www.metatrader.info , 하지만 그것은 나를 위해 작동하지 않는 것 같습니다. 아니면 시도해보고 다른 결과를 얻은 사람이 있습니까(작업 중)? 고맙습니다 IngvarDagmar 2008.07.01 21:28 #1055 내 영어에 대해 죄송합니다. 카운트 횟수를 원합니다. 조건이 막대당 한 번만 참입니다. 컴퓨터는 막대당 여러 번 추가됩니다. 내가 뭘 잘못했어? luxinterior 2008.07.01 22:25 #1056 IngvarDagmar: 내 영어에 대해 죄송합니다. 카운트 횟수를 원합니다. 조건이 막대당 한 번만 참입니다. 컴퓨터는 막대당 여러 번 추가됩니다. 내가 뭘 잘못했어? 다음과 같은 기능 을 사용하십시오 ... bool NewBar() { static datetime LastTime = 0; if (Time[0] != LastTime) { LastTime = Time[0]; return (true); } else return (false); } [/php] Then put an if statement round your main code, like... [php] if(NewBar() == true){ // do the main processing here } 도움이 되기를 바랍니다. 럭스 How to code? MQL4 Learning OnBarChange TheRumpledOne 2008.07.01 22:55 #1057 잘했어, 럭스. 나는 이것을 찾았다: 각 막대를 한 번만 처리하십시오. Automated 2008.01.15 18:54 새 막대의 첫 번째 눈금에서 코드를 실행할 수 있습니다(즉, 이전 막대가 닫힌 직후). 다음은 새 막대가 생성된 경우 TRUE를 반환하는 함수입니다. // 이 함수는 막대의 맨 처음 틱에서 TRUE를 반환합니다. 즉, 이전 막대가 막 닫힌 후입니다. bool NewBar() { if(이전BarTime<시간[0]) { PreviousBarTime = 시간[0]; 반환(참); } 반환(거짓); // if - else 문이 실행되지 않은 경우 } EA 시작 부분에 datetime PreviousBarTime을 선언해야 합니다... 그런 다음 코드에서 사용할 수 있습니다. if ( NewBar() ) { ...... 여기에서 막대가 닫힌 후 실행해야 하는 코드 .... } 감사합니다 자동화된fx@gmail.com -------------------------------------------------- - 나는 당신이 STATIC을 사용하는 것을 알아차렸습니다... 찾아보니... STATIC과 전역 변수를 사용하는 것의 장점은 무엇입니까? How to code? 매우 간단한 EA를 만드는 코딩 도움말..경보 대신 필터링할 mich21 2008.07.02 23:13 #1058 다중 항목 ea 도와주세요. 다음 입력 매개변수를 사용하여 ea를 만드는 데 도움이 필요하거나 찾거나 싶습니다. 각각 번호가 없는 4개의 개별 거래 항목 . 제비, 손절매, 후행 정지, 손익분기점 및 이익 목표. 전문가 고문 버튼을 클릭하면 거래가 열립니다. 감사합니다 [삭제] 2008.07.03 10:52 #1059 후행 중지 옵션에 대한 도움이 필요합니다. MQL4 포럼에서 이 EA를 찾았습니다. 꽤 흥미로운 EA입니다. 누군가 내가 설정한 적중 이익 값 후에만 활성화되는 후행 중지를 설정할 수 있는 후행 중지 옵션을 추가하는 데 도움을 줄 수 있습니까? 마스터마인드2.mq4 파일: themastermind2.mq4 33 kb [삭제] 2008.07.03 14:09 #1060 안녕하세요 여러분.. 내가 쓴 EA에 문제가 있습니다. 실제로 MACD 표시기를 기반으로 한 EA .. MACD가 'n'자 모양이 되면 매도를 열고 MACD가 'u'자 모양이 되면 EA가 열립니다. 구입하다.. 문제는 EA가 게시물을 열지 않았다는 것입니다. 백테스트 를 수행한 후에도 이 EA에서 게시한 게시물이 없습니다. 누군가 코드에 문제가 있는 것을 찾도록 도와줄 수 있습니까? 여기 코드입니다.. extern double TakeProfit = 20; extern double Lots = 0.1; extern double StopLoss = 20; extern double MagicNumber = 17384; extern int FastEMA=12; extern int SlowEMA=26; extern int SignalSMA=9; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ double MacdBuffer1[]; double MacdBuffer2[]; double MacdBuffer3[]; double MacdBuffer4[]; double MacdBuffer5[]; double MacdBuffer6[]; double MacdBuffer7[]; double MacdBuffer8[]; int init() { //---- //SetIndexBuffer(0, lag1_buffer); //SetIndexBuffer(1, lag2_buffer); //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { int limit; int counted_bars=IndicatorCounted(); //---- last counted bar will be recounted if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; //---- macd counted in the 1-st buffer for(int i=0; i<limit; i++) MacdBuffer1=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i); MacdBuffer2=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i-1)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i-1); MacdBuffer3=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i+1)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i+1); MacdBuffer4=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i-2)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i-2); MacdBuffer5=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i+2)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i+2); MacdBuffer6=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i-3)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i-3); MacdBuffer7=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i+3)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i+3); /*Alert( "MacdBuffer7 =",MacdBuffer7); Alert( "MacdBuffer5 =",MacdBuffer5); Alert( "MacdBuffer3 =",MacdBuffer3); Alert( "MacdBuffer1 =",MacdBuffer1); Alert( "MacdBuffer2 =",MacdBuffer2); Alert( "MacdBuffer4 =",MacdBuffer4); Alert( "MacdBuffer6 =",MacdBuffer6);*/ //---- int ticket_buy, ticket_sell, total; total=OrdersTotal(); //MACD become 'u' shape if (MacdBuffer7>MacdBuffer5&&MacdBuffer5>MacdBuffer3&&MacdBuffer3>MacdBuffer1 &&MacdBuffer1<MacdBuffer2&&MacdBuffer2<MacdBuffer4&&MacdBuffer4<MacdBuffer6) { if (total < 1) { ticket_buy=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"scalp 1 min - buy",MagicNumber,0,Green); if(ticket_buy>0) { if(OrderSelect(ticket_buy,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice()); } else Print("Error opening BUY order : ",GetLastError()); return(0); } else { } } //MACD become 'n' shape if(MacdBuffer7<MacdBuffer5&&MacdBuffer5<MacdBuffer3&&MacdBuffer3<MacdBuffer1 &&MacdBuffer1>MacdBuffer2&&MacdBuffer2>MacdBuffer4&&MacdBuffer4>MacdBuffer6) { if (total < 1) { ticket_sell=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"scalp 1 min - sell",MagicNumber,0,Red); if(ticket_sell>0) { if(OrderSelect(ticket_sell,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice()); } else Print("Error opening SELL order : ",GetLastError()); return(0); } else { } } //---- return(0); } //+------------------------------------------------------------------+ 누군가가 문제를 해결하는 데 도움이되기를 바랍니다. 나는 프로그래밍 코드에 능숙하지 않습니다. 감사합니다. How to code? Trailing stop in my My robot can't execute 1...99100101102103104105106107108109110111112113...347 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
그것은 가격을 위해 작동합니다. 그는 idicator의 최고와 최저를 찾고 싶어합니다.
럭스
여보세요,
당신은 이것을 시도할 수 있습니다:
....
int highest=0, lowest=0, bar=WindowBarsPerChart();
for(int shift=0;shift<bar;shift++)
{
double indie=iCustom(.........,shift);
if(highest<indie) highest=indie;
if(lowest==0) lowest=indie;
if(lowest>indie) lowest=indie;
}
.....
참고: 이 코드는 현재 열린 양초도 계산합니다. 닫힌 양초만 계산하려면 shift=1을 사용하세요.
도움이 되었기를 바랍니다,
아디
다시 그리기 표시기를 프로그래밍 방식으로 새로 고칩니다.
여보세요,
x분마다 다시 그리기 표시기를 새로 고치는 방법을 찾고 있습니다.
현재 새로 고칠 수 있는 유일한 방법은 차트의 지표를 클릭한 다음 "확인"을 클릭하는 것입니다. MQL4 코드로 자동화할 수 있습니까?
나는 codersguru의 사이트에서 무언가를 찾았습니다. 프로그래밍 방식으로 차트 새로 고침 | www.metatrader.info , 하지만 그것은 나를 위해 작동하지 않는 것 같습니다. 아니면 시도해보고 다른 결과를 얻은 사람이 있습니까(작업 중)?
고맙습니다
내 영어에 대해 죄송합니다.
카운트 횟수를 원합니다. 조건이 막대당 한 번만 참입니다. 컴퓨터는 막대당 여러 번 추가됩니다. 내가 뭘 잘못했어?
내 영어에 대해 죄송합니다. 카운트 횟수를 원합니다. 조건이 막대당 한 번만 참입니다. 컴퓨터는 막대당 여러 번 추가됩니다. 내가 뭘 잘못했어?
다음과 같은 기능 을 사용하십시오 ...
bool NewBar() {
static datetime LastTime = 0;
if (Time[0] != LastTime) {
LastTime = Time[0];
return (true);
} else
return (false);
}
[/php]
Then put an if statement round your main code, like...
[php]
if(NewBar() == true){
// do the main processing here
}
도움이 되기를 바랍니다.
럭스
잘했어, 럭스.
나는 이것을 찾았다:
각 막대를 한 번만 처리하십시오.
Automated 2008.01.15 18:54 새 막대의 첫 번째 눈금에서 코드를 실행할 수 있습니다(즉, 이전 막대가 닫힌 직후).
다음은 새 막대가 생성된 경우 TRUE를 반환하는 함수입니다.
// 이 함수는 막대의 맨 처음 틱에서 TRUE를 반환합니다. 즉, 이전 막대가 막 닫힌 후입니다.
bool NewBar()
{
if(이전BarTime<시간[0])
{
PreviousBarTime = 시간[0];
반환(참);
}
반환(거짓); // if - else 문이 실행되지 않은 경우
} EA 시작 부분에 datetime PreviousBarTime을 선언해야 합니다...
그런 다음 코드에서 사용할 수 있습니다.
if ( NewBar() )
{
...... 여기에서 막대가 닫힌 후 실행해야 하는 코드 ....
} 감사합니다
자동화된fx@gmail.com
-------------------------------------------------- -
나는 당신이 STATIC을 사용하는 것을 알아차렸습니다... 찾아보니... STATIC과 전역 변수를 사용하는 것의 장점은 무엇입니까?
다중 항목 ea
도와주세요. 다음 입력 매개변수를 사용하여 ea를 만드는 데 도움이 필요하거나 찾거나 싶습니다. 각각 번호가 없는 4개의 개별 거래 항목 . 제비, 손절매, 후행 정지, 손익분기점 및 이익 목표. 전문가 고문 버튼을 클릭하면 거래가 열립니다.
감사합니다
후행 중지 옵션에 대한 도움이 필요합니다.
MQL4 포럼에서 이 EA를 찾았습니다. 꽤 흥미로운 EA입니다.
누군가 내가 설정한 적중 이익 값 후에만 활성화되는 후행 중지를 설정할 수 있는 후행 중지 옵션을 추가하는 데 도움을 줄 수 있습니까?
마스터마인드2.mq4
안녕하세요 여러분..
내가 쓴 EA에 문제가 있습니다. 실제로 MACD 표시기를 기반으로 한 EA .. MACD가 'n'자 모양이 되면 매도를 열고 MACD가 'u'자 모양이 되면 EA가 열립니다. 구입하다..
문제는 EA가 게시물을 열지 않았다는 것입니다. 백테스트 를 수행한 후에도 이 EA에서 게시한 게시물이 없습니다. 누군가 코드에 문제가 있는 것을 찾도록 도와줄 수 있습니까?
여기 코드입니다..
extern double TakeProfit = 20;
extern double Lots = 0.1;
extern double StopLoss = 20;
extern double MagicNumber = 17384;
extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
double MacdBuffer1[];
double MacdBuffer2[];
double MacdBuffer3[];
double MacdBuffer4[];
double MacdBuffer5[];
double MacdBuffer6[];
double MacdBuffer7[];
double MacdBuffer8[];
int init()
{
//----
//SetIndexBuffer(0, lag1_buffer);
//SetIndexBuffer(1, lag2_buffer);
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- macd counted in the 1-st buffer
for(int i=0; i<limit; i++)
MacdBuffer1=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
MacdBuffer2=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i-1)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i-1);
MacdBuffer3=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i+1)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i+1);
MacdBuffer4=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i-2)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i-2);
MacdBuffer5=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i+2)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i+2);
MacdBuffer6=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i-3)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i-3);
MacdBuffer7=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i+3)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i+3);
/*Alert( "MacdBuffer7 =",MacdBuffer7);
Alert( "MacdBuffer5 =",MacdBuffer5);
Alert( "MacdBuffer3 =",MacdBuffer3);
Alert( "MacdBuffer1 =",MacdBuffer1);
Alert( "MacdBuffer2 =",MacdBuffer2);
Alert( "MacdBuffer4 =",MacdBuffer4);
Alert( "MacdBuffer6 =",MacdBuffer6);*/
//----
int ticket_buy, ticket_sell, total;
total=OrdersTotal();
//MACD become 'u' shape
if (MacdBuffer7>MacdBuffer5&&MacdBuffer5>MacdBuffer3&&MacdBuffer3>MacdBuffer1
&&MacdBuffer1<MacdBuffer2&&MacdBuffer2<MacdBuffer4&&MacdBuffer4<MacdBuffer6)
{
if (total < 1) {
ticket_buy=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"scalp 1 min - buy",MagicNumber,0,Green);
if(ticket_buy>0)
{
if(OrderSelect(ticket_buy,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
} else {
}
}
//MACD become 'n' shape
if(MacdBuffer7<MacdBuffer5&&MacdBuffer5<MacdBuffer3&&MacdBuffer3<MacdBuffer1
&&MacdBuffer1>MacdBuffer2&&MacdBuffer2>MacdBuffer4&&MacdBuffer4>MacdBuffer6)
{
if (total < 1) {
ticket_sell=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"scalp 1 min - sell",MagicNumber,0,Red);
if(ticket_sell>0)
{
if(OrderSelect(ticket_sell,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
return(0);
} else {
}
}
//----
return(0);
}
//+------------------------------------------------------------------+누군가가 문제를 해결하는 데 도움이되기를 바랍니다. 나는 프로그래밍 코드에 능숙하지 않습니다. 감사합니다.