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

 
mikhail12 :

따라서 결국 다시 열리면 스프레드 값에 의해 포지션이 더 나빠지게 됩니다.

글쎄, 그것은 특히 우아한 변태가 될 것입니다. 할 것 같지 않은.
 
tara :

글쎄, 그것은 특히 우아한 변태가 될 것입니다. 할 것 같지 않은.

예, 이미 확인했습니다. 그렇지 않은 경우 이슬람 계정에서 오스트레일리아인의 매도를 보류하고 스프레드가 있는 계정에서 구매하는 것이 가능할 것입니다. 안정적인 수익이 날텐데.. 은행보다
 

1. 부분적으로 주문이 마감되는 상황 - 티켓이 변경되고, 새로운 주문에 대한 댓글로 작성되어 이해가 되며, 수령이 가능합니다.
2. 상황 일부 중개인은 야간/주말을 통해 포지션을 양도할 때 포지션을 닫았다가 하루 초에 다시 열 때 이 경우 티켓이 어떻게 작동합니까? 이전 티켓은 새 포즈에 대한 댓글로 작성됩니다. 아무 일도 일어나지 않습니까? 주문이 4~8개 이상인 경우 추적하는 방법은 무엇입니까?

 
Vladislav: imhenko, 게시물을 헛되이 삭제했습니다.
 
artmedia70 :


날짜 시간은 동일한 int입니다.



나를 생각하게 만들었습니다 - 나는 datetimeunsigned int 라고 확신했고 확인했습니다 - 당신이 옳았습니다. MT4는 2038년보다 오래 살지 못할 것으로 밝혀졌습니다.). 아직 시간이 있습니다.
 
tara :
Vladislav: imhenko, 게시물을 헛되이 삭제했습니다.


아니요, IMHO는 물론입니다. datetime 은 실제로 int 입니다. 작성된 모든 것이 일반적으로 정확하지만 이 경우에는 그렇지 않습니다. 여기서 나는 MKL 개발자의 논리를 이해할 수 없습니다.

원격 포스트의 ZY 감각은 대상에 다르게 적용해야 하는 유형이 실행 오류(Run Time Error)가 발생할 수 있다는 점이었습니다. 이 경우 형식 불일치가 수정될 것이라는 희망이 있기 때문에 datetime이 int보다 날짜에 더 좋습니다.

 
VladislavVG :


아니요, IMHO는 물론입니다. datetime 은 실제로 int 입니다. 작성된 모든 것이 일반적으로 정확하지만 이 경우에는 그렇지 않습니다. 여기서 나는 MKL 개발자의 논리를 이해할 수 없습니다.

원격 포스트의 ZY 감각은 대상에 다르게 적용해야 하는 유형이 실행 오류(Run Time Error)가 발생할 수 있다는 점이었습니다. 이 경우 형식 불일치가 수정될 것이라는 희망이 있기 때문에 datetime이 int보다 날짜에 더 좋습니다.


동의합니다. datetime 또는 color 대신 사용해서는 안됩니다. 실행 오류 때문이 아니라 개발자가 일을 정리했을 때 일어날 일 때문입니다.
 
VladislavVG :


아니요, IMHO는 물론입니다. datetime 은 실제로 int 입니다. 작성된 모든 것이 일반적으로 정확하지만 이 경우에는 그렇지 않습니다. 여기서 나는 MKL 개발자의 논리를 이해할 수 없습니다.

원격 포스트의 ZY 감각은 대상에 다르게 적용해야 하는 유형이 실행 오류(Run Time Error)가 발생할 수 있다는 점이었습니다. 이 경우 형식 불일치가 수정될 것이라는 희망이 있기 때문에 datetime이 int보다 날짜에 더 좋습니다.

네. MQL5에서와 같이 8바이트를 약속했습니다. 아마도 __time64_t(UNIXTIME64) 유형이 될 것입니다.
 
solnce600 :

전문가 여러분.... 헷갈립니다.

TarasBY artmedia70 은 내 실수가 주문의 매직 넘버 값을 저장하는 변수의 값과 관련이 있다고 말합니다.


비닌 은 마법의 숫자가 아니라 잘못된 논리라고 한다........... artmedia70 이 그에 대해 논한다 .

.

전문가들이 내 문제에 대해 공감대를 갖지 못한다면 초보자로서 내 문제를 해결하려면 어떻게 해야 합니까?


마법의 오류는 스톱으로 닫을 때 고문이 자신의 위치가 스톱으로 닫히는 것을 보지 못한다는 사실로 이어집니다. 왜요? 답은 매직 123으로 포지션을 열고 스톱으로 청산을 확인하는 기능에 Magic 변수를 보내는 것입니다. 암시적 초기화와 동일하다고 생각하는 것은 무엇입니까? 영. 당연히 함수에서 마법이 0인 위치가 검색되고 당신의 위치에 대해 123과 같습니다. 그리고 우리는 논쟁하지 않지만... 우리는 엉뚱한 주장을 합니다... 폐쇄 중지 응답을 확인하십시오:


 double    Lot;
int       Magic= 123 ;

int start() {

   double Price=iOpen( Symbol (), 0 , 0 );
          
   int last_order_bar= 0 ; 
   int ot= OrdersTotal ();
   if (ot> 0 ) {
       if ( OrderSelect (ot- 1 ,SELECT_BY_POS))
         if (OrderType()==OP_BUY || OrderType()==OP_SELL) last_order_bar=iBarShift( Symbol (), 0 ,OrderOpenTime()); 
      }                                    

   int last_hist_order_bar= 0 ;   
   int oht=OrdersHistoryTotal(); 

   if (oht> 0 ) { 
       if ( OrderSelect (oht- 1 ,SELECT_BY_POS, MODE_HISTORY))    
         if (OrderType()==OP_BUY || OrderType()==OP_SELL) last_hist_order_bar=iBarShift( Symbol (), 0 ,OrderOpenTime());
      }

   if (ot== 0 )
       if (Bid==Price)
   //=============================================================== 
         if (((Open[ 1 ]-Close[ 1 ])> 100 * Point )&&((Open[ 1 ]-Close[ 1 ])< 120 * Point ))
             if (((High[ 1 ]-Open[ 1 ])> 40 * Point )&&((High[ 1 ]-Open[ 1 ])< 60 * Point ))
               if (((Close[ 1 ]-Low[ 1 ])> 40 * Point )&&((Close[ 1 ]-Low[ 1 ])< 60 * Point ))
   //============================================================
                  Lot=MarketInfo( Symbol (), MODE_MINLOT);   
                   if (isCloseLastPosByStop( Symbol (), OP_BUY, Magic, Lot)) {
                     Lot=Lot* 2 ;
                     OrderSend ( Symbol (),OP_SELL,Lot,Bid, 1 ,Ask+ 1500 * Point ,Ask- 300 * Point , "jfh" , 123 );
                     }
                   else {
                     Lot= 0.1 ;        
                     OrderSend ( Symbol (),OP_SELL, 1 ,Bid,Lot,Ask+ 1500 * Point ,Ask- 300 * Point , "jfh" , 123 );
                     }
   return ( 0 );
}
//+----------------------------------------------------------------------------+
bool isCloseLastPosByStop( string sy, int op, int mn, double &ll) {
   double    pt;
   int       dg, i, j=- 1 , k=OrdersHistoryTotal()- 1 ;
   datetime t=0;                                   // во избежание возможных ошибок после возможных будущих улучшений
   for (i=k; i>= 0 ; i--) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) {
         if (OrderMagicNumber()!=mn)   continue ;   // если магик не тот, переходим к следующему
         if (OrderSymbol()!=sy)         continue ;   // если символ не тот, переходим к следующему
         if (OrderType()!=op)           continue ;   // если тип не тот, переходим к следующему
         if (t<OrderCloseTime()) {
            t=OrderCloseTime();
            j=i;
            }
         }
      }
   if ( OrderSelect (j, SELECT_BY_POS, MODE_HISTORY)) {
      dg=MarketInfo(OrderSymbol(), MODE_DIGITS);       // количество знаков в цене символа ордера
      pt=MarketInfo(OrderSymbol(), MODE_POINT);       // размер пункта инструмента в валюте котировки ордера
       if ( MathAbs (OrderClosePrice()-OrderStopLoss())< 0.5 *pt) { // Если закрыт по стопу
         ll=OrderLots();                               // записываем количество лотов в ордере, закрытом по стопу
         return ( true );                                 // возвращаем истину
         }
      }
   return (False);                                     // возвращаем ложь (позиции нету, либо не по стопу)
}
//+----------------------------------------------------------------------------+

나는 고문의 나머지 "죽은"논리를 보지 않았습니다. 나는 당신이 stop by close를 확인하는 기능을 처리하는 것을 도왔습니다...

 
tara :

별말씀을요. 행운을 빕니다!

알렉시! 좋은 오후입니다!

우리의 소통이 머리에서 떠나지 않습니다 ....... 그리고 여기에 이유가 있습니다 .....

코딩과 관련하여 논리가 부족하다는 의견을 자주 듣습니다.

어제 부울 대수(Boolean algebra)가 무엇을 의미하는지 설명해 주셨는데요, 이 주제는 매우 광범위하고 심도 있습니다.

사실 나는 수학적 사고방식도, 대수적 사고방식도 가지고 있지 않습니다.

나는 그다지 복잡하지 않은 수학적인 것들을 이해하지만 .... 즉시 이해하지 못합니다. 그리고 내 두뇌는 복잡한 것을 전혀 인식하지 못합니다.

반년 이상 전에 ML 프로그래밍 자습서를 공부하기 시작하기 전에 나는 의심으로 괴로워했습니다.

수학적 능력이 없어도 이해할 수 있습니까?

그러나 Kozlov는 교과서 서문에서 실제로 모든 것이 처음 보이는 것보다 훨씬 간단하다고 말했습니다.

시력.

그리고 실제로 그의 교과서의 60-70%가 제 생각에 이제 이해할 수 있게 되었고(처음은 아닐 수도 있음) 결과적으로 이미 무언가를 코딩할 수 있습니다.

어제까지는 모든 복잡한 수학 계산(이해할 수 없음)이 프로그램에서 수행되는 것처럼 보였고 다음 규칙만 알면 됩니다.

프로그램이 작동하고 계산합니다.

그러나 어제 우리의 의사 소통은 부울 대수학을 마스터하지 않으면 내 코드에 논리가 없을 것이라는 생각으로 이끌었습니다.

내 코드에 부울 논리가 없으면 내 프로그램이 제대로 작동하지 않거나 전혀 작동하지 않습니다.

그러나 어제 저는 Wikipedia를 보고 깨달았습니다. 부울 대수와 아마도 논리는 제 생각이 아닙니다!

어제, 내 코드의 일부를 대충 훑어본 후, 당신은 그 안에 부울 논리가 없다는 결론을 빠르게 내렸습니다.

괜찮으시다면, 이 단편에서 논리가 부족하다는 결론에 앞서 추론 과정을 설명할 수 없습니다.

내가 당신을 이해한다면, 나는 계속할 것입니다. 만약 - 모르겠다 ..... 아마도 프로그래밍은 내 능력을 훨씬 능가하는 것이라고 결론을 내릴 것입니다.

고맙습니다.

만약 (ot==0)
if (입찰가==가격)
if(((Open[1]-Close[1])>100*Point)&&((Open[1]-Close[1])<120*Point))
if(((High[1]-Open[1])>40*Point)&&((High[1]-Open[1])<60*Point))
if(((종가[1]-낮은[1])>40*포인트)&&((종가[1]-낮은[1])<60*포인트))