KimIV의 유용한 기능 - 페이지 81

 
KimIV >> :

76페이지 에서...

고맙습니다

 

isTradeTimeInt() 함수.

이 함수는 시간 거래 허가 플래그를 반환합니다. 반환 값은 true 또는 false입니다. isTradeTimeInt() 함수는 시간 간격 인식 원칙에 의해 isTradeTimeString() 함수와 유사합니다. 날). isTradeTimeInt() 함수는 다음과 같은 선택적 매개변수를 허용합니다.

  • hb - 숫자, 거래 시작 시간을 설정합니다. 기본값은 0입니다.
  • mb - 숫자, 거래 시작 시간의 분을 설정합니다. 기본값은 0입니다.
  • he - 숫자, 거래 종료 시간을 설정합니다. 기본값은 0입니다.
  • me - 숫자, 거래 종료 시간(분)을 설정합니다. 기본값은 0입니다.
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,   http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 30.04.2009                                                     |
//|  Описание : Возвращает флаг разрешения торговли по времени.                |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    hb - часы времени начала торговли                                       |
//|    mb - минуты времени начала торговли                                     |
//|    he - часы времени окончания торговли                                    |
//|    me - минуты времени окончания торговли                                  |
//+----------------------------------------------------------------------------+
bool isTradeTimeInt ( int hb = 0 , int mb = 0 , int he = 0 , int me = 0 ) {
   datetime db , de ;            // Время начала и окончания работы
   int       hc ;                // Часы текущего времени торгового сервера

  db = StrToTime ( TimeToStr ( TimeCurrent ( ) , TIME_DATE ) + " " + hb + ":" + mb ) ;
  de = StrToTime ( TimeToStr ( TimeCurrent ( ) , TIME_DATE ) + " " + he + ":" + me ) ;
  hc = TimeHour ( TimeCurrent ( ) ) ;
   if ( db > = de ) {
     if ( hc > = he ) de + = 24 * 60 * 60 ; else db - = 24 * 60 * 60 ;
   }

   if ( TimeCurrent ( ) > = db & & TimeCurrent ( ) < = de ) return ( True ) ;
   else return ( False ) ;
}
 

isTradeTimeInt() 함수 사용의 예.

  1. 하루 내의 기간입니다. 거래 서버의 현재 시간은 간격 내에 있으며 "08:30"과 같게 둡니다.
    if (isTradeTimeInt(6, 0, 9, 30)) Message("Торгуем...");
    else Message("Отдыхаем...");
  2. 하루 내의 기간입니다. 거래 서버의 현재 시간은 간격 밖에 있으며 "08:30"과 같게 둡니다.
    if (isTradeTimeInt(12, 0, 16, 30)) Message("Торгуем...");
    else Message("Отдыхаем...");
  3. 시간 간격에는 하루의 경계가 포함됩니다. 거래 서버의 현재 시간은 간격 내에 있으며 "08:30"과 같게 둡니다.
    if (isTradeTimeInt(21, 15, 9, 30)) Message("Торгуем...");
    else Message("Отдыхаем...");
  4. 시간 간격에는 하루의 경계가 포함됩니다. 거래 서버의 현재 시간은 간격 밖에 있으며 "08:30"과 같게 둡니다.
    if (isTradeTimeInt(22, 0, 5, 30)) Message("Торгуем...");
    else Message("Отдыхаем...");

추신. isTradeTimeInt() 함수를 테스트하기 위한 스크립트가 첨부되어 있습니다.

파일:
 

짧은 설명과 링크로 업데이트된 기능 목록...

파일:
f_kimiv.rar  12 kb
 
KimIV >> :

isCloseLastPosByStop() 함수.

이 함수는 stop으로 마지막 위치를 닫기 위한 플래그를 반환합니다. 플래그 발생 - True - StopLoss가 트리거되었습니다. 플래그가 생략됨 - False - 다른 이유로 포지션이 마감되었습니다. 고려할 위치의 보다 정확한 선택은 외부 매개변수에 의해 설정됩니다.


여보세요

나는 내 자신의 목적을 위해 당신의 기능을 사용하려고합니다. 작은 작업 전문가. 하나의 포지션만 판매하고 마감합니다. 때때로 그것은 연속적으로 여러 스톱 로스를 잡습니다. 나는 첫 번째 중지 후 판매 조건이 변경되기를 원합니다. Expert Advisor는 포지션을 열지만 닫지는 않습니다. 내가 뭘 잘못하고 있는지 말해줘 ?

.................................................................................. . .......

if ( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) == 0)
{
if ( (StochK_0<StochD_1) && (StochD_1 > 80) ) // 첫 번째 조건부 판매
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*Point,0, "내 경험치", MagicNamber,0,Green); // 팔다

주문 선택(0, SELECT_BY_POS);

if (OrderSelect(0, SELECT_BY_POS)==true )
인쇄("선택됨");
또 다른
Print("오류를 선택하지 않았습니다: ",GetLastError());
새로 고침();
if((StochK_0<30)&& (StochD_1 < 30))
OrderClose(OrderTicket(),OrderLots(),Ask,3,바이올렛);
}
또 다른
if ( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) == 1)
{
if ((StochK_0<StochD_1) && (StochK_0 < 60) && (StochD_1 < 60) ) //두 번째 판매 조건

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0, "내 경험치", MagicNamber,0,Green); // //

...........................

 
KoZaNOStra писал(а) >>
Expert Advisor는 포지션을 열지 만 닫지는 않습니다 .

StochK_0StochD_1 변수를 인쇄합니다. 포지션을 청산하기 위한 조건에 해당하지 않는 값을 취할 수도 있습니다.

 

KimIV에게

안녕하세요, 이 클러스터 표시기 를 동일한 도면과 + 입력 매개변수 - 쌍의 이름으로 PAIR 변경률 값(오른쪽 상단 모서리) 반환을 사용하는 함수로 변환하는 데 도움을 주실 수 있습니까? 미리 감사드립니다.

P.S..... 일주일째 고생중

파일:
cc_240.mq4  13 kb
 
통화 쌍의 열린 창에 뉴스를 표시하는 기능이 있습니까
 
그러나 첫 번째 초에 임의의 시간이 시작될 때 두 개의 서로 다른 방향의 위치를 열고 마지막 두 번째 시간에 실패한 주문을 닫는다는 것을 코드로 표현하는 방법은 무엇입니까?
 
VAM_ писал(а) >>
그러나 첫 번째 초에 임의의 시간이 시작될 때 두 개의 서로 다른 방향의 위치를 열고 마지막 두 번째 시간에 실패한 주문을 닫는다는 것을 코드로 표현하는 방법은 무엇입니까?

그리고 그들이 거기에 없다면, 처음과 마지막 초는?