포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 871

 
//-------Пример(мой) приказа на открытие позиции с привязкой закрытия ----------------------------------------------------- 
                                                      
                                                      //Локальная переменная, открывающая ордер БАЙ
   int OrdBuy_1() = (OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-1500*Point,Bid+1500*Point));
   
        //-------Тогда закрытие именно для этого приказа может быть таким:-----------------------------------------------------
    
    if (OrdBuy_1()==true)                              //Если был открыт ордер №1, то...
     {                                                 //...выполнить следующее:...
                                                       //...при условии, что Желтая выше красной, с сужением(условие1)...
                                                       //...и есть верхний перелом Средней (условие2)...
                                                       //...ИЛИ при условии, что Желтая выше красной, с расширением(условие1а)...
                                                       //...и есть верхний перелом Боллинджера (условие2а)... 
     if ((Yellow_0>Red_0) && (Yellow_0-Red_0)<(Yellow_1-Red_1) && (MA_2 < MA_1 && MA_1 > MA_0) || (Yellow_0>Red_0) && (Yellow_0-Red_0)>(Yellow_1-Red_1) && (MB_2 < MB_1 && MB_1 > MB_0))
        {                              
       bool Ans=OrderClose(OrdBuy_1,Lots,Bid,0);       //...закрыть ордер №1 по цене Bid (лок.переменная)и выдать сообщение                                                      
         Alert("Попытка закрыть ордер БАЙ лотом("Lots"), с ценой открытия("Ask"). Ожидание ответа..");
        }
      }
   if (Ans==true)                                     // Если получилось,... 
        {                                             //... выдать сообщение
         Alert ("Закрыт ордер БАЙ лотом("Lots"),с ценой открытия("Ask"), цена закрытия("Bid"));
        }
 
이것은 위의 게시물을 약간 수정한 예입니다.
 
rapid_minus :

r772ra artmedia70 , 설명 감사합니다.

나는 거래자가 여러 통화 쌍, 계정 등에 대해 여러 개의 열린 주문과 함께 여러 고문을 사용할 때 주로 마술이 필요하다는 것을 이해했습니다. (맞나요?)

나는 이것과는 거리가 멀고, 내 생각에 내 고문이 플러스로 일한다면 이것으로 충분할 것입니다. 나는 여전히 하나의 쌍, 하나의 DC가 있는 하나의 계정을 위해 개발 중이며 하나의 주문만 열려 있어야 하며 이 특정 주문에 대해 특정한 경우 에만 해당 주문을 닫는 데만 매직(또는 열려 있는 위치의 다른 식별자)이 필요합니다. 조건 및 다른 주문을 마감하는 데 유효한 기타 조건(이 주문을 마감한 후에만 열 수 있음)은 이 주문에 유효하지 않습니다.

예를 들어, BUY 주문은 조건 (a+b+c+d) 또는 (a+e+e) 또는 (g+h+i+j)가 나타날 때 열릴 수 있으며, 해당 조건에 따라 열리면 자체 조건에 따라 닫아야합니다. (a + b + c + d) (f + g + l), (a + e + e) (s + l + m + n), (g + h + i + j) by (n+r+s+t).

여기에서도 주문 루프가 필요하지 않은 것 같습니다. 공간을 많이 차지하지 않는 간단한 솔루션이 있어야 합니다. 위에서 내 비전을 설명했지만 아직 분석을 기다리지 않았으며 논리적 오류 외에도 구문 오류가 있을 수 있습니다(괄호가 충분하지 않고 변수가 잘못 설정되는 등).

업무에 사용하지 마십시오. 도와주세요. 그것 없이 멈췄다. 감사해요

마지막 오픈 포지션의 티켓을 결정하고 처리합니다. IMHO - 티켓 번호를 변수에 저장하는 것은 실패할 경우 잃어버리기 쉽기 때문에 좋지 않습니다. 주문에 대해 작업하려면 먼저 주문을 선택해야 합니다. 인덱스 또는 티켓으로 선택할 수 있습니다. 티켓을 정확히 알아야 합니다. 동시에 티켓으로 성공적인 선택 후 "이 티켓이 있는 포지션이 닫혔는지"도 확인해야 합니다. 시장에 하나의 위치만 있는 경우 주기는 시간이 많이 걸리는 작업이 아닙니다. 그러나 티켓 번호를 변수에 저장할 필요는 없습니다. 목록에서 마지막 순서를 선택할 수 있지만 변경할 수 있는 정렬에 대한 종속성이 있습니다(이전에 터미널에서 정렬에 대한 종속성이 있었다가 제거한 다음 다시 나타났다가 다시 제거됨) - 다시는 나타나지 않을 것이라는 믿음이 있습니까? 난 없어. 시장에 단 하나의 위치만 있는 경우 루프에서 단 하나의 반복이 있을 것입니다. 많은가요?

매수 마감 조건이 발생했습니까?
그렇다면, 우리는 마지막으로 열린 매수 포지션의 티켓을 찾고 있습니다.
그렇지 않은 경우 시작
티켓을 찾으면 이 상황에서 주문에 필요한 조치를 취합니다.
그렇지 않으면 시작

 
rapid_minus :
이것은 위의 게시물을 약간 수정한 예입니다.

OrdBuy_1() 함수는 무엇입니까? 당신의 것은 변수가 아니라 함수입니다. 이 구성은 완전히 잘못되었습니다. 함수는 내부가 아닌 다른 함수 외부에서 정의됩니다.

 
artmedia70 :

마지막 오픈 포지션의 티켓을 결정하고 처리합니다. IMHO - 티켓 번호를 변수에 저장하는 것은 실패할 경우 잃어버리기 쉽기 때문에 좋지 않습니다. 주문에 대해 작업하려면 먼저 주문을 선택해야 합니다. 인덱스 또는 티켓으로 선택할 수 있습니다. 티켓을 정확히 알아야 합니다. 동시에 티켓으로 성공적인 선택 후 "이 티켓이 있는 포지션이 닫혔는지"도 확인해야 합니다. 시장에 하나의 위치만 있는 경우 주기는 시간이 많이 걸리는 작업이 아닙니다. 그러나 티켓 번호를 변수에 저장할 필요는 없습니다. 목록에서 마지막 순서를 선택할 수 있지만 변경할 수 있는 정렬에 대한 종속성이 있습니다(이전에 터미널에서 정렬에 대한 종속성이 있었다가 제거한 다음 다시 나타났다가 다시 제거됨) - 다시는 나타나지 않을 것이라는 믿음이 있습니까? 난 없어. 시장에 단 하나의 위치만 있는 경우 루프에서 단 하나의 반복이 있을 것입니다. 많은가요?

매수 마감 조건이 발생했습니까?
그렇다면 우리는 마지막으로 열린 매수 포지션의 티켓을 찾고 있습니다.
그렇지 않은 경우 시작
티켓을 찾으면 이 상황에서 주문에 필요한 조치를 취합니다.
그렇지 않으면 시작

감사합니다. 해결해 보겠습니다. 그러나 귀하의 설명에 따라 다시 시도하지만 위의 예에서 내 실수를 말하여 반복하지 않도록 합니다.

감사해요

 
rapid_minus :

감사합니다. 해결해 보겠습니다. 그러나 귀하의 설명에 따라 다시 시도하지만 위의 예에서 내 실수를 말하여 반복하지 않도록 합니다.

감사해요

가야 해요 - 시간이 없어요. 요컨대 - 변수가 int이면 왜 bool로 확인합니까? 손절매와 이익실현 값을 정규화해야 합니다. 더 이상 보지 않았습니다.
 

추세선을 만지작거리며 얻는 방법을 배웠습니다. 불행히도 테스터에서 최적화하는 동안 그래픽 개체가 작동하지 않는 것으로 나타났습니다.

어떻게 될 것인가? 지표에서 얻을 가치가 있습니까?

 Buffer[i] = ObjectGetValueByTime (chart_ID,name,Time[ 1 ],sub_window);

최적화가 이렇게 될까요?

 
artmedia70 :
가야 해요 - 시간이 없어요. 요컨대 - 변수가 int이면 왜 bool로 확인합니까? 손절매와 이익실현 값을 정규화해야 합니다. 더 이상 보지 않았습니다.

글쎄요, 저는 완전히 혼란스럽습니다. OrdBuy_1( )은 이 함수 위에 표시된 1번 조건에서 BUY를 여는 함수입니다. 주문 시작 가격을 반환하기 때문에 이중 유형만 int 보다 정확할 것입니다. 그리고 제가 알기로는 int start() 이후에 따로 어떤 함수에 삽입하지 않고 따로 세워서 필요한 모든 지표의 값을 추출하고 시장의 현황을 분석합니다.(제가 착각한건가요?) .

그리고 스톱 앤 테이크를 정규화하는 방법, 또는 더 나은 방법-전혀 설정하지 않는 방법은 무엇입니까?

그리고 수표에 대해 이해하지 못했습니다. 튜토리얼을 잘못 이해한 것 같습니다 - " bool 주문닫기 ( 정수 티켓 , 더블 많은 , 두 배 가격 , 정수 미끄러짐 , 색상 색상 = CLR_NONE ) 시장가 주문 마감 기능." 수표가 무엇입니까?

일반적으로 더 멍청한 :(.

 
Forexman77 :

추세선을 만지작거리며 얻는 방법을 배웠습니다. 불행히도 테스터에서 최적화하는 동안 그래픽 개체가 작동하지 않는 것으로 나타났습니다.

어떻게 될 것인가? 지표에서 얻을 가치가 있습니까?

최적화가 이렇게 될까요?

실제 선 대신 가상 선을 계산합니다.
 
Forexman77 :

추세선을 만지작거리며 얻는 방법을 배웠습니다. 불행히도 테스터에서 최적화하는 동안 그래픽 개체가 작동하지 않는 것으로 나타났습니다.

어떻게 될 것인가? 지표에서 얻을 가치가 있습니까?

최적화가 이렇게 될까요?

아니요, 그렇지 않습니다. 그래픽은 렌더링 모드에서만 표시됩니다.