코딩 도움말 - 페이지 18

 

EA 도움말에서 오류가 발생했습니다.

1 거래만 받기

icustom ARROW에서 생성되는 모든 거래가 필요합니다.

하지만

외부 문자열 Symbol_1 = "EURUSD";

정수 마법 = 9503;

리턴(0);

정수 초기화()

{

리턴(0);

}

날짜/시간 뉴바;

정수 시작()

{

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

else newbar=시간[0];

이중 ArrowUp = iCustom(NULL,0,"NBO-System_v1",2,1,10000,2,1);

이중 ArrowDown = iCustom(NULL,0,"NBO-System_v1",2,1,10000,3,1);//PERIOD_M5

if (ArrowDown >0 && ArrowDown!=2147483647 && OrdersTotal()==0)//!= EMPTY_VALUE )

{

OrderSend(Symbol_1,OP_BUY,0.1, MarketInfo(Symbol_1,MODE_ASK), 2, NULL, NULL, "RapidFire", 매직, NULL, FireBrick);

}

if (ArrowUp >0 && ArrowUp!=2147483647 && OrdersTotal()==0)

{

OrderSend(Symbol_1,OP_SELL,0.1, MarketInfo(Symbol_1,MODE_BID), 2, NULL, NULL, "RapidFire", 매직, NULL, LimeGreen);

}

리턴(0);

}

파일:
ea.png  22 kb
 

예쁘다! ....FX 포럼의 시 lol

 
귀하의 EA에서 이 조건

OrdersTotal()==0

은(는) 한 번에 2개 이상의 주문을 여는 것을 방지하고 있습니다. 1개 이상을 열려면 해당 조건을 제거하지만 동일한 바에서 여러 주문을 여는 것을 방지하기 위해 코드를 추가해야 합니다(그렇지 않으면 수천 개의 열린 주문으로 끝납니다). 다음과 같은 기능 을 사용할 수 있습니다.

int countOpenedOnACurrentBar()

{

int openedAtBar = 0;

datetime startTime = Time[0];

datetime endTime = Time[0]+Period()*60;

for(int i=0; i < OrdersTotal(); i++)

{

if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) break;

if(OrderMagicNumber() != MagicNumber) continue;

if(OrderSymbol() != Symbol()) continue;

if(OrderOpenTime()=endTime) continue;

openedAtBar++;

break;

}

return(openedAtBar);

}

[/PHP]

그러면 전체 상태(구매용)는 다음과 같습니다.

[PHP]if (ArrowDown >0 && ArrowDown!=2147483647 && countOpenedOnACurrentBar()==0)

동일한 바에서 여러 주문을 여는 것을 방지합니다(이 코드는 현재 바에서 이미 열린 주문 유형을 확인하지 않습니다. 그것도 확인하려면 몇 가지 조건을 더 추가해야 합니다.

vegadigitalco:
1 거래만 받기

icustom ARROW에서 생성되는 모든 거래가 필요합니다.

하지만

외부 문자열 Symbol_1 = "EURUSD";

정수 마법 = 9503;

리턴(0);

정수 초기화()

{

리턴(0);

}

날짜/시간 뉴바;

정수 시작()

{

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

else newbar=시간[0];

이중 ArrowUp = iCustom(NULL,0,"NBO-System_v1",2,1,10000,2,1);

이중 ArrowDown = iCustom(NULL,0,"NBO-System_v1",2,1,10000,3,1);//PERIOD_M5

if (ArrowDown >0 && ArrowDown!=2147483647 && OrdersTotal()==0)//!= EMPTY_VALUE )

{

OrderSend(Symbol_1,OP_BUY,0.1, MarketInfo(Symbol_1,MODE_ASK), 2, NULL, NULL, "RapidFire", 매직, NULL, FireBrick);

}

if (ArrowUp >0 && ArrowUp!=2147483647 && OrdersTotal()==0)

{

OrderSend(Symbol_1,OP_SELL,0.1, MarketInfo(Symbol_1,MODE_BID), 2, NULL, NULL, "RapidFire", 매직, NULL, LimeGreen);

}

리턴(0);

}
 

HELPPPPPPPPPPPP에 대한 매우 매우 ThanX

HELPPPPPPPPPPPP에 대한 매우 매우 ThanX

HELPPPPPPPPPPPP에 대한 매우 매우 ThanX

HELPPPPPPPPPPPP에 대한 매우 매우 ThanX

HELPPPPPPPPPPPP에 대한 매우 매우 ThanX

mladen:
귀하의 EA에서 이 조건

OrdersTotal()==0

은(는) 한 번에 2개 이상의 주문을 여는 것을 방지하고 있습니다. 1개 이상을 열려면 해당 조건을 제거하지만 동일한 바에서 여러 주문을 여는 것을 방지하기 위해 코드를 추가해야 합니다(그렇지 않으면 수십억 개의 열린 주문으로 끝납니다). 다음과 같은 기능을 사용할 수 있습니다.
int countOpenedOnACurrentBar()

{

int openedAtBar = 0;

datetime startTime = Time[0];

datetime endTime = Time[0]+Period()*60;

for(int i=0; i < OrdersTotal(); i++)

{

if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) break;

if(OrderMagicNumber() != MagicNumber) continue;

if(OrderSymbol() != Symbol()) continue;

if(OrderOpenTime()=endTime) continue;

openedAtBar++;

break;

}

return(openedAtBar);

}

[/PHP]

그러면 전체 상태(구매용)는 다음과 같을 것입니다.

[PHP]if (ArrowDown >0 && ArrowDown!=2147483647 && countOpenedOnACurrentBar()==0)
동일한 바에서 여러 주문을 여는 것을 방지합니다(이 코드는 현재 바에서 이미 열린 주문 유형을 확인 하지 않습니다. 그것도 확인하려면 몇 가지 조건을 더 추가해야 합니다.
파일:
 

잔액은 백 테스트, 라이브 데모 테스트 또는 실제 화폐 거래 잔액입니다.

EA는 반자동 항목이 충분히 훌륭하고 훌륭하기 때문에 내 마음을 결코 생각하지 않습니다(반자동 입력과 같이 주문할 때 컴퓨터가 항목을 무효화 할 수 있음).

하지만 틱-이지(ticks-ease)는 비디오 게임의 불링(fire ring)과 같습니다. 링에는 한 번에 몇 개의 지점만 있습니다. 여러분이 스스로를 집어넣을 수 있고 다른 지점은 여러분을 아주 쉽게 태워버릴 것입니다 --- 이것은 시장이 아닙니다. 하지만 지난 5~10개월 동안 상황이 나아지고 있습니다.

위의 EA에서 해당 코드를 읽고 싶지만 해당 코딩은 내 이해 한계를 벗어납니다.

 

위의 코드화된 거래에 대한 경고가 필요합니다.

안녕하세요 mladen님

저를 위한 당신의 유일한 지원을 위한 감사합니다

1more, 내가 제안한 위의 코드에서 생성된 구매 또는 판매에 경고 코드를 추가 하는 방법은 무엇입니까?

라이브 시장에서는 매수 또는 매도를 마감하지 않고 새로운 거래를 생성할 뿐입니다.

사전에 ThanX

 

...

다음과 같이 시도하십시오(이것은 구매 전용 예시입니다)
if (ArrowDown >0 && ArrowDown!=2147483647 &&countOpenedOnACurrentBar()==0)

{

OrderSend(Symbol_1,OP_BUY,0.1, MarketInfo(Symbol_1,MODE_ASK), 2, NULL, NULL, "RapidFire", magic, NULL, FireBrick);

if (!IsTesting()) Alert(Symbol_1+" BUY ordere opened at "+TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS));

}

vegadigitalco:
안녕하세요 mladen님

저를 위한 당신의 유일한 지원을 위한 감사합니다

1more, 내가 제안한 위의 코드에서 생성된 구매 또는 판매에 경고 코드를 추가하는 방법은 무엇입니까?

라이브 시장에서는 매수 또는 매도를 마감하지 않고 새로운 거래를 생성할 뿐입니다.

사전에 ThanX
 

여기서 EA를 공유하시겠습니까?저는 EA가 거래를 처리하는 방식을 정말 좋아합니다.

 

안녕하세요, mladen님,

큰 도움을 주셔서 다시 ThanX:)

1문제만 남음

라이브 시장에서는 이전 매수 또는 매도 포지션을 닫지 않고 새로운 거래를 생성할 뿐입니다. ???

ADV의 ThanX

mladen:
다음과 같이 시도하십시오(이것은 구매 전용 예시입니다)
if (ArrowDown >0 && ArrowDown!=2147483647 &&countOpenedOnACurrentBar()==0)

{

OrderSend(Symbol_1,OP_BUY,0.1, MarketInfo(Symbol_1,MODE_ASK), 2, NULL, NULL, "RapidFire", magic, NULL, FireBrick);

if (!IsTesting()) Alert(Symbol_1+" BUY ordere opened at "+TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS));

}

 

...

베가디지털코

이를 위해 EA에 닫기 논리를 추가해야 합니다. 이익 실현 및 손절매를 사용하거나 이에 대한 일부 종료 규칙에 따라 명시적 OrderClose()를 사용하십시오.

vegadigitalco:
안녕하세요, mladen님,

ur 큰 도움을 위해 다시 ThanX:)

1문제만 남음

라이브 시장에서는 이전 매수 또는 매도 포지션을 닫지 않고 새로운 거래를 생성할 뿐입니다. ???

ADV의 ThanX