에마 크로스! - 페이지 17

 
Audio:
VIVA 코더스 구루 !!!! ---안녕하세요, 당신은 어디에 있습니까, 내 친구가 이것을 볼 수 있습니다.

안녕 오디오 내 친구 ...

이 EA는 정말 환상적입니다... 감사합니다 SuperCodersGuru...

간단한 질문이 있습니다..

이 EA v2를 앞으로 테스트해 보았는데 이상한 점을 발견했습니다...

나는 다른 플랫폼에 4개의 다른 설정을 가지고 있지만 모두 같은 브로커(NorthFinance)에 있습니다. 어제는 하나의 포지션만 열려 있었고 정상이라고 생각했습니다.. 오늘도 같은 포지션이 열려 있고 이상하게 생각했습니다.. 플랫폼을 다시 시작합니다 그리고 새로운 포지션 오픈..

플랫폼을 다시 시작할 때까지 EA가 거래를 중단하는 이유는 무엇입니까?

고마워

파일:
emacross.htm  22 kb
 

일부 비고

여전히 이 EA를 사용하고 있습니다. 나는 대부분의 루저들이 추세에 반하는 거래를 하는 것을 보았습니다. 이 EA에서 추세를 따르는 거래만 하는 옵션을 만들 수 있습니까?

고수님 힘내세요!!

 

반전 옵션!

Hendrick:
여전히 이 EA를 사용하고 있습니다. 나는 대부분의 루저들이 추세에 반하는 거래를 하는 것을 보았습니다. 이 EA에서 추세를 따르는 거래만 하는 옵션을 만들 수 있습니까? 고수님 힘내세요!!

헨드릭,

이 옵션은 이미 포함되어 있습니다!

추세를 따르려면 반전 옵션을 false 로 설정하기만 하면 됩니다!

 

앗!

codersguru:
헨드릭,

이 옵션은 이미 포함되어 있습니다!

추세를 따르려면 반전 옵션을 false 로 설정하기만 하면 됩니다!

죄송합니다. 선생님 죄송합니다.

 
hellkas:
안녕 오디오 내 친구 ...

이 EA는 정말 환상적입니다... 감사합니다 SuperCodersGuru...

간단한 질문이 있습니다..

이 EA v2를 앞으로 테스트해 보았는데 이상한 점을 발견했습니다...

나는 다른 플랫폼에 4개의 다른 설정을 가지고 있지만 모두 같은 브로커(NorthFinance)에 있습니다. 어제는 하나의 포지션만 열려 있었고 정상이라고 생각했습니다.. 오늘도 같은 포지션이 열려 있고 이상하게 생각했습니다.. 플랫폼을 다시 시작합니다 그리고 새로운 포지션 오픈..

플랫폼을 다시 시작할 때까지 EA가 거래를 중단하는 이유는 무엇입니까?

고마워

안녕, 오랜만이야 어디 있었어? 나는 codersguru가 그것에 대해 대답할 수 있다고 생각합니다. 건배

 

안녕하세요 CodersGuru입니다.

EA에 대한 아이디어가 있습니다. TP, TS, SL은 빼서 최대한 심플하게 만들고 싶어요! 그래 알아, 미쳤어!

그런 다음 단순히 십자가 사이에서 MA를 교환하게 하십시오.

1, 업 크로스에서 한 바를 기다리고 길게 가십시오.

2, 다음 다운 크로스에서 거래를 마감합니다.

3, 다른 막대를 기다렸다가 MA가 여전히 내리면 단락을 엽니다.

설정해야 할 유일한 것은 로트 크기입니다.

MA가 다른 방향으로 다시 교차하는 즉시 공개 거래에서 거래를 즉시 닫습니다.

이것은 스프레드가 작은 케이블과 같은 추세 쌍에서 사용해야 합니다. 시장이 범위를 시작하면 더 큰 스프레드를 가진 쌍이 이익을 얻을 것이기 때문입니다.

미친 소리처럼 들릴 수도 있지만 외부 영향 없이 거래를 하기 위해 순전히 가격 행동에 의존할 것입니다. 사실상 시장 자체가 거래될 것입니다!

시간 프레임과 MA 설정을 가지고 노는 것은 흥미로울 것입니다.

지금까지 TP, SL 및 TS를 끄는 옵션을 넣었습니다.

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

//| EMA_CROSS.mq4 |

//| 코더 전문가 |

//| https://www.mql5.com/en/forum |

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

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

//| TODO: 자금 관리 루틴 추가 |

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

#property copyright "코더스 전문가"

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

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

외부 이중 TakeProfit=300;

외부 부울 UseTakeProfit = false;

외부 이중 로트=1;

외부 이중 TrailingStop=15;

extern 부울 UseTrailingStop = 거짓;

외부 이중 StopLoss=100;

extern 부울 UseStopLoss = 거짓;

외부 정수 ShortEma = 10;

외부 정수 LongEma = 80;

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

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

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

정수 초기화()

{

//----

//----

리턴(0);

}

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

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

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

정수 초기화()

{

//----

//----

리턴(0);

}

bool isNewSymbol(문자열 current_symbol)

{

// 열려 있는 모든 순서를 반복하고 기호를 비교합니다.

정수 합계 = OrdersTotal();

for(int cnt = 0 ; cnt < 전체 ; cnt++)

{

주문 선택(cnt, SELECT_BY_POS, MODE_TRADES);

Print( "OrderSymbol = " + OrderSymbol() + ": 기호 = " + current_symbol);

문자열 selected_symbol = OrderSymbol();

if (current_symbol == selected_symbol)

반환(거짓);

}

반환(참);

}

int 교차 (이중 line1 , double line2)

{

정적 int last_direction = 0;

정적 int 현재 방향 = 0;

//첫 번째 로드에서 작동하지 않고 첫 번째 크로스를 기다립니다!

정적 부울 first_time = true;

if(첫 번째 시간 == 참)

{

first_time = 거짓;

리턴(0);

}

if(line1>line2)current_direction = 1; //위로

if(줄1<줄2)현재방향 = 2; //아래에

if(current_direction != last_direction) //변경됨

{

마지막 방향 = 현재 방향;

반환(last_direction);

}

또 다른

{

리턴(0); //변경되지 않음

}

}

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

//| 전문가 시작 기능 |

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

정수 시작()

{

//----

int cnt, 티켓, 합계;

이중 SEma, LEma;

if(막대<100)

{

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

리턴(0);

}

if(테이크프로핏<10)

{

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

리턴(0); // TakeProfit 확인

}

SEma = iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,0);

LEma = iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,0);

정적 정수 isCrossed = 0;

isCrossed = 교차(LEma,SEma);

총계 = OrdersTotal();

if(총 < 1 || isNewSymbol(Symbol()))

{

if(isCrossed == 1 )

{

if(UseStopLoss)

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"EMA_CROSS",12345,0,Green);

또 다른

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"EMA_CROSS",12345,0,Green);

if(티켓>0)

{

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

}

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

리턴(0);

}

if(isCrossed == 2)

{

if(UseStopLoss)

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"EMA_CROSS",12345,0,Red);

또 다른

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"EMA_CROSS",12345,0,Red);

if(티켓>0)

{

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

}

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

리턴(0);

}

리턴(0);

}

for(cnt=0;cnt<전체;cnt++)

{

주문 선택(cnt, SELECT_BY_POS, MODE_TRADES);

//주문인쇄();

if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())

{

if(OrderType()==OP_BUY) // 롱 포지션 오픈

{

// 닫아야 하나?

/* REMOVED - 후행 정지만 닫기

if(isCrossed == 2)

{

OrderClose(OrderTicket(),OrderLots(), 입찰, 3, 보라색); // 닫기 위치

리턴(0); // 출구

}

*/

// 후행 정지 확인

if(TrailingStop>0)

{

if(Bid-OrderOpenPrice()>Point*TrailingStop)

{

if(OrderStopLoss()<Bid-Point*TrailingStop)

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);

리턴(0);

}

}

}

}

else // 숏 포지션으로 이동

{

// 닫아야 하나?

/* REMOVED - 후행 정지만 닫기

if(isCrossed == 1)

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,바이올렛); // 닫기 위치

리턴(0); // 출구

}

*/

// 후행 정지 확인

if(TrailingStop>0)

{

if((OrderOpenPrice()-Ask)>(Point*TrailingStop))

{

if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);

리턴(0);

}

}

}

}

}

}

리턴(0);

}

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

내가 확실하지 않은 유일한 것은 당신이 지금 거래를 마감하는 방법입니다. 당신이 TS를 비활성화했다는 말이 맞습니까?

내가 당신의 코드를 변경하는 것을 신경쓰지 않기를 바랍니다.

감사해요,

 

나는 그 아이디어가 나중에 막대를 열고 다음 교차에서 닫는 것에 대한 좋은 아이디어라고 생각합니다(후행 손절매를 사용하면 이익을 고정하는 데 도움이 될 수 있습니다). 특히 시장이 다시 추세를 시작하기 시작할 때 반대 추세로 가는 것이 반대 추세보다 훨씬 더 합리적입니다. 주요 쌍. 플랫/사이드웨이 시장에서 역추세 트레이더는 이해가 되지만 훨씬 더 위험하며 프로트렌드 트레이더와 즉시 거래하는 것과는 대조적으로 긍정적인 거래가 될 때까지 3개월(일일 차트)을 기다려야 할 수도 있습니다.

나는 MA_Cross가 +20 정도에서 손절매를 이익으로 옮기는 방식을 좋아하므로 일단 거래가 이익을 얻으면 더 이상 마진 노출이 필요하지 않습니다.

그레이엄

 

안녕하세요 그레이엄입니다.

예, 더 유행하는 쌍을 볼 때 아이디어가 나왔습니다. 대부분의 움직임에서 핍은 항상 만들어지며 길든 짧든 중요하지 않습니다.

나는 단순히 그것을 이용하고 싶습니다.

옵션은 단순히 이 줄의 상태를 false에서 true로 변경하여 Trailing Stop을 사용하는 것입니다.

"외부 부울 UseTrailingStop = false;"

하지만 저는 코딩의 절대 초보자이기 때문에 (CodersGuru에게 감사드립니다. ) 현재 프로그램이 거래를 어떻게 마감하는지 잘 모르겠습니다. 손절매를 찾고 있습니까? 아직 주문 마감에 대해 공부하고 있습니다.

그것은 확실히 추세와 거래해야 할 것입니다. 반대 추세는 매우 빨리 당신을 쓸어버릴 것이라고 생각합니다.

나는 또한 5, 15, 30분, 심지어 1시간과 같은 더 작은 TF에서 MA를 더 작게 만들어 더 작은 추세를 선택하는 방법에 대해 생각하고 있었습니다.

 

벌레!

hellkas:
안녕 오디오 내 친구 ...

이 EA는 정말 환상적입니다... 감사합니다 SuperCodersGuru...

간단한 질문이 있습니다..

이 EA v2를 앞으로 테스트해 보았는데 이상한 점을 발견했습니다...

나는 다른 플랫폼에 4개의 다른 설정을 가지고 있지만 모두 같은 브로커(NorthFinance)에 있습니다. 어제는 하나의 포지션만 열려 있었고 정상이라고 생각했습니다.. 오늘도 같은 포지션이 열려 있고 이상하게 생각했습니다.. 플랫폼을 다시 시작합니다 그리고 새로운 포지션 오픈..

플랫폼을 다시 시작할 때까지 EA가 거래를 중단하는 이유는 무엇입니까?

감사합니다

지옥,

귀하의 기여에 감사드립니다!

나는 그것을 확인 해야한다 월요일.