Чтобы определить, из какого списка выбран ордер, необходимо проанализировать его время закрытия. Если время закрытия ордера равно 0, то ордер является открытым или отложенным и взят из списка открытых ордеров терминала. Отличить открытый ордер от отложенного ордера можно по типу ордера. Если время закрытия ордера не равно 0, то ордер является...
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает суммарный профит в валюте депозита |//| закрытых с определённой даты позиций |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//| dt - Дата и время в секундах с 1970 года ( 0 - с начала истории) |//+----------------------------------------------------------------------------+double GetProfitFromDateInCurrency( string sy= "" , int op=- 1 , int mn=- 1 , datetime dt= 0 )
{
double p= 0 ;
int i, k=OrdersHistoryTotal();
if (sy== "0" ) sy= Symbol ();
for (i= 0 ; i<k; i++) {
if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) {
if ((OrderSymbol()==sy || sy== "" ) && (op< 0 || OrderType()==op)) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (mn< 0 || OrderMagicNumber()==mn) {
if (dt<OrderCloseTime()) {
p+=OrderProfit()+OrderCommission()+OrderSwap();
}
}
}
}
}
}
return (p);
}
// код Кима изменил на это и теперь от считает профит за сегодня и обнуляется в полночьdouble GetProfitFromDateInCurrency1( string sy= "0" , int op=- 1 , int mn=- 1 )
{
double p= 0 ;
int i, k=OrdersHistoryTotal();
datetime dt=StrToTime(TimeToStr( TimeCurrent (), TIME_DATE ));
if (sy== "0" ) sy= Symbol ();
for (i= 0 ; i<k; i++) {
if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) {
if ((OrderSymbol()==sy || sy== "" ) && (op< 0 || OrderType()==op)) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (mn< 0 || OrderMagicNumber()==mn) {
if (dt<OrderCloseTime()) {
p+=OrderProfit()+OrderCommission()+OrderSwap();
}
}
}
}
}
}
return (p);
}
안녕하세요. 어제 마감된 거래의 이익을 계산하는 기능을 도와주세요. 오늘의 수익을 내고 싶습니다. 어제의 이익, 어제의 이익
오늘의 이익을 계산하기 위해 코드를 복사했습니다 /
또는 오늘의 이익의 가치가 어제의 이익으로 낮게 이전되고 어제의 이익으로 이전되도록 만드는 방법
주문 티켓 을 읽을 수 있습니다.
비슷한 기능이 있나요
OrderGetTicket ();
mql4용?
비슷한 기능이 있나요
mql4용?
있긴 하지만 꼭 그렇지만은 않습니다. 주문을 선택한 후 다른 기능을 사용하여 주문 및 티켓 유형 을 결정해야 합니다.
안녕하세요.
i만큼 로트가 증가함에 따라 예금 그리드를 여는 기능이 있습니다.
martin에 따라 그리드(로트)를 구축해야 합니다. 로트1=0.01, 로트2=0.02, 로트3=로트2+로트1. ,
fLots() 함수에서 그것을 설명하는 방법?
onInit 에 공석 이 있는지 확인하고 싶지만 어떤 이유로 선택할 수 없습니다.
나는 얻다:
2019.05.01 00:11:32.177 손익분기점(GBPUSD,H1) 티켓(1) = 0
2019.05.01 00:11:32.177 손익분기점(GBPUSD,H1) 거짓
2019.05.01 00:11:32.177 손익분기점(GBPUSD,H1) 총 포지션 = 1
onInit 에 공석 이 있는지 확인하고 싶지만 어떤 이유로 선택할 수 없습니다.
나는 얻다:
2019.05.01 00:11:32.177 손익분기점(GBPUSD,H1) 티켓(1) = 0
2019.05.01 00:11:32.177 손익분기점(GBPUSD,H1) 거짓
2019.05.01 00:11:32.177 손익분기점(GBPUSD,H1) 총 포지션 = 1
즉시 내 눈을 사로잡은 것:
역 주기에서 다음과 같아야 하기 때문에 더 이상 살펴보지 않았습니다.
즉시 내 눈을 사로잡은 것:
역 주기에서 다음과 같아야 하기 때문에 더 이상 살펴보지 않았습니다.
그리고 나는 이 글이 더 좋다.
그리고 나는 이 글이 더 좋다.
음.. 초보자용으로 보여드렸어요 ;)
안녕하세요. 어제 마감된 거래의 이익을 계산하는 기능을 도와주세요. 오늘의 수익을 내고 싶습니다. 어제의 이익, 어제의 이익
오늘의 이익을 계산하기 위해 코드를 복사했습니다 /
또는 오늘의 이익의 가치가 어제의 이익으로 낮게 이전되고 어제의 이익으로 이전되도록 만드는 방법안녕하세요. 어제 마감된 거래의 이익을 계산하는 기능을 도와주세요. 오늘의 수익을 내고 싶습니다. 어제의 이익, 어제의 이익
오늘의 이익을 계산하기 위해 코드를 복사했습니다 /
또는 오늘의 이익의 가치가 어제의 이익으로 낮게 이전되고 어제의 이익으로 이전되도록 만드는 방법함수 설명에 매개변수를 하나 더 추가하고 확인 조건을 변경합니다.