에마 크로스! - 페이지 4 1234567891011...86 새 코멘트 Ahmed Soliman 2006.02.06 18:29 #31 에마 크로스 버전? SpecII: 안녕, EMACross D1 TF의 내 포워드 테스트 건배 안녕하세요 SpecII입니다. 우리를 공유해 주셔서 대단히 감사합니다! 사용하신 EMA_CROSS의 버전은 무엇입니까? Ahmed Soliman 2006.02.06 18:59 #32 여러 쌍! SpecII: 안녕하세요 코더스구루 저는 SL 버전을 사용하지 않지만 여러 쌍의 코드를 수정하고 이중 로트에 대한 버그를 만들었습니다. 나중에 더블 로트에 대한 버그를 수정하겠습니다. 건배 다시 한 번 감사합니다 ! 여러 쌍에 대한 코드를 볼 수 있습니까? SpecII 2006.02.06 19:34 #33 codersguru: 다시 한 번 감사합니다 ! 여러 쌍에 대한 코드를 볼 수 있습니까? 안녕하세요, 코드를 게시하고 있습니다.맞나요? 감사해요 //+------------------------------------------------------------------+ //| EMA_CROSS.mq4 | //| Coders Guru | //| https://www.forex-tsd.com | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| TODO: Add Money Management routine | //+------------------------------------------------------------------+ #property copyright "Coders Guru" #property link "https://www.forex-tsd.com" //---- input parameters extern double TakeProfit=130; extern double Lots=1; extern double TrailingStop=20; extern int ShortEma = 10; extern int LongEma = 80; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } int Crossed (double line1 , double line2) { static int last_direction = 0; static int current_direction = 0; //Don't work in the first load, wait for the first cross! static bool first_time = true; if(first_time == true) { first_time = false; return (0); } if(line1>line2)current_direction = 1; //up if(line1<line2)current_direction = 2; //down if(current_direction != last_direction) //changed { last_direction = current_direction; return (last_direction); } else { return (0); //not changed } } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { int OrdersPerSymbol=0; //---- int cnt, ticket; double SEma, LEma; if(Bars<100) { Print("bars less than 100"); return(0); } if(TakeProfit<10) { Print("TakeProfit less than 10"); return(0); // check TakeProfit } OrdersPerSymbol=0; for(cnt=OrdersTotal();cnt>=0;cnt--) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol()==Symbol() ) { OrdersPerSymbol++; } } SEma = iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,0); LEma = iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,0); static int isCrossed = 0; isCrossed = Crossed (LEma,SEma); // total = OrdersTotal(); if(OrdersPerSymbol < 1) { if(isCrossed == 1) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"EMA_CROSS",12345,0,Green); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice()); } else Print("Error opening BUY order : ",GetLastError()); return(0); } if(isCrossed == 2) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"EMA_CROSS",12345,0,Red); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice()); } else Print("Error opening SELL order : ",GetLastError()); return(0); } return(0); } for(cnt=0;cnt<OrdersTotal();cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); //OrderPrint(); if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY) // long position is opened { // should it be closed? /* REMOVED - Trailling stop only close if(isCrossed == 2) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position return(0); // exit } */ // check for trailing stop if(TrailingStop>0) { if(Bid-OrderOpenPrice()>Point*TrailingStop) { if(OrderStopLoss()<Bid-Point*TrailingStop) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green); return(0); } } } } else // go to short position { // should it be closed? /* REMOVED - Trailling stop only close if(isCrossed == 1) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position return(0); // exit } */ // check for trailing stop if(TrailingStop>0) { if((OrderOpenPrice()-Ask)>(Point*TrailingStop)) { if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red); return(0); } } } } } } return(0); } //+------------------------------------------------------------------+ Ema Cross! Trailing stop in my Heeelp!!! Expert advisor works SpecII 2006.02.06 19:42 #34 codersguru: 안녕하세요 SpecII입니다. 우리를 공유해 주셔서 대단히 감사합니다! 사용하신 EMA_CROSS의 버전은 무엇입니까? 안녕하세요 코더스구루 저는 SL 버전을 사용하지 않지만 여러 쌍의 코드를 수정하고 이중 로트에 대한 버그를 만들었습니다. 나중에 이중 로트에 대한 버그를 수정하겠습니다. 건배 newoptionz 2006.02.06 21:48 #35 역 나에게 그것은 반전처럼 보인다. 코드는 긴 EMA가 짧은 EMA보다 클 때 구매하도록 설정됩니다. 긴 EMA가 짧은 EMA 아래로 이동할 때 매도합니다. 나는 그것이 성공적인 이유라고 생각합니다. 다른 곳에서는 정반대의 행동을 하도록 배웠기 때문입니다. 나는 또한 EA의 첫 번째 버전에서 여러 거래를 받고 있습니다. 여전히 두 번째 버전을 시도해야 합니다. 잘못된 기록 데이터 때문입니까? 오늘 밤에 테스트하겠습니다. 감사해요 newoptionz 2006.02.06 22:01 #36 그래서 따라서 Sema가 Lema 아래로 이동할 때 구매합니다. Sema가 Lema 위로 이동할 때 판매 아니면 내가 다시 혼란스러워? newoptionz 2006.02.07 12:12 #37 내가 ea를 붙일 때 차트에 ea를 첨부하면 ea 또는 me에 'X'(웃는 얼굴 없음)가 표시됩니다. 작동했습니다 - 플레이 전문가 버튼을 눌러야 했습니다. BrunoFX 2006.02.07 20:51 #38 여보세요, 저는 계정 데모로 이 EA를 테스트하고 싶습니다. 첫인상이 아주 좋습니다. 현재로서는 4개의 열린 다이어그램에도 불구하고 한 쌍만 엽니다. 그러나 거래가 열릴 때마다 긍정적인 방향으로 나아가고 있습니다. 어제부터 진술서를 첨부합니다. 파일: statement-ema-cross-daily-07.02.06.htm 6 kb statement-emacross.07.02.2006.htm 7 kb Kale 2006.02.07 20:53 #39 BrunoFX: 안녕하세요, 저는 계정 데모를 통해 이 EA를 테스트하고 싶습니다. 첫인상이 아주 좋습니다. 현재로서는 4개의 열린 다이어그램에도 불구하고 한 쌍만 엽니다. 그러나 거래가 열릴 때마다 긍정적인 방향으로 나아가고 있습니다. 어제부터 진술서를 첨부합니다. 이 EA를 매직넘버를 사용하도록 수정했습니다. 그것은 한 번에 여러 쌍에 대한 거래를 제공합니다. maigc 매개변수를 쌍마다 다르게 변경하십시오. 파일: ema_cross_2_1.mq4 6 kb BrunoFX 2006.02.07 21:03 #40 안녕하세요 칼렌조입니다. 이 수정을 주셔서 감사합니다. 항상 빠르고 효과적입니다. 응원합니다. 1234567891011...86 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
에마 크로스 버전?
안녕,
EMACross D1 TF의 내 포워드 테스트
건배안녕하세요 SpecII입니다.
우리를 공유해 주셔서 대단히 감사합니다!
사용하신 EMA_CROSS의 버전은 무엇입니까?
여러 쌍!
안녕하세요 코더스구루
저는 SL 버전을 사용하지 않지만 여러 쌍의 코드를 수정하고 이중 로트에 대한 버그를 만들었습니다.
나중에 더블 로트에 대한 버그를 수정하겠습니다.
건배다시 한 번 감사합니다
! 여러 쌍에 대한 코드를 볼 수 있습니까?
다시 한 번 감사합니다
안녕하세요, 코드를 게시하고 있습니다.맞나요?
감사해요
//| EMA_CROSS.mq4 |
//| Coders Guru |
//| https://www.forex-tsd.com |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| TODO: Add Money Management routine |
//+------------------------------------------------------------------+
#property copyright "Coders Guru"
#property link "https://www.forex-tsd.com"
//---- input parameters
extern double TakeProfit=130;
extern double Lots=1;
extern double TrailingStop=20;
extern int ShortEma = 10;
extern int LongEma = 80;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
int Crossed (double line1 , double line2)
{
static int last_direction = 0;
static int current_direction = 0;
//Don't work in the first load, wait for the first cross!
static bool first_time = true;
if(first_time == true)
{
first_time = false;
return (0);
}
if(line1>line2)current_direction = 1; //up
if(line1<line2)current_direction = 2; //down
if(current_direction != last_direction) //changed
{
last_direction = current_direction;
return (last_direction);
}
else
{
return (0); //not changed
}
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int OrdersPerSymbol=0;
//----
int cnt, ticket;
double SEma, LEma;
if(Bars<100)
{
Print("bars less than 100");
return(0);
}
if(TakeProfit<10)
{
Print("TakeProfit less than 10");
return(0); // check TakeProfit
}
OrdersPerSymbol=0;
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol() )
{
OrdersPerSymbol++;
}
}
SEma = iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,0);
LEma = iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,0);
static int isCrossed = 0;
isCrossed = Crossed (LEma,SEma);
// total = OrdersTotal();
if(OrdersPerSymbol < 1)
{
if(isCrossed == 1)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"EMA_CROSS",12345,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}
if(isCrossed == 2)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"EMA_CROSS",12345,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
return(0);
}
return(0);
}
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
//OrderPrint();
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY) // long position is opened
{
// should it be closed?
/* REMOVED - Trailling stop only close
if(isCrossed == 2)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
return(0); // exit
}
*/
// check for trailing stop
if(TrailingStop>0){
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
}
else // go to short position
{
// should it be closed?
/* REMOVED - Trailling stop only close
if(isCrossed == 1)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
return(0); // exit
}
*/
// check for trailing stop
if(TrailingStop>0){
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
}
return(0);
}
//+------------------------------------------------------------------+안녕하세요 SpecII입니다.
우리를 공유해 주셔서 대단히 감사합니다!
사용하신 EMA_CROSS의 버전은 무엇입니까?안녕하세요 코더스구루
저는 SL 버전을 사용하지 않지만 여러 쌍의 코드를 수정하고 이중 로트에 대한 버그를 만들었습니다.
나중에 이중 로트에 대한 버그를 수정하겠습니다.
건배
역
나에게 그것은 반전처럼 보인다.
코드는 긴 EMA가 짧은 EMA보다 클 때 구매하도록 설정됩니다.
긴 EMA가 짧은 EMA 아래로 이동할 때 매도합니다.
나는 그것이 성공적인 이유라고 생각합니다. 다른 곳에서는 정반대의 행동을 하도록 배웠기 때문입니다.
나는 또한 EA의 첫 번째 버전에서 여러 거래를 받고 있습니다. 여전히 두 번째 버전을 시도해야 합니다. 잘못된 기록 데이터 때문입니까?
오늘 밤에 테스트하겠습니다.
감사해요
그래서
따라서 Sema가 Lema 아래로 이동할 때 구매합니다.
Sema가 Lema 위로 이동할 때 판매
아니면 내가 다시 혼란스러워?
내가 ea를 붙일 때
차트에 ea를 첨부하면 ea 또는 me에 'X'(웃는 얼굴 없음)가 표시됩니다.
작동했습니다 - 플레이 전문가 버튼을 눌러야 했습니다.
여보세요,
저는 계정 데모로 이 EA를 테스트하고 싶습니다. 첫인상이 아주 좋습니다. 현재로서는 4개의 열린 다이어그램에도 불구하고 한 쌍만 엽니다. 그러나 거래가 열릴 때마다 긍정적인 방향으로 나아가고 있습니다. 어제부터 진술서를 첨부합니다.
안녕하세요, 저는 계정 데모를 통해 이 EA를 테스트하고 싶습니다. 첫인상이 아주 좋습니다. 현재로서는 4개의 열린 다이어그램에도 불구하고 한 쌍만 엽니다. 그러나 거래가 열릴 때마다 긍정적인 방향으로 나아가고 있습니다. 어제부터 진술서를 첨부합니다.
이 EA를 매직넘버를 사용하도록 수정했습니다. 그것은 한 번에 여러 쌍에 대한 거래를 제공합니다. maigc 매개변수를 쌍마다 다르게 변경하십시오.
안녕하세요 칼렌조입니다.
이 수정을 주셔서 감사합니다. 항상 빠르고 효과적입니다. 응원합니다.