[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 127

 
VOLDEMAR :
그때 실생활에서 시작하면 "스텝*포인트가 > 현재 손실이 되면 이익이 온다" 라고 하면 수익이 고정 마이너스가 되는 모습을 보게 되는데... 브로커의 업무로 인해.. .. 미리 체크해서 도착해서 일부러 테이크 넣어달라고 해서 ...........
당신은 이상합니다. 내 게시물은 귀하의 질문에 대한 또 다른 답변입니다. 다른 방법일 뿐입니다. 그러나 시각적으로 더 이해하기 쉽습니다.
[Deleted]  
초보 프로그래머에게 OrderSelect 기능을 사용하여 마지막으로 마감된 거래를 선택하는 방법을 알려주시겠습니까? 나는 이것을 시도했다 : OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), 그러나 분명히 이런 방식으로 주문이 선택되지 않았습니다 ...
 
누군가이 조언자 아이디어를 구현하십시오.

아이디어 번호 5 TS - 자체 패턴(샘플). 그림도 있습니다. TS와 거래기준은 간단하고

좋은 프로그래머는 많은 시간을 들이지 않을 것입니다. 결과를 보고 싶어 하는 사람이 없습니까?
 
1:1 레버리지로 테스트를 수행하는 방법을 아는 사람을 알려주세요.
 

그런 레버리지로 데모 계정을 열어보십시오 - 1:1. 그리고 테스트합니다.

아마 효과가 있을까요?


 
Moslift :
초보 프로그래머에게 OrderSelect 기능을 사용하여 마지막으로 마감된 거래를 선택하는 방법을 알려주시겠습니까? 나는 이것을 시도했다 : OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), 그러나 분명히 이런 방식으로 주문이 선택되지 않았습니다 ...


여기를 보십시오: https://www.mql5.com/ru/forum/131859

-페이지#4
GetTypeLastClosePos - 마지막으로 닫힌 위치의 유형을 반환하거나 -1
GetTypeLastOpenPos - 마지막 열린 위치의 유형을 반환하거나 -1
isCloseLastPosByStop - 스톱으로 마지막 위치를 닫기 위한 플래그를 반환합니다.
isCloseLastPosByTake - 마지막 위치를 테이크에 의해 닫는 플래그를 반환합니다.
isLossLastPos - 마지막 위치 손실 플래그를 반환합니다.
isTradeToDay - 오늘의 거래 플래그를 반환합니다.
NumberOfBarCloseLastPos - 마지막 위치의 닫는 막대 번호 또는 -1을 반환합니다.
NumberOfBarOpenLastPos - 마지막 위치의 열린 막대 번호 또는 -1을 반환합니다.
NumberOfLossPosToday - 오늘 마감된 손실 위치 수를 반환합니다.
PriceCloseLastPos - 마지막으로 마감된 포지션의 종가를 반환합니다.

 
Moslift :
초보 프로그래머에게 OrderSelect 기능을 사용하여 마지막으로 마감된 거래를 선택하는 방법을 알려주시겠습니까? 나는 이것을 시도했다 : OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), 그러나 분명히 이런 방식으로 주문이 선택되지 않았습니다 ...

다음과 같이 시도하십시오.

   int       i, j;
   datetime t;
   for (i= 0 ; i< OrdersHistoryTotal (); i++) {           // Цикл по закрытым ордерам терминала
       if ( OrderSelect (i,SELECT_BY_POS,MODE_HISTORY)) { // Если выбран ордер...
         if ( OrderType ()> 1 )               continue ;   // ... если его тип не Buy и не Sell, переходим к следующему...
         if ( OrderSymbol ()!= Symbol ())     continue ;   // ... если его символ не соответствует символу графика - к следующему...
         if ( OrderMagicNumber ()!=Magic)   continue ;   // ... если его магик не соответствует магику советника (в переменной Magic) - к следующему
         if ( OrderCloseTime ()>t) {                     // ... если время его закрытия больше предыдущего
            t= OrderCloseTime ();                       // ... сохраним новое наибольшее время закрытия, ...
            j=i;                                       // ... сохраним индекс ордера в массиве закрытых ордеров
            }                   
         }
      }
   if ( OrderSelect (j,SELECT_BY_POS,MODE_HISTORY))     // На этом этапе j содержит индекс последнего закрытого ордера
       Print ( "Выбран последний закрытый ордер с тикетом " , OrderTicket ());

루프에서 구매 또는 판매만 확인된다는 점에 유의하십시오. 이를 바탕으로 다른 유형의 주문을 선택할 수 있기를 바랍니다.

추신 ... "내 무릎에"라고 썼는데 어딘가에 실수를 놓쳤을 수 있습니다 ...

 

이 기능이 작동하지 않는 이유와 작동시키는 방법을 알려주십시오.


nomer_sdelki=OrderSend( Symbol() ,OP_SELL,1,Bid,3,Bid-10*Point,Ask+10*Point,"내 주문 번호"+1,16384,0,Green);

-------------------------------------------------- -------------------------------------------------- --------------------

그리고 이것이 작동하는 방식입니다!

nomer_sdelki=OrderSend(Symbol(),OP_SELL,계수,입찰가,3,0,0,"내 주문 번호"+1,16384,0,녹색);

즉, 정류장이 설정되지 않은 경우 작동합니다.

-------------------------------------------------- -------------------------------------------------- --------------------------

이 기능도 작동하지 않습니다. 해결 방법은 무엇입니까?

OrderClose(nomer_sdelki, 계수, 입찰가, 3, 빨간색);


-------------------------------------------------- -------------------------------------------------- -------------------------------------------



 
leonid553 :

그런 레버리지로 데모 계정을 열어보십시오 - 1:1. 그리고 테스트합니다.

아마 효과가 있을까요?


센크스 (고마워요) :))
 

약간의 기적...

메시지가 있었는데 없었습니다...

답변: 꼭 필요한가요?

 // ----------------- SchBuyLs() ---------------------------------------------
//  Функция возвращает суммарный лот Бай-ордеров 
//----------------------------------------------
double SchBuyLs_b() {
   double SchBuyLs= 0 ;
   int i;
   string SMB= Symbol ();
   for (i= OrdersTotal ()- 1 ; i>= 0 ; i--) {                   //Начало цикла
       if (! OrderSelect (i, SELECT_BY_POS)) WriteError(i);
       else   {                                             //начало работы с выбранным ордером
         if ( OrderSymbol ()!=SMB)     continue ;
         if ( OrderType ()==OP_BUY)    SchBuyLs+= OrderLots ();
         }                                               //конец работы с выбранным ордером
      }                                                  //Конец цикла
   return (SchBuyLs);                                     // При ошибке выбора ордера функция вернёт ноль
}
// ----------------------------------------------------------------------------