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

 

여기요 ! 문제는 설명에 대해 개체에 대해서만 알고 있는 경우 개체가 수동으로 삭제되었는지 확인하는 방법입니다. 즉, 이름을 알 수 없는 객체가 있고, 이 객체에 이익실현 이 붙고, 객체가 삭제되면 이익실현을 제거하고 객체의 이름을 모르는 동안 ....

개체의 이름을 변경하는 방법이 있을까요????

 

어드바이저 개선좀 도와주세요!!! 시그널이 도착하면 하나의 주문이 열리길 원하고, 다음 주문이 오면 다른 하나는 오픈 오더가 있건 없건 간에, 등등.

무슨 일이야!!!

 m0= iMA ( NULL , 0 ,PeriodMA, 0 , MODE_SMA , PRICE_CLOSE , 0 );
    m1= iMA ( NULL , 0 ,PeriodMA, 0 , MODE_SMA , PRICE_CLOSE , 1 );
    lwma= iMA ( NULL , 0 ,PeriodLWMA, 0 , MODE_LWMA , PRICE_CLOSE , 0 );
    lwma1= iMA ( NULL , 0 ,PeriodLWMA, 0 , MODE_LWMA , PRICE_CLOSE , 1 );
    sar= iSAR ( NULL , 0 ,step,maximum, 0 );
    sar1= iSAR ( NULL , 0 ,step,maximum, 1 );
//+------------------------------------------------------------------+
   
      Lots= NormalizeDouble (AccountFreeMargin(), 0 )*MaxRisk/ 1000 ;
     if (Lots< 0.01 ) 
     return (Lot);
//--------------------------------------------------------------------
    balans= NormalizeDouble (AccountFreeMargin(), 2 );
//--------------------------------------------------------------------
   total= OrdersTotal ();
   if ( OrdersTotal ()>= 0 )
     {
   x= 1 ;
   x++;  
//==========================Медленный==================================
   if ( m1>lwma1 && m0<lwma && balans> 0 && total<x)
     {
     ticket= OrderSend ( Symbol (),OP_SELL,Lots,Bid, 3 ,Ask+sl* Point ,Ask-tp* Point , "0" ,Magik, 0 ,Red);
     }
   if (ticket> 0 )
     {
     Alert ( "Продажа №" ,ticket, "\n" , Symbol ());
     return ( 0 );
     }
//-------------------------------------------------------------------- 
   if ( m1<lwma1 && m0>lwma && balans> 0 && total<x)
    {
      ticket= OrderSend ( Symbol (),OP_BUY,Lots,Ask, 3 ,Bid-sl* Point ,Bid+tp* Point , "0" ,Magik, 0 ,Blue);
     }
   if (ticket> 0 )
     {
       Alert ( "Покупка № " ,ticket, "\n" , Symbol ());
       return ( 0 );  
     }
//========================Быстрый=====================================
   
     if (sar1<Bid && sar>Ask && balans> 0 && total<x)
      {
       ticket= OrderSend ( Symbol (),OP_SELL,Lots,Bid, 3 ,Ask+sl1* Point ,Ask-tp1* Point , "0" ,Magik1, 0 ,Red); return ;
      }
     if (ticket> 0 )
      {
       Alert ( "Продажа №" ,ticket, "\n" , Symbol ());
       return ( 0 );
      }
//---------------------------------------------------------------------
   if (sar1>Ask && sar<Bid && balans> 0 && total<x)
      {
      ticket= OrderSend ( Symbol (),OP_BUY,Lots,Ask, 3 ,Bid-sl1* Point ,Bid+tp1* Point , "0" ,Magik1, 0 ,Blue);
      }
   if (ticket> 0 )
     {
         Alert ( "Покупка №" ,ticket, "\n" , Symbol ());
         return ( 0 );
        }
       }
 

막 다른 골목.....

if(Ma_1>Ma_2 && flagg==0) {PlaySound("news.wav"); 플래그=1; 플래그=0; }

if(Ma_1<Ma_2 && 플래그==0) {PlaySound("ok.wav"); 플래그=1; 플래그=0; }

인쇄 (플래그, 플래그);

Ma_1 - 짧은
Ma_2 - 긴

with Ma_1>Ma_2는 멈추지 않고 news.wav를 울리고 0 1을 출력합니다(즉, flag=0 flagg=1).

그러나 flagg=1일 때 조건(Ma_1>Ma_2 && flagg==0)이 충족되고 {PlaySound("news.wav")가 통과하는 방법은 ???

 
안녕하세요 여러분, 초기 자본 금액의 일정 비율에 도달한 후 모든 포지션을 닫을 수 있도록 어드바이저를 다시 만들어야 합니다. 에퀴티는 5%로 설정됩니다. 즉 1050의 에퀴티로 모든 포지션을 청산합니다. 저는 EA 가 전역 변수를 쓰 도록 했고 이 값을 읽고 포지션을 닫도록 했습니다. 그러나 EA는 마감하고 잔액이 증가하여 자기자본의 5%에서 마감하는 것으로 나타났습니다. 자기자본 가치는 더 이상 1050이 아니며 때로는 훨씬 더 많이 필요하기도 합니다. 그리고 이익 대신 손실을 입습니다. 세계적인 변화를 알고 직면한 사람을 도우십시오!!! 답변에 미리 감사드립니다.
파일:
 
좋은 저녁이에요! 내가 제대로 이해했는지 말해봐
iStochastic
방법
그것은 라인 K 또는 D를 의미합니까? 그리고 0은 K, 1은 D?
 

전역 변수 없이 이 옵션을 살펴보세요.

 if (Profit>AccountEquity( )*koefitsientudaleniya){  
   int Total= OrdersTotal ();
     for ( i= OrdersTotal ()- 1 ;i>= 0 ;i--){
   OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
   if (OrderSymbol() != Symbol ()) continue ; 
   if (OrderMagicNumber() != 450 ) continue ;
   if (OrderType()==OP_SELL) {
  OrderClose(OrderTicket(),OrderLots(),Ask, 6 ,Red); Print ( " i " , i, "  GetLastError()CloseOP_SELL " , GetLastError ()  );}
   if (OrderType()==OP_BUY)  {
  OrderClose(OrderTicket(),OrderLots(),Bid, 6 ,Red); Print ( " i " , i, "  GetLastError()CloseOP_BUY " , GetLastError ()  );}}} и виличины, закрываем все ордера!
//----
 
 
네, 차량 변경 전 신호가 없어야 합니다!! Like .. 아마도 전체 코드를 참조하십시오! 몰라요, 당신이 보는 것에서 그것을 볼 수 없습니다 ...
 
그래서 고문은 이익이 +가 될 때까지 기다렸다가 닫습니다. 고문은 미결 주문이 없을 때 자기자본 가치를 기억해야 합니다. 모든 포지션이 청산될 때 1050이고, 밝혀진 바와 같이 일부 주문이 청산되고 잔고가 늘어나고 이익은 일반 주문에서 마이너스가 되며 어드바이저는 이익이 +가 될 때까지 기다렸다가 모든 포지션을 청산합니다.
 
lottamer :

막 다른 골목.....

if(Ma_1>Ma_2 && flagg==0) {PlaySound("news.wav"); 플래그=1; 플래그=0; }

if(Ma_1<Ma_2 && 플래그==0) {PlaySound("ok.wav"); 플래그=1; 플래그=0; }

인쇄(플래그, 플래그);

Ma_1 - 짧은
Ma_2 - 긴

with Ma_1>Ma_2는 멈추지 않고 news.wav를 울리고 0 1을 출력합니다(즉, flag=0 flagg=1).

그러나 flagg=1일 때 조건(Ma_1>Ma_2 && flagg==0)이 충족되고 {PlaySound("news.wav")가 통과하는 방법은 ???


각 조건에 대해 플래그 상태를 별도로 인쇄합니다. 조건이 두 번째 플래그의 상태를 고려하지 않기 때문에 이 작업을 수행합니다.

추신 Print ("flag=", flag," flagg=", flagg );

 

이것이 내가 데모에 로봇을 가지고 있는 방법입니다. 어떻게 글을 쓰게 되었는지 자세히 기억합니다.

if(Profit>AccountBalance()*koefitsientudaleniya){
정수 합계=주문 합계();
for( i=OrdersTotal()-1;i>=0;i--){
주문 선택(i, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() != Symbol()) 계속;
if (OrderMagicNumber() != 450) 계속;
if(주문유형()==OP_SELL) {
OrderClose(OrderTicket(),OrderLots(),Ask,6,Red);Print(" i " , i," GetLastError()CloseOP_SELL ", GetLastError() );}
if(주문유형()==OP_BUY) {
OrderClose(OrderTicket(),OrderLots(),Bid,6,Red);Print(" i " , i," GetLastError()CloseOP_BUY ", GetLastError() );}}} // 이익이 특정 값보다 큰 경우 우리는 모든 주문을 닫습니다!
//----

글쎄, 또는 오래된 동지들이 조언하게 ..