double history(){
int i;
//обьявляем необходимые нам переменные куда мы положим интересующие нас характеристики ордера double profit;
datetime time;
time = 0 ;
profit = 0 ;
for (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 ){ //действия если история чистаяPrint ( "история чистая" );
}
if (profit >= 0 ){ //действия если последний ордер был прибыльным, или нулевымPrint ( "последний ордер был прибыльным, или нулевым" );
}
if (profit < 0 ){ //действия если последний ордер был убыточнымPrint ( "последний ордер был убыточным" );
}
return (profit); // вернем в качестве результата функции значение прибыли последнего ордера из истории, так на всякий случай ;)
}
Vadim, Java로 코딩할 수 있습니까?
누군가가 고전적인 마틴게일에 따라 로트를 계산하는 가장 간단한 스크립트를 게시할 수 있습니까? 이전 거래가 손실로 마감되었다면 다음 거래는 이중 로트로 열립니다. 그는 다음과 같이 썼습니다.
외부 이중 로트 = 0.1; 외부 이중 MM_koef = 2; 외부 정수 마법 = 56565;
이중 로트 = 로트;
{ 주문 선택( OrdersHistoryTotal (), SELECT_BY_POS, MODE_HISTORY); // 히스토리에서 마지막 거래를 확인합니다.
if( OrderMagicNumber() == 마법
&& ( (OrderType() == OP_BUY && (OrderOpenPrice()-OrderClosePrice())<0) //구매의 경우 손실을 의미합니다.
|| (OrderType() == OP_SELL && (OrderOpenPrice()-OrderClosePrice())>0) //판매의 경우 손실을 의미합니다.
)
)
lot=OrderLots()*MM_koef;Print(Lots);
}
if (Lots<=0) Lot=Lots;
....OrderSend(Symbol(), OP_BUY, 많이, .......
martin에 의한 자동 로트 계산이 작동하지 않지만 어떤 이유로 0.1과 동일하게 취합니까? 누군가 말할 수 있습니까?
다음은 귀하의 작업과 유사한 것이 있습니다.
https://www.mql5.com/en/auth_login에서 인증이 불가능한 이유를 알려주세요. 로그인 및 비밀번호를 입력할 수 없습니다(커서가 깜박이지 않거나 전혀 존재하지 않음).
문제가 있습니다.
시험을 마친. 문제없이 입장했습니다.
문제가 있습니다.
시험을 마친. 문제없이 입장했습니다.
다시 등록하려면 어떻게 해야 하나요? 또는 도움을 받으려면 어디로 가야 합니까?
먼저 컴퓨터를 다시 시작해 봅니다..))
다시 시작해도 도움이 되지 않았습니다.
그리고 어떤 이유로 OrderModify가 있는 EA에서는 가끔 자동으로 수정이 일어나기도 하고, 가끔 창이 뜨는데 확인 버튼을 눌러야 하는 경우도 있습니다(MT에서는 F9로 창이 열립니다).
코드에는 OrderModifu(.......) 행만 있고 위에서 설명한 논리는 확실히 구현되지 않았습니다.
OrderModif가 실패하면 DC가 이 창을 열라는 신호를 보냅니다. 아마도?