파이어버드 v63G - 페이지 30

 

지난 주 USDCHF 차트에서 볼 수 있듯이 Firebird는 범위 제한 시장에서 매우 좋은 성과를 거두고 있습니다. 시장이 트렌드가 되면서 Firebird는 종종 잘못된 결정을 내립니다. 따라서 이에 대한 솔루션은 매우 간단할 수 있습니다. 마커가 추세가 되자마자 밖으로 나와 범위 경계 시장이 회복되면 다시 돌아와야 합니다.

Phoenix에는 이러한 변경 사항을 처리하는 코드가 있습니다. 간단히 말해서 지난 24시간, 12시간, 6시간, 2시간의 고점을 취하며 시장이 추세가 되는 시점과 범위 경계 시장이 복원되는 시점을 결정할 수 있습니다.

파일:
 

수고하셨습니다. 헨드릭, 브레인스토밍이 성과를 거두고 있습니다. 피닉스를 출시할 때 앞으로 테스트할 수 있기를 기대합니다. 건배, 골든사이트

Hendrick:
여기에서 상황이 거칠어질 때 USDCHF에 대한 Phoenix와 Firebird 간의 행동 차이를 볼 수 있습니다.

Firebird는 3개의 BUYS를 배치했으며 모두 중단되었습니다.

피닉스는 적절한 순간을 기다리고 있으며 모두 TP에 도달한 3 SELLS를 작성했습니다.

멋진?
 
MarvinSk:
이제 더 가까이 다가가

나는 이것을 추가했다:

if ((Safe1!=1)&&(DealTime==2)) {

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

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

if (OrderSymbol()==Symbol()) {

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

pBid=MarketInfo(OrderSymbol(), MODE_BID);

OrderClose(OrderTicket(), OrderLots(), pBid, 슬립, clCloseBuy);

}

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

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

OrderClose(OrderTicket(), OrderLots(), pAsk, 슬립, clCloseSell);

}

}

}

}

}

백 테스트에서 OpenTrades를 닫는 것을 보았지만 Safe1 및 DealTime 변수가 일치할 때 플러스 이득이 있는 닫는 거래 때문에 STOPLOSS 조회 기능을 추가해야 합니다....

그래서 Stoploss는 세 번째 함정이어야합니다 ... 작동하면 다음 주에 전달할 것입니다 ...

다시 모든 사람들은 시장이 변동성이 생길 때 기존 공개 거래를 어느 정도 통제할 수 있다고 생각합니다... 거래가 중단될 경우 100%가 아니라 중간에서 중단합니다. 적어도 시장이 회복되면 만회할 것이 많지 않습니다...

감사해요

안녕 마빈

신호가 변경되는 즉시 공개 거래를 마감하는 것이 훨씬 더 쉬운 솔루션이 될 것입니다. 어떻게 생각하나요?

 
Hendrick:
안녕하세요 Marvin, 신호가 변경되는 즉시 공개 거래를 마감하는 것이 훨씬 쉬운 솔루션입니다. 어떻게 생각하나요?

Hey Hendrick... 신호라고 하면 Safe1과 Dealtime 값이 true가 되는 시점을 말하는 건가요?

지금 시장이 닫혀 있기 때문에 백 테스팅 에서 본 것이 그 경우라면 일부 Postive Trades도 닫혀 있다는 것입니다... 따라서 STOPLOSS 확인은 이를 제어하는 세 번째 변수입니다.

ELIHAYUN 이 제시한 코드가 있습니다.

헨드릭을 보세요...

void CloseOrder(int 티켓, double numLots, double close_price)

{

int CloseCnt, 오류;

// 닫기를 3회 시도합니다.

CloseCnt = 0;

동안 (CloseCnt < 3)

{

if (OrderClose(ticket,numLots,close_price,Slippage,Violet))

{

CloseCnt = 3;

}

또 다른

{

err=GetLastError();

Print(CloseCnt," 주문 종료 오류: (", err , ") " + ErrorDescription(err));

if (err > 0) CloseCnt++;

}

}

}

CloseHalfSL() 무효화

{

이중 LosePercent = 50.0; // S/L에서 50%

for(int i=OrdersTotal()-1;i>=0;i--) // 모든 주문과 위치를 스캔합니다...

{

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

if (OrderMagicNumber() != MagicNumber) 계속;

if ( OrderSymbol()==Symbol() )

if (OrderProfit() < 0) // 손실 거래가 있습니다.

{

이중 prc = 입찰가;

if (OrderType() == OP_SELL) prc = 묻다;

이중 ord_prc = OrderOpenPrice();

이중 ord_SL = OrderStopLoss();

int SL_points = MathAbs(ord_prc - ord_SL) / 포인트;

int Actual_Lose = MathAbs(prc - ord_prc) / 포인트;

if ( (Actual_Lose * 100 / SL_points) >= LosePercent) // 너무 많은 손실

{

CloseOrder(OrderTicket(), OrderLots(), prc);

}

}

}

}

/// ---- 거래하기에 안전하지 않은지 확인한 다음 CloseHalfSL을 호출합니다.

if (NotSafeToTrade) CloseHalfSL();

 
MarvinSk:
이제 더 가까이 다가가

나는 이것을 추가했다:

if ((Safe1!=1)&&(DealTime==2)) {

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

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

if (OrderSymbol()==Symbol()) {

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

pBid=MarketInfo(OrderSymbol(), MODE_BID);

OrderClose(OrderTicket(), OrderLots(), pBid, 슬립, clCloseBuy);

}

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

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

OrderClose(OrderTicket(), OrderLots(), pAsk, 슬립, clCloseSell);

}

}

}

}

}

백 테스트에서 OpenTrades를 닫는 것을 보았지만 Safe1 및 DealTime 변수가 일치할 때 플러스 이득이 있는 닫는 거래 때문에 STOPLOSS 조회 기능을 추가해야 합니다....

그래서 Stoploss는 세 번째 함정이어야합니다 ... 작동하면 다음 주에 전달할 것입니다 ...

다시 모든 사람들은 시장이 변동성이 생길 때 기존 공개 거래를 어느 정도 통제할 수 있다고 생각합니다... 거래가 중단될 경우 100%가 아니라 중간에서 중단합니다. 적어도 시장이 회복되면 만회할 것이 많지 않습니다...

감사해요

이것은 POSITIVE GAINS 주문을 미결 상태로 두는 방법일 수 있습니다. if(OrderType()" 줄에 "&& OrderProfit()<0"을 추가합니다.

if ((Safe1!=1)&&(DealTime==2)) {

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

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

if (OrderSymbol()==Symbol()) {

if (OrderType()==OP_BUY && OrderProfit()<0) {

pBid=MarketInfo(OrderSymbol(), MODE_BID);

OrderClose(OrderTicket(), OrderLots(), pBid, 슬립, clCloseBuy);

}

if (OrderType()==OP_SELL && OrderProfit()<0) {

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

OrderClose(OrderTicket(), OrderLots(), pAsk, 슬립, clCloseSell);

}

}

}

}

}

와케나

 
Wackena:
이것은 POSITIVE GAINS 주문을 미결 상태로 두는 방법일 수 있습니다. if(OrderType()" 줄에 "&& OrderProfit()<0"을 추가합니다.

if ((Safe1!=1)&&(DealTime==2)) {

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

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

if (OrderSymbol()==Symbol()) {

if (OrderType()==OP_BUY && OrderProfit()<0) {

pBid=MarketInfo(OrderSymbol(), MODE_BID);

OrderClose(OrderTicket(), OrderLots(), pBid, 슬립, clCloseBuy);

}

if (OrderType()==OP_SELL && OrderProfit()<0) {

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

OrderClose(OrderTicket(), OrderLots(), pAsk, 슬립, clCloseSell);

}

}

}

}

}

와케나

Wackena 감사합니다. 하지만 구문을 수정했습니다.

이중 pBid, pAsk;

if ((Safe1!=1)&&(DealTime==2)) {

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

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

if (OrderSymbol()==Symbol()) {

if ((주문유형()==OP_BUY)&&(주문수익()<0)){

pBid=MarketInfo(OrderSymbol(), MODE_BID);

OrderClose(OrderTicket(), OrderLots(), pBid, 슬립, clCloseBuy);

}

if ((OrderType()==OP_SELL)&&(OrderProfit()<0)) {

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

OrderClose(OrderTicket(), OrderLots(), pAsk, 슬립, clCloseSell);

}

}

}

}

}

 

좋아, 시장이 불안정할 때 기존 공개 거래를 처리하는 것과 관련하여 내가 추가한 사항으로 앞으로 테스트 중입니다...

내가 가진 유일한 예외는... TradingHour 대신 0 - 24

나는 이 패턴을 거래하고 있다:

0 - 7 동부 표준시

11 - 24 동부 표준시

나는 NY가 개장하는 동안 EA가 명시적으로 거래되지 않도록 하기 위해 이 일을 하고 있습니다... 8 -10 EST에서 많은 변동성을 보았습니다.

결과는 한 주가 진행되는 대로 게시하겠습니다... 이번 주에 노이즈 메이커 뉴스가 있습니다. 어떤 일이 일어나는지 봅시다

 

나는 "사자나라의 새 관찰"이라는 책을 막 읽었습니다. 나쁘지 않다. 마지막 장은 유용합니다. 또한 Firebird 및 Phoenix 뒤에 있는 아이디어와도 상당히 관련이 있습니다. 아이디어는 정확히 같지는 않지만 매우 유사하며, 쉽게 좋은 아이디어를 훔쳐서 이를 구현하여 Firebird를 멋진 EA로 만들 수 있습니다. Hendrick, Wackena 및 Firebird의 몇몇 다른 개발자들이 이 책을 읽는 데 관심이 있다면 저에게 알려주십시오.

 

Firebird를 테스트하고 싶습니다

안녕하세요 hendrik, .. Fire Bird의 최신 버전을 테스트하고 싶습니다(많은 버전의 firebird 때문에). 보여주실 수 있으신가요,....

개발된 파이어 버드를 위해 열심히 노력하고 있는 피닉스 ~ 여러분 모두 존경합니다. . .

감사해요

 

라이브 계정에는 문제가 없습니다.

MarvinSk:
누구나 InterbankFX에 라이브 계정이 있습니다.

이러한 오류가 발생합니다.

2006.06.26 20:10:59 : 주문 매수 1.00 USDCHFm 1.2407 sl: 1.2307 tp: 1.2417 실패 [공통 오류]

이것은 그들이 LIVE 계정에서 EA를 허용하지 않는다는 것을 의미합니까?

나는 IBFX에 라이브 계정을 가지고 있으며 지금까지는 문제가 없습니다...