특히 ClosePosBySizeProfitInCurrency() 함수의 작업을 보여주기 위해 Expert Advisor를 작성했습니다. e-CloseByProfitPosInCurrency , 예금 통화의 이익이 특정 지정된 값을 초과하는 포지션만 마감합니다. Expert Advisor는 하나의 차트와 여러 차트에 모두 설치할 수 있습니다. 어드바이저의 외부 매개변수를 사용하여 마감된 위치 목록을 지정할 수 있습니다.
기호 ="0" - 거래 수단. 다음 값이 허용됩니다. "0" - 모든 거래 상품, "" - 현재 상품 및 시장 시계의 모든 값(EURUSD, GBPUSD 등).
작업 =-1 - 무역 작업. 유효한 값: -1 - 모든 거래 작업, 0 - OP_BUY, 1 - OP_SELL.
rid писал (а): Igor, 주어진 손실에 도달했을 때 ClosePosBySizeProfitInCurrency()와 유사한 방식으로 수익성이 없는 포지션을 닫는 함수가 있습니까? (또는 결합하여 손익에 대한 마감을 설정할 수 있습니다.)
아니요, 아직 이 기능이 없습니다. 그러나 ClosePosBySizeProfitInCurrency()를 다시 만들 수 있습니다.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 25.04.2008 |//| Описание : Закрытие тех позиций, у которых убыток в валюте депозита |//| превысил некоторое значение |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//| pr - профит/убыток |//+----------------------------------------------------------------------------+voidClosePosBySizeLossInCurrency(stringsy="", intop=-1, intmn=-1, doublepr=0){inti, k=OrdersTotal();
if(sy=="0")sy=Symbol();
for(i=k-1; i>=0; i--){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){if((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)){if(OrderType()==OP_BUY || OrderType()==OP_SELL){if(mn<0 || OrderMagicNumber()==mn){if(OrderProfit()+OrderSwap()<-MathAbs(pr))ClosePosBySelect();
}}}}}}
손실이 양수(손실)와 음수(마이너스 기호가 있는 이득)로 양도될 수 있도록 만들었습니다.
리드 는 다음과 같이 썼습니다. 내가 이해하는 한, 마이너스 기호를 사용하여 OrderProfit () 에 대한 pr 매개변수를 간단히 설정할 수 있습니다 . 그러면 원하는 것을 얻을 수 있습니다.
그러나 포인트(예금 통화가 아님)로 임계값을 설정할 수 있습니까? 그렇다면 어떻게? (이익 및 손절을 제안하지 마십시오)
이 기능은 예금 통화에서 최대 양수 이익으로 한 포지션을 마감합니다. 즉, 현재 각각의 이익이 -34, 15, 73, -90, 41인 5개 포지션 중 예금 통화로 73단위 이익이 있는 포지션이 청산됩니다. 폐쇄 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
sy - 도구 이름. 이 매개변수를 설정하면 이 기능은 지정된 기기의 위치만 확인합니다. NULL은 현재 도구를 의미하고 ""(기본값)은 모든 도구를 의미합니다.
op - 거래 작업 , 위치 유형. 유효한 값: OP_BUY, OP_SELL 또는 -1. 기본값 -1은 임의의 위치를 의미합니다.
mn - 위치 ID(MagicNumber). 기본값은 -1 - 모든 마법입니다.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Закрытие одной позиции с максимальным положительным профитом |//| в валюте депозита |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+voidClosePosWithMaxProfitInCurrency(stringsy="", intop=-1, intmn=-1){doublepr=0;
inti, k=OrdersTotal(), np=-1;
if(sy=="0")sy=Symbol();
for(i=k-1; i>=0; i--){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){if((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)){if(mn<0 || OrderMagicNumber()==mn){if(pr<OrderProfit()+OrderSwap()){pr=OrderProfit()+OrderSwap();
np=i;
}}}}}if(np>=0){if(OrderSelect(np, SELECT_BY_POS, MODE_TRADES)){ClosePosBySelect();
}}}
한편, 툴바의 "Expert Advisors" 버튼을 눌러 Expert Advisor를 중지할 수 있습니다.
글쎄, 원칙적으로는 옵션으로 감사합니다. 고문을 떠날 매개 변수가 많지 않으므로 어렵지 않습니다.
ClosePosBySizeProfitInCurrency() 함수 사용 예
특히 ClosePosBySizeProfitInCurrency() 함수의 작업을 보여주기 위해 Expert Advisor를 작성했습니다.
e-CloseByProfitPosInCurrency , 예금 통화의 이익이 특정 지정된 값을 초과하는 포지션만 마감합니다. Expert Advisor는 하나의 차트와 여러 차트에 모두 설치할 수 있습니다. 어드바이저의 외부 매개변수를 사용하여 마감된 위치 목록을 지정할 수 있습니다.
모두에게 좋은 하루.
Igor, 주어진 손실에 도달했을 때 ClosePosBySizeProfitInCurrency()와 유사한 방식으로 수익성이 없는 포지션을 닫는 함수가 있습니까? (또는 결합하여 손익에 대한 마감을 설정할 수 있습니다.)
내가 이해하는 한, 마이너스 기호를 사용하여 OrderProfit () 에 대한 pr 매개변수를 간단히 설정할 수 있습니다 . 그러면 원하는 것을 얻을 수 있습니다.
그러나 포인트(예금 통화가 아님)로 임계값을 설정할 수 있습니까? 그렇다면 어떻게? (이익 및 손절을 제안하지 마십시오)
Igor, 주어진 손실에 도달했을 때 ClosePosBySizeProfitInCurrency()와 유사한 방식으로 수익성이 없는 포지션을 닫는 함수가 있습니까? (또는 결합하여 손익에 대한 마감을 설정할 수 있습니다.)
아니요, 아직 이 기능이 없습니다. 그러나 ClosePosBySizeProfitInCurrency()를 다시 만들 수 있습니다.
손실이 양수(손실)와 음수(마이너스 기호가 있는 이득)로 양도될 수 있도록 만들었습니다.
내가 이해하는 한, 마이너스 기호를 사용하여 OrderProfit () 에 대한 pr 매개변수를 간단히 설정할 수 있습니다 . 그러면 원하는 것을 얻을 수 있습니다.
그러나 포인트(예금 통화가 아님)로 임계값을 설정할 수 있습니까? 그렇다면 어떻게? (이익 및 손절을 제안하지 마십시오)
e-CloseByProfit EA 코드를 보십시오.
ClosePositions() 함수.
이 함수는 매개변수가 지정된 값을 충족하는 위치를 닫습니다.
ClosePosFirstProfit() 함수.
이 기능은 특정 순서, 즉 먼저 수익성이 있고 나머지는 모두 포지션을 마감합니다. 폐쇄 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
함수 ClosePosWithMaxProfitInCurrency().
이 기능은 예금 통화에서 최대 양수 이익으로 한 포지션을 마감합니다. 즉, 현재 각각의 이익이 -34, 15, 73, -90, 41인 5개 포지션 중 예금 통화로 73단위 이익이 있는 포지션이 청산됩니다. 폐쇄 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.
CCI 값이 100보다 크면 값이 -100보다 작아질 때까지 매수 포지션을 열고 -100보다 작으면 100보다 클 때까지 매도 포지션을 엽니다.
Dima에게 다음 기능을 제공할 수 있습니다.
이 함수는 매수할 때 1을 반환하고 매도할 때 -1을 반환합니다. 구매 / 판매 조건은 귀하의 희망에 해당합니다. 이제 모든 틱에서 다음을 수행하기만 하면 됩니다.
1. GetTradeSignal() 함수의 값을 가져옵니다.
2. 수신된 값이 ==0이면 아무 작업도 수행하지 않습니다.
3. 수신된 값이 >0이면 모든 판매를 종료하고 구매합니다.
4. 받은 값이 <0이면 모든 구매를 닫고 판매합니다.