코딩 도움말 - 페이지 157 1...150151152153154155156157158159160161162163164...786 새 코멘트 Chrisstoff 2013.10.02 17:16 #1561 mladen: 크리스토프 그렇게하면 Decimals 변수가 정상이어야합니다. 어쨌든 주문(부분) 마감에 실패한 경우 어떤 오류 코드가 나타나는지 확인하십시오. 믈라덴, 힌트를 주셔서 감사합니다. 문제는 오류 메시지가 없다는 것입니다. 작동하지 않을 때는 PartialTP 함수 도 호출되지 않은 것처럼 보입니다. 다른 경우 - 일반적으로 EA가 다시 시작된 후 첫 번째 주문에서 - 잘 작동합니다. 변수 중 하나가 0 값으로 돌아가지 않거나 이와 유사한 것으로 생각했지만 여전히 버그를 찾을 수 없습니다. Mladen Rakic 2013.10.02 19:15 #1562 chrisstoff: 믈라덴, 힌트를 주셔서 감사합니다. 문제는 오류 메시지가 없다는 것입니다. 작동하지 않을 때는 PartialTP 함수도 호출되지 않은 것처럼 보입니다. 다른 경우 - 일반적으로 EA가 다시 시작된 후 첫 번째 주문에서 - 잘 작동합니다. 변수 중 하나가 0 값으로 돌아가지 않거나 이와 유사한 것으로 생각했지만 여전히 버그를 찾을 수 없습니다. 크리스토프 죄송하지만 부분 코드로는 더 이상 도움을 드릴 수 없습니다 당신이 설명하는 것은 코드를 디버그할 필요가 있다는 것을 의미합니다. 그리고 그것은 일종의 제어점 을 사용하는 동안 실행해야만 수행할 수 있습니다. Chrisstoff 2013.10.02 21:11 #1563 mladen: 크리스토프 죄송하지만 부분 코드로는 더 이상 도움을 드릴 수 없습니다 당신이 설명하는 것은 코드를 디버그할 필요가 있다는 것을 의미합니다. 그리고 그것은 일종의 제어점을 사용하는 동안 실행해야만 수행할 수 있습니다. 고마워, 믈라덴. 코드에서 문제가 발견되지 않았으니 안심할 수 있습니다. 코드의 관련 부분이 모두 게시된 것 같아서 다른 곳에서 버그를 찾아야 합니다. Hock 2013.10.02 23:57 #1564 mladen: 호크87 해당 문제의 해결 방법은 게시물 위의 게시물을 참조하세요. 이에 대한 완전한 코드는 다음과 같습니다. int TotalOrders = 0; for (int i=0; i <= OrdersTotal(); i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if (OrderSymbol() == Symbol()) TotalOrders++; } if (TotalOrders<1) { ticket=OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, 0); stop=(Ask-stopsize*Point); prof=(Ask+profsize*Point); OrderModify( ticket, OrderOpenPrice(), stop, prof, 0, Blue); } 말든, 내 계정 잔액 의 일정 비율로 로트 크기를 열려면 어떻게 코딩합니까? 예시: 내 계정 잔액 $500, 5%로 로트 크기를 열면 자동으로 계산되고 $0.25 랏, TP=10 SL=20을 엽니다. 그것을 코딩하는 방법? 감사해요. Mladen Rakic 2013.10.03 06:43 #1565 hock87: 말든, 내 계정 잔액의 일정 비율로 로트 크기를 열려면 어떻게 코딩합니까? 예시: 내 계정 잔액 $500, 5%로 로트 크기를 열면 자동으로 계산되고 $0.25 랏, TP=10 SL=20을 엽니다. 그것을 코딩하는 방법? 감사해요. 이를 위해 다음과 같은 기능 을 사용할 수 있습니다. double getLots(double stopLoss, double risk) { RefreshRates(); double pPoint = MarketInfo(Symbol(),MODE_POINT); double step = MarketInfo(Symbol(),MODE_LOTSTEP); double minLot = MarketInfo(Symbol()l,MODE_MINLOT); double maxLot = MarketInfo(Symbol(),MODE_MAXLOT); double lots = minLot; if (risk>0 && stopLoss>0) { lots = AccountFreeMargin()*(risk/100.0)/(stopLoss*MarketInfo(s_symbol,MODE_TICKVALUE)/pPoint); } } return(MathMax(MathMin(lots,maxLot),minLot)); } 추신: stopLoss는 이미 pips/points 단위로 함수에 전달되어야 합니다(정수 값이 아님). Coding help 코딩에 도움이 필요합니다 Need help with coding Hock 2013.10.03 10:54 #1566 mladen: 이를 위해 다음과 같은 기능을 사용할 수 있습니다. double getLots(double stopLoss, double risk) { RefreshRates(); double pPoint = MarketInfo(Symbol(),MODE_POINT); double step = MarketInfo(Symbol(),MODE_LOTSTEP); double minLot = MarketInfo(Symbol()l,MODE_MINLOT); double maxLot = MarketInfo(Symbol(),MODE_MAXLOT); double lots = minLot; if (risk>0 && stopLoss>0) { lots = AccountFreeMargin()*(risk/100.0)/(stopLoss*MarketInfo(s_symbol,MODE_TICKVALUE)/pPoint); } } return(MathMax(MathMin(lots,maxLot),minLot)); } 추신: stopLoss는 이미 pips/points 단위로 함수에 전달되어야 합니다(정수 값이 아님). 고마워, 믈라덴. 하지만 주문 코드를 구매하기 위해 코드를 합성하지 못했습니다. 많은 오류와 경고가 나타납니다. 그것을 합성하는 방법? 감사해요. extern double lots = 0.1;extern double stopsize = 20; extern double profsize = 10; int err; int ticket; double stop; double prof; int start() { int TotalOrders = 0; for (int i=0; i <= OrdersTotal(); i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if (OrderSymbol() == Symbol()) TotalOrders++; } if (TotalOrders<1) { ticket=OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, 0, NULL,LimeGreen); stop=(Ask-stopsize*Point); prof=(Ask+profsize*Point); OrderModify( ticket, OrderOpenPrice(), stop, prof, 0, Blue); } err=GetLastError(); // Comment("This is a test ", err, " ", stop, " ", prof); Comment(" "); } Coding help Script not working in OrdersTotal() question Mladen Rakic 2013.10.03 11:04 #1567 hock87: 고마워, 믈라덴. 하지만 주문 코드를 구매하기 위해 코드를 합성하지 못했습니다. 많은 오류와 경고가 나타납니다. 그것을 합성하는 방법? 감사해요. extern double lots = 0.1;extern double stopsize = 20; extern double profsize = 10; int err; int ticket; double stop; double prof; int start() { int TotalOrders = 0; for (int i=0; i <= OrdersTotal(); i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if (OrderSymbol() == Symbol()) TotalOrders++; } if (TotalOrders<1) { ticket=OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, 0, NULL,LimeGreen); stop=(Ask-stopsize*Point); prof=(Ask+profsize*Point); OrderModify( ticket, OrderOpenPrice(), stop, prof, 0, Blue); } err=GetLastError(); // Comment("This is a test ", err, " ", stop, " ", prof); Comment(" "); } 다음과 같이 시도하십시오(지금 테스트했으며 작동함). extern double lots = 0.1;extern double stopsize = 20; extern double profsize = 10; int err; int ticket; double stop; double prof; int init() { return(0); } int deinit() { return(0); } int start() { int TotalOrders = 0; for (int i=0; i <= OrdersTotal(); i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if (OrderSymbol() == Symbol()) TotalOrders++; } if (TotalOrders<1) { ticket=OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, 0, NULL,LimeGreen); stop=(Ask-stopsize*Point*MathPow(10,Digits%2)); prof=(Ask+profsize*Point*MathPow(10,Digits%2)); OrderModify( ticket, OrderOpenPrice(), stop, prof, 0, Blue); } err=GetLastError(); // Comment("This is a test ", err, " ", stop, " ", prof); Comment(" "); } 파일: _test_1.mq4 1 kb test_1.gif 78 kb Coding help Script not working in OrdersTotal() question kingsleyedeh4re 2013.10.03 11:38 #1568 친애하는 mladen과 씨. 도구 pls, 미리 정의된 조건을 충족하는 3개 또는 4개의 지표 신호와 같은 특정 조건에 따라 신호를 제공하는 ea를 생성할 수 있습니까? 예 ea가 구매 신호를 보내길 원합니다. 에마 8 크로스 에마 21 0보다 큰 qqe 비 지연 ma는 녹색입니다 그리고 촛불은 ichimoku 구름 위에 있습니다 EA는 거래를 개시해서는 안 되며 명시된 조건이 충족될 때 신호를 보내야 합니다. Coding help 봉투 2.11 묻다! Hock 2013.10.03 11:49 #1569 고마워, 믈라덴. 나는 그것을 시도했다. 하지만 여전히 $0.1로 제비를 뽑습니다. 하고싶다 내 계정 잔액 의 일정 비율로 로트 크기를 엽니다 . 예: 계정 잔액이 $500입니다. 5%로 로트 크기를 열면 자동 계산되고 $0.25 랏, TP=10 SL=20을 엽니다. LotSizeSlot1 = AccountBalance() * (RiskSlot1 / 100) LotSizeSlot1 = $500*(5%/100) LotSizeSlot1 = $ 0.25 그런 다음 $0.25 랏과 TP=10 SL=20을 자동으로 엽니다. 그것을 만드는 방법? 감사해요. Coding help 신호 : MQL5 거래 일란 1.6 다이내믹 Mladen Rakic 2013.10.03 11:56 #1570 hock87: 고마워, 믈라덴. 나는 그것을 시도했다. 하지만 여전히 $0.1로 제비를 뽑습니다. 내 계정 잔액의 일정 비율로 로트 크기를 열고 싶습니다 . 예: 계정 잔액이 $500입니다. 5%로 로트 크기를 열면 자동 계산되고 $0.25 랏, TP=10 SL=20을 엽니다. LotSizeSlot1 = AccountBalance() * (RiskSlot1 / 100) LotSizeSlot1 = $500*(5%/100) LotSizeSlot1 = $ 0.25 그런 다음 $0.25 랏과 TP=10 SL=20을 자동으로 엽니다. 그것을 만드는 방법? 감사해요. 첨부된 것과 같이 파일: _test_2.mq4 2 kb 1...150151152153154155156157158159160161162163164...786 새 코멘트
크리스토프
그렇게하면 Decimals 변수가 정상이어야합니다.
어쨌든 주문(부분) 마감에 실패한 경우 어떤 오류 코드가 나타나는지 확인하십시오.믈라덴,
힌트를 주셔서 감사합니다.
문제는 오류 메시지가 없다는 것입니다. 작동하지 않을 때는 PartialTP 함수 도 호출되지 않은 것처럼 보입니다. 다른 경우 - 일반적으로 EA가 다시 시작된 후 첫 번째 주문에서 - 잘 작동합니다.
변수 중 하나가 0 값으로 돌아가지 않거나 이와 유사한 것으로 생각했지만 여전히 버그를 찾을 수 없습니다.
믈라덴,
힌트를 주셔서 감사합니다.
문제는 오류 메시지가 없다는 것입니다. 작동하지 않을 때는 PartialTP 함수도 호출되지 않은 것처럼 보입니다. 다른 경우 - 일반적으로 EA가 다시 시작된 후 첫 번째 주문에서 - 잘 작동합니다.
변수 중 하나가 0 값으로 돌아가지 않거나 이와 유사한 것으로 생각했지만 여전히 버그를 찾을 수 없습니다.크리스토프
죄송하지만 부분 코드로는 더 이상 도움을 드릴 수 없습니다
당신이 설명하는 것은 코드를 디버그할 필요가 있다는 것을 의미합니다. 그리고 그것은 일종의 제어점 을 사용하는 동안 실행해야만 수행할 수 있습니다.
크리스토프
죄송하지만 부분 코드로는 더 이상 도움을 드릴 수 없습니다
당신이 설명하는 것은 코드를 디버그할 필요가 있다는 것을 의미합니다. 그리고 그것은 일종의 제어점을 사용하는 동안 실행해야만 수행할 수 있습니다.고마워, 믈라덴.
코드에서 문제가 발견되지 않았으니 안심할 수 있습니다.
코드의 관련 부분이 모두 게시된 것 같아서 다른 곳에서 버그를 찾아야 합니다.
호크87
해당 문제의 해결 방법은 게시물 위의 게시물을 참조하세요.
이에 대한 완전한 코드는 다음과 같습니다.
int TotalOrders = 0;
for (int i=0; i <= OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol() == Symbol())
TotalOrders++;
}
if (TotalOrders<1)
{
ticket=OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, 0);
stop=(Ask-stopsize*Point);
prof=(Ask+profsize*Point);
OrderModify( ticket, OrderOpenPrice(), stop, prof, 0, Blue);
}
말든,
내 계정 잔액 의 일정 비율로 로트 크기를 열려면 어떻게 코딩합니까?
예시:
내 계정 잔액 $500,
5%로 로트 크기를 열면 자동으로 계산되고 $0.25 랏, TP=10 SL=20을 엽니다.
그것을 코딩하는 방법?
감사해요.
말든,
내 계정 잔액의 일정 비율로 로트 크기를 열려면 어떻게 코딩합니까?
예시:
내 계정 잔액 $500,
5%로 로트 크기를 열면 자동으로 계산되고 $0.25 랏, TP=10 SL=20을 엽니다.
그것을 코딩하는 방법?
감사해요.이를 위해 다음과 같은 기능 을 사용할 수 있습니다.
{
RefreshRates();
double pPoint = MarketInfo(Symbol(),MODE_POINT);
double step = MarketInfo(Symbol(),MODE_LOTSTEP);
double minLot = MarketInfo(Symbol()l,MODE_MINLOT);
double maxLot = MarketInfo(Symbol(),MODE_MAXLOT);
double lots = minLot;
if (risk>0 && stopLoss>0)
{
lots = AccountFreeMargin()*(risk/100.0)/(stopLoss*MarketInfo(s_symbol,MODE_TICKVALUE)/pPoint);
}
}
return(MathMax(MathMin(lots,maxLot),minLot));
}
추신: stopLoss는 이미 pips/points 단위로 함수에 전달되어야 합니다(정수 값이 아님).
이를 위해 다음과 같은 기능을 사용할 수 있습니다.
{
RefreshRates();
double pPoint = MarketInfo(Symbol(),MODE_POINT);
double step = MarketInfo(Symbol(),MODE_LOTSTEP);
double minLot = MarketInfo(Symbol()l,MODE_MINLOT);
double maxLot = MarketInfo(Symbol(),MODE_MAXLOT);
double lots = minLot;
if (risk>0 && stopLoss>0)
{
lots = AccountFreeMargin()*(risk/100.0)/(stopLoss*MarketInfo(s_symbol,MODE_TICKVALUE)/pPoint);
}
}
return(MathMax(MathMin(lots,maxLot),minLot));
}
고마워, 믈라덴.
하지만 주문 코드를 구매하기 위해 코드를 합성하지 못했습니다.
많은 오류와 경고가 나타납니다.
그것을 합성하는 방법?
감사해요.
extern double profsize = 10;
int err;
int ticket;
double stop;
double prof;
int start()
{
int TotalOrders = 0;
for (int i=0; i <= OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol() == Symbol())
TotalOrders++;
}
if (TotalOrders<1)
{
ticket=OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, 0, NULL,LimeGreen);
stop=(Ask-stopsize*Point);
prof=(Ask+profsize*Point);
OrderModify( ticket, OrderOpenPrice(), stop, prof, 0, Blue);
}
err=GetLastError();
// Comment("This is a test ", err, " ", stop, " ", prof);
Comment(" ");
}고마워, 믈라덴.
하지만 주문 코드를 구매하기 위해 코드를 합성하지 못했습니다.
많은 오류와 경고가 나타납니다.
그것을 합성하는 방법?
감사해요.
extern double profsize = 10;
int err;
int ticket;
double stop;
double prof;
int start()
{
int TotalOrders = 0;
for (int i=0; i <= OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol() == Symbol())
TotalOrders++;
}
if (TotalOrders<1)
{
ticket=OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, 0, NULL,LimeGreen);
stop=(Ask-stopsize*Point);
prof=(Ask+profsize*Point);
OrderModify( ticket, OrderOpenPrice(), stop, prof, 0, Blue);
}
err=GetLastError();
// Comment("This is a test ", err, " ", stop, " ", prof);
Comment(" ");
}다음과 같이 시도하십시오(지금 테스트했으며 작동함).
extern double profsize = 10;
int err;
int ticket;
double stop;
double prof;
int init() { return(0); }
int deinit() { return(0); }
int start()
{
int TotalOrders = 0;
for (int i=0; i <= OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol() == Symbol())
TotalOrders++;
}
if (TotalOrders<1)
{
ticket=OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, 0, NULL,LimeGreen);
stop=(Ask-stopsize*Point*MathPow(10,Digits%2));
prof=(Ask+profsize*Point*MathPow(10,Digits%2));
OrderModify( ticket, OrderOpenPrice(), stop, prof, 0, Blue);
}
err=GetLastError();
// Comment("This is a test ", err, " ", stop, " ", prof);
Comment(" ");
}친애하는 mladen과 씨. 도구 pls,
미리 정의된 조건을 충족하는 3개 또는 4개의 지표 신호와 같은 특정 조건에 따라 신호를 제공하는 ea를 생성할 수 있습니까?
예
ea가 구매 신호를 보내길 원합니다.
에마 8 크로스 에마 21
0보다 큰 qqe
비 지연 ma는 녹색입니다
그리고 촛불은 ichimoku 구름 위에 있습니다
EA는 거래를 개시해서는 안 되며 명시된 조건이 충족될 때 신호를 보내야 합니다.
고마워, 믈라덴.
나는 그것을 시도했다.
하지만 여전히 $0.1로 제비를 뽑습니다.
하고싶다 내 계정 잔액 의 일정 비율로 로트 크기를 엽니다 .
예: 계정 잔액이 $500입니다.
5%로 로트 크기를 열면 자동 계산되고 $0.25 랏, TP=10 SL=20을 엽니다.
LotSizeSlot1 = AccountBalance() * (RiskSlot1 / 100)
LotSizeSlot1 = $500*(5%/100)
LotSizeSlot1 = $ 0.25
그런 다음 $0.25 랏과 TP=10 SL=20을 자동으로 엽니다.
그것을 만드는 방법?
감사해요.
고마워, 믈라덴.
나는 그것을 시도했다.
하지만 여전히 $0.1로 제비를 뽑습니다.
내 계정 잔액의 일정 비율로 로트 크기를 열고 싶습니다 .
예: 계정 잔액이 $500입니다.
5%로 로트 크기를 열면 자동 계산되고 $0.25 랏, TP=10 SL=20을 엽니다.
LotSizeSlot1 = AccountBalance() * (RiskSlot1 / 100)
LotSizeSlot1 = $500*(5%/100)
LotSizeSlot1 = $ 0.25
그런 다음 $0.25 랏과 TP=10 SL=20을 자동으로 엽니다.
그것을 만드는 방법?
감사해요.첨부된 것과 같이