주문이 TakeProfit 또는 StopLoss에 의해 실행되었는지 확인하는 방법은 무엇입니까? 답변 해주셔서 감사합니다!
주문 내역을 확인하십시오. 종가가 SL 또는 TP와 같으면 ...을 의미합니다. 그러나 닫힌 주문의 이익을 확인하는 것이 더 쉬울 것이라고 생각합니다. > 0이 테이크를 의미하면 그렇지 않으면 ...
다음은 유사한 코드입니다.
double history(){
int time = 0 ; double profit = 0 ; //обьявляем необходимые нам переменные куда мы положим интересующие нас характеристики ордераfor ( int i = OrdersHistoryTotal();i>= 0 ;i--){ // Перебираем все закрытые ордераif ( OrderSelect (i,SELECT_BY_POS,MODE_HISTORY)){ //если ордер с таким номером (i) в списке закрытых ордеров есть ( не путать с тикетом)if (OrderSymbol() == Symbol ()){ //если выбранный ордер был открыт по нашей валютной пареif (time<OrderCloseTime()){ //(сравниваем его с хранящимся в пероеменной time)
time=OrderCloseTime(); //если время закрытия ордера больше - ложим его в переменную
profit=OrderProfit(); //и заодно запоминаем прибыль ордера
}
}
}
}
//по окончании этой процедуры в наших переменных будут сидет наибольшее время закрытия, и его профит. Или по нулям если история чистая.//теперь мы можем выставлять условия в зависимости от результата процедурыif (profit == 0 &&time == 0 ){ //действия если история чистая
}
if (profit >= 0 ){ //действия если последний ордер был прибыльным, или нулевым
}
if (profit < 0 ){ //действия если последний ордер был убыточным
}
return ( 0 );
}
좋은 저녁이에요!
간단한 질문이 있습니다.
어떤 이유로 Expert Advisor는 초기화 후 start()로 이동할 수 없습니다. ?
누군가가 그러한 문제에 직면했을 수 있습니까?
init()에서; 종료 반환(0); .
답변에 미리 감사드립니다!
좋은 저녁이에요!
간단한 질문이 있습니다.
어떤 이유로 Expert Advisor는 초기화 후 start()로 이동할 수 없습니다. ?
누군가가 그러한 문제에 직면했을 수 있습니까?
init()에서; 종료 반환(0); .
답변에 미리 감사드립니다!
안녕하세요 여러분!
그런 문제가 있습니다.
집에 있는 컴퓨터에서 그래프를 표시합니다. 다른 컴퓨터로 전송하는 방법 - 어떤 파일을 덮어써야 합니까?
출력 방식은 MT4 폴더 전체를 다시 작성한 후 다른 컴퓨터에 새 이름으로 쓰는 것인데, 복잡해서 맞지 않습니다. 여기서 흥미로운 점은 폴더를 이전 이름으로 다른 컴퓨터에 남겨두면 그래프에 새로운 것이 없다는 것입니다...
누가 알겠습니까, 도와주세요!
BBSL , 나는 "start();"를 작성하곤 했습니다. - 같은 글을 쓰셨나요? 콜론이 필요하지 않습니다. 더 이상 중괄호가 없습니다
kiimar, Advisor가 닫혔습니까? 그렇다면 코드를 살펴봐야 합니다.
좋은 저녁이에요!
간단한 질문이 있습니다.
어떤 이유로 Expert Advisor는 초기화 후 start()로 이동할 수 없습니다. ?
누군가가 그러한 문제에 직면했을 수 있습니까?
init()에서; 종료 반환(0); .
답변에 미리 감사드립니다!
주문이 TakeProfit 또는 StopLoss에 의해 실행되었는지 확인하는 방법은 무엇입니까? 답변 해주셔서 감사합니다!
어떤 이유로 Expert Advisor는 초기화 후 start()로 이동할 수 없습니다. ?
누군가가 그러한 문제에 직면했을 수 있습니까?
init()에 복잡한 계산이나 스와핑 히스토리가 있거나 터미널에 터미널을 멈추거나 ...
일반적으로 코드를 초기화할 시간이 있습니다. 정확히 얼마인지는 말씀드리지 않겠습니다만, 코드 초기화 중에 터미널이 코드를 중단하면 로그에 다음과 같은 오류가 발생합니다. " ... . 전문가의 시간 초과 ...."
터미널이 로그에 오류를 표시하지 않으면 초기화가 성공한 것이며 start() 함수 자체를 확인하기 쉽습니다. 첫 번째 줄에 작성 start() : Print ("new tick");
주문이 TakeProfit 또는 StopLoss에 의해 실행되었는지 확인하는 방법은 무엇입니까? 답변 해주셔서 감사합니다!
주문 내역을 확인하십시오. 종가가 SL 또는 TP와 같으면 ...을 의미합니다. 그러나 닫힌 주문의 이익을 확인하는 것이 더 쉬울 것이라고 생각합니다. > 0이 테이크를 의미하면 그렇지 않으면 ...
다음은 유사한 코드입니다.