이중 MOM = iCustom(NULL,0,"Momentum-ZL",MOMPeriod,0,shift);
이중 SRL = iCustom(NULL,0,"MT4-LevelStop-Reverse-vBO-4",UseATRMode,NonATRStopPips,ATRPeriod,ATRMultiplier,ATRSmoothing,UpArrowColor,DnArrowColor,ArrowDistance,233);
이중 SRS = iCustom(NULL,0,"MT4-LevelStop-Reverse-vBO-4",UseATRMode,NonATRStopPips,ATRPeriod,ATRMultiplier,ATRSmoothing,UpArrowColor,DnArrowColor,ArrowDistance,234);
이중 QQE_RsiMa = iCustom(NULL,0,"QQE",0,shift);
이중 QQE_TrLevelSlow = iCustom(NULL,0,"QQE", 1, 시프트);
이중 QQE_RsiMaPrev = iCustom(NULL,0,"QQE",0,shift + 1);
이중 QQE_TrLevelSlowPrev = iCustom(NULL,0,"QQE", 1, shift + 1);
이중 피벗 = iCustom(NULL, 0, "피벗 포인트 다중 시간 프레임", 미드 피벗, Fhr, 매일, 매주, 매월, 1, 시프트)
MrPip 감사합니다
나는 주로 당신이 어디에서 왔는지 알 수 있습니다. 나는 전에 그것을주고 막히면 다시 물어볼 것입니다.
건배
아래 빨간색으로 수정. 로버트
로버트.. 감사합니다. 도움이 되었습니다.
MTF 표시기가 있는 막대 카운트다운
MTF = 다중 시간 프레임 표시기
이중 BarCountDownInSec()
{
이중 g;
g=시간[0]+기간()*60-TimeCurrent();
반환(g);
}
위의 함수 는 현재 차트의 막대에 대한 두 번째 카운트다운을 제공합니다. 따라서 5분 차트에 배치하면 5분 막대마다 두 번째 카운트다운이 표시됩니다.
Q: 내가 5분 차트에 있을 때 15분 막대(예: 3x5분 막대)에 대한 초 카운트다운을 얻으려면 6.00에서 6.15까지 15분 카운트다운을 해야 합니다. 그런 다음 6.15에서 6.30, 내가 5분 차트에 있는 동안 ???
내 프로그래밍 문제(BUG)
안녕,
누군가 나를 위해 버그를 해결하는 데 도움을 줄 수 있습니까? 코드를 다시 컴파일하지 않는 한 그리기 히스토그램이 표시되지 않는다는 사실만 알았습니다.
도와주세요!!! 제발 제발 제발
문안 인사
아이커스텀 문제
EA의 iCustom 부분에 사용해야 하는 이 indi의 문자열 이름은 무엇입니까?
나는 시도했다
MT4-LevelStop-Reverse-vBO-4
MT4-LevelStop-Reverse-
MT4-LevelStop-Reverse
vBO-4
vB0.4
vtsbh2483-
MT4-LevelStop-Reverse-" + INDICATOR_VERSION + "(
그래서 다음에 무엇을 해야 할지 모르겠습니다.
또는 ATRMode, 수동 모드 등 문자열 이름을 입력해야 합니까?
어떤 도움이라도 좋을 것입니다
아무도 오류를 볼 수 있습니까? 이 코드에서 오류가 어디에 있는지 알 수 없습니다. 나는 계속 얻는다. 이것을 지적하는 데 도움이 될 것입니다. 감사해요
LongSig 변수가 정의되지 않았습니다.
//+----------------------------------------------- -------------------+
//| 오픈 포지션 계산 |
//+----------------------------------------------- -------------------+
정수 계산CurrentOrders() {
구매 = 0; 판매 = 0;
문자열 기호=Symbol();
//----
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) 계속;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==expertId)
{
if(OrderType()==OP_BUY || OrderType()==OP_BUYSTOP) 구매++;
if(OrderType()==OP_SELL || OrderType()==OP_SELLSTOP) 판매++;
}
}
//---- 반품 주문량
if(매수>0) 반환(매수);
그렇지 않으면 반환(-판매);
}
//+----------------------------------------------- -------------------+
//| 미결 주문 조건 확인 |
//+----------------------------------------------- -------------------+
무효 CheckForSignals() {
Buysig=거짓;
Sellsig=거짓;
닫기 구매=거짓;
closesell=거짓;
이중 MOM = iCustom(NULL,0,"Momentum-ZL",MOMPeriod,0,shift);
이중 SRL = iCustom(NULL,0,"MT4-LevelStop-Reverse-vBO-4",UseATRMode,NonATRStopPips,ATRPeriod,ATRMultiplier,ATRSmoothing,UpArrowColor,DnArrowColor,ArrowDistance,233);
이중 SRS = iCustom(NULL,0,"MT4-LevelStop-Reverse-vBO-4",UseATRMode,NonATRStopPips,ATRPeriod,ATRMultiplier,ATRSmoothing,UpArrowColor,DnArrowColor,ArrowDistance,234);
이중 QQE_RsiMa = iCustom(NULL,0,"QQE",0,shift);
이중 QQE_TrLevelSlow = iCustom(NULL,0,"QQE", 1, 시프트);
이중 QQE_RsiMaPrev = iCustom(NULL,0,"QQE",0,shift + 1);
이중 QQE_TrLevelSlowPrev = iCustom(NULL,0,"QQE", 1, shift + 1);
이중 피벗 = iCustom(NULL, 0, "피벗 포인트 다중 시간 프레임", 미드 피벗, Fhr, 매일, 매주, 매월, 1, 시프트)
부울 LongSig = QQE_RsiMaPrev QQE_TrLevelSlow >50.0;
부울 ShortSig = QQE_RsiMaPrev > QQE_TrLevelSlowPrev && QQE_RsiMa < QQE_TrLevelSlow<50.0;
부울 LongSig2 = MOM>0.0;
부울 ShortSig2 = MOM<0.0;
bool LongSig3 = SRL>피벗;
bool ShortSig3 = SRS<피벗;
buysig = LongSig && LongSig2 && LongSig3;
Sellsig = ShortSig && ShortSig2 && ShortSig3;
닫기 구매 = 판매 신호;
닫기 판매 = 구매;
}
무효 CheckForOpen() {
if (마지막==시간[0]) 반환;
int res,ord;
이중 진입, 정지, 이익;
ord=CalculateCurrentOrders();
if (ord!=0) CheckForClose();
ord=CalculateCurrentOrders();
//---- 구매 조건
if (buys<ConsecutiveTrades && buysig) {
res=OpenAtMarket(OP_BUY,Lots);
if (res<0) Print("구매 주문 열기 오류: ",ErrorDescription(GetLastError()));
그렇지 않으면 마지막=시간[0];
}
//---- 판매 조건
if (-sells<ConsecutiveTrades && Sellsig) {
res=OpenAtMarket(OP_SELL,Lots);
if (res<=0) Print(" 판매 주문 열기 오류: ",ErrorDescription(GetLastError()));
그렇지 않으면 마지막=시간[0];
}
}
int OpenAtMarket(int 모드, 이중 로트) {
int res,tr,col;
이중 공개 가격, sl, tp;
시도 = 0;
동안 (res<=0 && 시도<OrderTriesNumber) {
tr=0; 동안 (tr<5 && !IsTradeAllowed()) { tr++; 수면(2000); }
새로 고침 비율();
if (모드==OP_SELL) {
openprice=입찰가;
col=빨간색;
} 또 다른 {
//openprice=nd(문의);
openprice=묻다;
col=파란색;
}
res=OrderSend(Symbol(),mode,lot,openprice,slippage,sl,tp,EAName+expertId,expertId,0,col);
시도++;
}
반환(res);
}
고쳤다
vB0-4의 경우 문자 O 대신 숫자 0 0으로 목록의 첫 번째 항목을 시도하십시오.
로버트
EA의 iCustom 부분에 사용해야 하는 이 indi의 문자열 이름은 무엇입니까?
나는 시도했다
MT4-LevelStop-Reverse-vBO-4
MT4-LevelStop-Reverse-
MT4-LevelStop-Reverse
vBO-4
vB0.4
vtsbh2483-
MT4-LevelStop-Reverse-" + INDICATOR_VERSION + "(
그래서 다음에 무엇을 해야 할지 모르겠습니다.
또는 ATRMode, 수동 모드 등 문자열 이름을 입력해야 합니까?
어떤 도움이라도 좋을 것입니다미스터 핍스 감사합니다
정렬
아래 빨간색으로 수정. 로버트
나는 이것을 시도했지만 작동하지 않는 것 같습니다. 나는 하루에 하나의 거래 만 원합니다.
{
if (OrderSelect(a,SELECT_BY_POS,MODE_TRADES) == true)
{
if (OrderSymbol()== Symbol() && OrderMagicNumber()== Magic_Number)
{
if (TimeDay(OrderOpenTime()) >= TimeDay(TimeCurrent())) 거래 = 거짓;
if (TimeDay(OrderOpenTime()) < TimeDay(TimeCurrent())) 거래 = true;
}
}
}나는 이것을 시도했지만 작동하지 않는 것 같습니다. 나는 하루에 하나의 거래 만 원합니다.
다른 EA에서 이것을 사용했고 올바르게 작동합니다.
나는 오늘 열리는 대신 오늘 닫힌 거래를 확인 합니다.
시작시 사용법은
if (LastTradeClosedToday()) return(0);
// 여기에 새로운 거래를 여는 코드
//+----------------------------------------------- -------------------+
//| LastTrade오늘 마감 |
//| 오늘 마지막 거래가 마감되었는지 기록을 확인하십시오 |
//+----------------------------------------------- -------------------+
bool LastTradeClosedToday()
{
정수, 총계;
bool 닫힘;
총계 = HistoryTotal();
(cnt = 총계 - 1, cnt >= 0, cnt--)
{
주문 선택(cnt, SELECT_BY_POS, MODE_HISTORY);
if(OrderSymbol()!=Symbol()) 계속;
if (OrderMagicNumber() != MagicNumber) 계속;
닫힘 = 거짓;
if (OrderType() == OP_BUY)
{
if (TimeDay(OrderCloseTime()) == TimeDay(TimeCurrent()))
{
닫힘 = 참;
}
cnt = 0;
}
if (OrderType() == OP_SELL)
{
if (TimeDay(OrderCloseTime()) == TimeDay(TimeCurrent()))
{
닫힘 = 참;
}
cnt = 0;
}
}
반환(닫힘);
}