친애하는 여러분, OrderSend 기능 에 문제가 발생했습니다. 즉, 주문을 열 수 없습니다. 예를 들어 이 Expert Advisor를 차트에 첨부하면 - 외부 이중 손절매 = 30; extern double 이익실현 = 30; 외부 이중 로트 = 0.1; 이중 SL,TP; 문자열 기호; 정수 시작() { 기호=기호(); SL=입찰가 - (손절매*포인트); TP = 입찰가 + (실적 이익*포인트); OrderSend(Symb,OP_BUY,lot,Ask,3,SL,TP); if(OrdersTotal()>0) Alert("구매 주문 오픈"); if(OrdersTotal()==0) Alert("오류 번호 때문에 구매 주문을 열 수 없습니다.",GetLastError()); Alert("포인트 = ",포인트); 반품; } 그러면 터미널은 오류 번호 130(잘못된 정지)을 제공하고 Point 값은 = 0이 됩니다. 나는 모든 것이 Point의 반환 값 때문이라고 생각합니다 (누가 알지만). 일반적으로 "개가 묻힌 곳"을 아는 사람이 도움이 됩니다. 그건 그렇고, Point의 값은 0이어야 합니까?
159753 писал(а)>> 친애하는 이여, OrderSend 기능에 문제가 발생했습니다. 즉, 주문을 열 수 없습니다. 예를 들어 이 Expert Advisor를 차트에 첨부하면 - 외부 이중 손절매 = 30; extern double 이익실현 = 30; 외부 이중 로트 = 0.1; 이중 SL,TP; 문자열 기호; 정수 시작() { 기호=기호(); SL=입찰가 - (손절매*포인트); TP = 입찰가 + (실적 이익*포인트); OrderSend(Symb,OP_BUY,lot,Ask,3,SL,TP); if(OrdersTotal()>0) Alert("구매 주문 오픈"); if(OrdersTotal()==0) Alert("오류 번호 때문에 구매 주문을 열 수 없습니다.",GetLastError()); Alert("포인트 = ",포인트); 반품; } 그러면 터미널은 오류 번호 130(잘못된 정지)을 제공하고 Point 값은 = 0이 됩니다. 나는 모든 것이 Point의 반환 값 때문이라고 생각합니다 (누가 알지만). 일반적으로 "개가 묻힌 곳"을 아는 사람이 도움이 됩니다. 그건 그렇고, Point의 값은 0이어야 합니까?
159753>> : Уважаемые господа, я столкнулся с проблемой, связанной с функцией OrderSend, а именно у меня не открывается ордер. К примеру, если присоединить этот советник к графику - extern double StopLoss = 30; extern double TakeProfit = 30; extern double lot = 0.1; double SL,TP; string Symb; int start() { Symb=Symbol(); SL =Bid - (StopLoss*Point); TP =Bid + (TakeProfit*Point); OrderSend(Symb,OP_BUY,lot,Ask,3,SL,TP); if(OrdersTotal()>0) Alert("Ордер Buy открыт"); if(OrdersTotal()==0) Alert("Ордер Buy открыть не удалось т.к. возникла ошибка №",GetLastError()); Alert("Point = ",Point); return; } то терминал выдаст ошибку № 130 (неправильные стопы), а значение Point будет = 0. Я думаю, что всё из-за возвращаемого значения Point (хотя кто его знает). В общем кто знает "где собака зарыта " помогите. Кстати, значение Point должно = 0 или нет?
Point는 0과 같을 수 없으며 5번째 문자가 있을 가능성이 높으므로 인쇄(경고)할 때 0이 됩니다(인쇄(경고)는 DoubleToStr 문자열로 변환되지 않은 경우 최대 4개의 tsnak을 표시합니다...) TakeProfit 및 StopLoss에 10을 곱해보십시오.
전체 스크립트를 게시할 수 있습니까? 배열 변수 선언 등과 함께 의미합니다.
여기 스크립트가 있습니다. 작동하는지 확인했습니다. 정상적으로 모든 것을 백 번과 두 번으로 읽었습니다.
전문가는 즉시 유형 캐스팅이 아닌 배열을 보도록 지시했습니다 ...
StatBars , Vinin, 응답해 주신 모든 분들께 감사드립니다.
문제는 내 배열이 동적이라는 것이었습니다. 그리고 캐스트에는 특정 특이성이 있습니다.
결정적 길이의 배열에 적응하고 StrToDouble을 사용한 캐스팅은 시계처럼 작동했습니다.
모든 분들께 다시 한번 감사드립니다.
파일 작업은 유용한 것입니다. 나는 지금 그것을 알아내려고 노력하고 있다.
Джентльмены, вопрос такой:
В тестере вот такая штука:
в журнале выдает "0.0000".
А в терминале в реал-тайме выдает правильные значения.
Как с этим бороться?
하지만?
하지만?
자세한 내용은 코드 게시자세한 내용은 코드를 게시
비냉, 비쿠스
감사합니다. .csv 계정에 대해 알게 되었습니다.
그 날 아침에 내가 한 일이 ... 언어를 뒤섞었다)
예를 들어 이 Expert Advisor를 차트에 첨부하면 -
외부 이중 손절매 = 30;
extern double 이익실현 = 30;
외부 이중 로트 = 0.1;
이중 SL,TP;
문자열 기호;
정수 시작()
{
기호=기호();
SL=입찰가 - (손절매*포인트);
TP = 입찰가 + (실적 이익*포인트);
OrderSend(Symb,OP_BUY,lot,Ask,3,SL,TP);
if(OrdersTotal()>0) Alert("구매 주문 오픈");
if(OrdersTotal()==0) Alert("오류 번호 때문에 구매 주문을 열 수 없습니다.",GetLastError());
Alert("포인트 = ",포인트);
반품;
}
그러면 터미널은 오류 번호 130(잘못된 정지)을 제공하고 Point 값은 = 0이 됩니다.
나는 모든 것이 Point의 반환 값 때문이라고 생각합니다 (누가 알지만).
일반적으로 "개가 묻힌 곳"을 아는 사람이 도움이 됩니다.
그건 그렇고, Point의 값은 0이어야 합니까?
친애하는 이여, OrderSend 기능에 문제가 발생했습니다. 즉, 주문을 열 수 없습니다.
예를 들어 이 Expert Advisor를 차트에 첨부하면 -
외부 이중 손절매 = 30;
extern double 이익실현 = 30;
외부 이중 로트 = 0.1;
이중 SL,TP;
문자열 기호;
정수 시작()
{
기호=기호();
SL=입찰가 - (손절매*포인트);
TP = 입찰가 + (실적 이익*포인트);
OrderSend(Symb,OP_BUY,lot,Ask,3,SL,TP);
if(OrdersTotal()>0) Alert("구매 주문 오픈");
if(OrdersTotal()==0) Alert("오류 번호 때문에 구매 주문을 열 수 없습니다.",GetLastError());
Alert("포인트 = ",포인트);
반품;
}
그러면 터미널은 오류 번호 130(잘못된 정지)을 제공하고 Point 값은 = 0이 됩니다.
나는 모든 것이 Point의 반환 값 때문이라고 생각합니다 (누가 알지만).
일반적으로 "개가 묻힌 곳"을 아는 사람이 도움이 됩니다.
그건 그렇고, Point의 값은 0이어야 합니까?
모든 것이 잘 작동합니다. 적어도 나는 가지고있다Уважаемые господа, я столкнулся с проблемой, связанной с функцией OrderSend, а именно у меня не открывается ордер.
К примеру, если присоединить этот советник к графику -
extern double StopLoss = 30;
extern double TakeProfit = 30;
extern double lot = 0.1;
double SL,TP;
string Symb;
int start()
{
Symb=Symbol();
SL =Bid - (StopLoss*Point);
TP =Bid + (TakeProfit*Point);
OrderSend(Symb,OP_BUY,lot,Ask,3,SL,TP);
if(OrdersTotal()>0) Alert("Ордер Buy открыт");
if(OrdersTotal()==0) Alert("Ордер Buy открыть не удалось т.к. возникла ошибка №",GetLastError());
Alert("Point = ",Point);
return;
}
то терминал выдаст ошибку № 130 (неправильные стопы), а значение Point будет = 0.
Я думаю, что всё из-за возвращаемого значения Point (хотя кто его знает).
В общем кто знает "где собака зарыта " помогите.
Кстати, значение Point должно = 0 или нет?
Point는 0과 같을 수 없으며 5번째 문자가 있을 가능성이 높으므로 인쇄(경고)할 때 0이 됩니다(인쇄(경고)는 DoubleToStr 문자열로 변환되지 않은 경우 최대 4개의 tsnak을 표시합니다...)
TakeProfit 및 StopLoss에 10을 곱해보십시오.