마감된 주문 대기열에서 마지막으로 마감된 주문이 아니라 첫 번째(초기 잔고 이후) 주문을 선택합니다. 그래서 마지막 주문이 무엇인지 확인 하고 수용하는 대신 항상 하나의 고정된 주문을 확인하고 있습니다. 마감된 마지막 주문을 테스트하려면(닫힌 주문 대기열의 마지막이지만 metatrader[사람들이 마감 날짜-시간으로 정렬할 때 마지막 주문이라고 보장하지 않음)을 확인하려면 다음 형식을 사용해야 합니다.
지속적인 새로 고침이 필요한 표시기를 사용하고 있습니다. 저는 15분 차트를 사용하고 있으므로 모든 틱 을 새로 고칠 필요가 없지만 큰 전력 소모가 없다면 좋을 것입니다. 최소한 각 새로 고침 사이의 시간 간격에 대한 옵션이 있어야 합니다. 지금은 드롭다운 '차트' 탭을 사용하고 '새로 고침'을 선택하여 1분 정도 수동으로 새로 고칩니다.
인디 또는 EA의 추가 코드를 통해 인디 및/또는 차트를 자동으로 새로 고치는 코드 또는 방법이 있습니까?
안녕하세요 천재코더&친절한 사람들입니다:D
이제 간단한 EA를 개발 중이지만 아래 조건을 이해할 수 없습니다.
이익실현으로 이전 포지션이 청산된 경우, 다음 오픈 가격에서 s/l 및 t/p로 20핍을 설정하는 새로운 항목을 만드십시오.(5M 차트에서)
한번 써보기로 했습니다.
if(OrderSelect(1,SELECT_BY_POS,MODE_HISTORY)) //마지막 위치는 즉석 주문 OP_BUY 또는 OP_SELL
{
if(OrderClosePrice() == OrderTakeProfit()) // IF 종가가 이익실현 가격과 동일한 경우
{
if(OrderType() == OP_BUY) // 해당 주문의 주문 유형은 구매입니다.
{
OrderSend(OP_BUY,Lots,Ask,Slippage,SLpips,Ask+20*Point,"",MAGIC);//Lot 및 기타 변수는 본인이 정의합니다.
}
그렇지 않으면(주문 유형() == OP_SELL)
{
OrderSend(OP_SELL,Lots,Bid,Slippage,SLpips,Bid-20*Point,"",MAGIC);
}
}
전략 테스터로 여러 번 실행해 보았지만 원하는 대로 실행할 수 없습니다.
이 질문에서 어떤 몸이 나에게 도움을줍니다 !!
문안 인사.[lang=pl]안녕하세요.
EA의 전체 코드를 첨부할 수 있습니까?
건배,
그르제식[/lang]
...
이것을 비교하여 사용해보십시오
아마도 도움이 될 것입니다
안녕하세요 천재코더&친절한 사람들입니다:D
이제 간단한 EA를 개발 중이지만 아래 조건을 이해할 수 없습니다.
이익실현으로 이전 포지션이 청산된 경우, 다음 오픈 가격에서 s/l 및 t/p로 20핍을 설정하는 새로운 항목을 만드십시오.(5M 차트에서)
한번 써보기로 했습니다.
if(OrderSelect(1,SELECT_BY_POS,MODE_HISTORY)) //마지막 위치는 즉석 주문 OP_BUY 또는 OP_SELL
{
if(OrderClosePrice() == OrderTakeProfit()) // IF 종가가 이익실현 가격과 동일한 경우
{
if(OrderType() == OP_BUY) // 해당 주문의 주문 유형은 구매입니다.
{
OrderSend(OP_BUY,Lots,Ask,Slippage,SLpips,Ask+20*Point,"",MAGIC);//Lot 및 기타 변수는 본인이 정의합니다.
}
그렇지 않으면(주문 유형() == OP_SELL)
{
OrderSend(OP_SELL,Lots,Bid,Slippage,SLpips,Bid-20*Point,"",MAGIC);
}
}
전략 테스터로 여러 번 실행해 보았지만 원하는 대로 실행할 수 없습니다.
이 질문에서 어떤 몸이 나에게 도움을줍니다 !!
문안 인사.감사합니다.
NormarizeDouble을 삽입하려고했지만 작동하지 않았습니다..
왜 작동하지 않는지 가르쳐 주시겠습니까?
-------------------------------------------------- -
#포함하다
#define MAGIC 20120101
#define 코멘트 "Riding9"
extern 이중 랏 = 0.1;
extern int 미끄러짐 = 3;
외부 정수 SLpips = 20;
외부 정수 TPpips = 50;
외부 정수 시작 시간 = 1;
외부 정수 FinishTime = 23;
외부 정수 MAPeriod = 48;
int EntrySignal(int 매직)
{
이중 위치 = MyCurrentOrders(MY_OPENPOS, 마술);
이중 Ma9 = iMA(NULL, 0, MAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
정수 ret = 0;
if((pos <= 0) && (닫기[3] 열기[2] && 열기[2] >= Ma9) || (열기[2] Ma9)) && (닫기[1] > 열기[1] && 열기 [1] > Ma9)) ret = 1;
else if((pos <= 0) && (열기[3] Ma9) && (닫기[2] Ma9) && (닫기[1] > 열기[1] && 닫기[1] > Ma9)) ret = 1;
if((pos >= 0) && (닫기[3] >= Ma9) && ((닫기[2] < 열기[2] && 열기[2] Ma9 && 닫기[2] < Ma9)) && (닫기[1 ] < 열기[1] && 열기[1] < Ma9)) ret = -1;//
else if((pos >= 0) && (열기[3] > Ma9 && 닫기[3] 열기[2] && 열기[2] < Ma9) && (닫기[1] < 열기[1] && 닫기[1] < Ma9)) ret = -1;
리턴(레트);
}
bool MyOrderSendSL(int type, double lot, double price, int slippage, int slpips, int tppips, string comment, int magic)
{
정수 = 1;
if(숫자 == 3 || 숫자 == 5) mult=10;
미끄러짐 *= mult;
if(유형==OP_SELL || 유형==OP_SELLLIMIT || 유형==OP_SELLSTOP) mult *= -1;
이중 sl=0, tp=0;
if(slpips > 0) sl = 가격-slpips*Point*mult;
if(tppips > 0) tp = 가격+tppips*포인트*멀티;
return(MyOrderSend(유형, 제비, 가격, 미끄러짐, sl, tp, 설명, 마술));
}
정수 시작()
{
if(Hour() >= StartTime && Hour() < FinishTime)
{
int sig_entry = EntrySignal(MAGIC);
if(서명 항목 > 0)
{
MyOrderClose(슬립페이지, 매직);
MyOrderSendSL(OP_BUY, 랏, 물어보기, 슬리피지, SLpips, TPpips, COMMENT, MAGIC);
}
if(서명 항목 < 0)
{
MyOrderClose(슬립페이지, 매직);
MyOrderSendSL(OP_SELL, 랏, 입찰, 슬리피지, SLpips, TPpips, COMMENT, MAGIC);
}
if(주문 선택(1,SELECT_BY_POS,MODE_HISTORY))
{
if (NormalizeDouble(OrderClosePrice(),Digits) == NormalizeDouble(OrderTakeProfit(),Digits))
{
if(주문 유형() == OP_BUY)
{
OrderSend(OP_BUY,랏,Ask,Slippage,SLpips,Ask+20*Point,"",MAGIC);
}
그렇지 않으면(주문 유형() == OP_SELL)
{
OrderSend(OP_SELL,Lots,Bid,Slippage,SLpips,Bid-20*Point,"",MAGIC);
}
}
}
리턴(0);
}
리턴(0);
}
-------------------------------------------------- ----
당신이 발견하면 내 잘못을 가르쳐주세요.
문안 인사.
...
논탄,
이 라인 마감된 주문 대기열에서 마지막으로 마감된 주문이 아니라 첫 번째(초기 잔고 이후) 주문을 선택합니다. 그래서 마지막 주문이 무엇인지 확인 하고 수용하는 대신 항상 하나의 고정된 주문을 확인하고 있습니다. 마감된 마지막 주문을 테스트하려면(닫힌 주문 대기열의 마지막이지만 metatrader[사람들이 마감 날짜-시간으로 정렬할 때 마지막 주문이라고 보장하지 않음)을 확인하려면 다음 형식을 사용해야 합니다.감사합니다, mladen
나는 아직 OrderHistoryTotal 함수 를 사용하지 않았습니다. 이 코드에 적합한 함수입니다.
마침내, 수정 후 희망 코드를 얻었습니다. 결과적으로 EA는 TakeProfit을 얻은 후 새 항목을 만들기 위해 작동합니다.
귀하의 기업 및 모든 것에 감사드립니다.
당신의 도움이 필요합니다 마스터 코더
안녕하세요, 제 전략을 코딩하는 데 도움을 줄 사람이 필요합니다.
안녕하세요, 제 전략을 코딩하는 데 도움을 줄 사람이 필요합니다.
[lang=pl]자세히 알려주세요
건배[/lang]
나는 오후를 보냈다
[lang=pl]자세히 알려주세요 건배[/lang]
감사합니다 주인님 오후에 보냈습니다.. 조금 복잡합니다.
자동 새로 고침 코드
지속적인 새로 고침이 필요한 표시기를 사용하고 있습니다. 저는 15분 차트를 사용하고 있으므로 모든 틱 을 새로 고칠 필요가 없지만 큰 전력 소모가 없다면 좋을 것입니다. 최소한 각 새로 고침 사이의 시간 간격에 대한 옵션이 있어야 합니다. 지금은 드롭다운 '차트' 탭을 사용하고 '새로 고침'을 선택하여 1분 정도 수동으로 새로 고칩니다.
인디 또는 EA의 추가 코드를 통해 인디 및/또는 차트를 자동으로 새로 고치는 코드 또는 방법이 있습니까?
고마워, 엘 비
[langtitle=fr]Wilder의 원래 지표 Parabolic Sar[/langtitle]
[언어=fr]나는 Wilder의 quiproquo인 ORIGINAL 포물선 SAR을 찾고 있습니다. 이 표시기의 코드를 PRT 플랫폼용으로 만들었지만 MT4에서 코딩을 모릅니다.
누군가 MT4 코딩에 대한 지식이 있는 경우 개인 메시지 로 코드를 제공하여 MT4 코딩에 적용할 수 있습니다.
감사해요