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

 

글쎄, 프로그래밍에서 오크 사람에게

이 동물은 주문을 열 때 역사를 조사합니까?

 extern int dDay;
//extern bool fl;

int init()
  {
       return ( 0 );
  }

int deinit()
  {
       return ( 0 );
  }

int start()
  {
       double MA2,MA3;
       double Fr,Fr1;
       double SAR;
       double prof;
       int total,cnt;
      
      MA2 = iMA ( NULL , 0 , 2 , 0 , MODE_SMA , PRICE_CLOSE , 0 );
      MA3 = iMA ( NULL , 0 , 5 , 0 , MODE_SMA , PRICE_CLOSE , 0 );
      Fr = iForce ( NULL , 0 , 2 , MODE_SMA , PRICE_CLOSE , 0 );
      Fr1 = iForce ( NULL , 0 , 2 , MODE_SMA , PRICE_CLOSE , 1 );
      
       //SAR = iSAR(NULL,0,0.2,2,0);
      
       if (( Hour () == 22 ) && ( OrdersTotal () == 0 ) && (dDay != Day()))
      {
         //if(Open[0] > MA) // BUY
         if (MA3 < MA2)
         //if(SAR < Open[0])
         {
             OrderSend ( Symbol (),OP_BUY, 1 ,Ask, 3 , 0 ,Ask+ 0.0010 , "" , 2 , 0 , Blue );
             //fl = true;
         }
         //if(Open[0] < MA) // SELL
         if (MA3 > MA2)
         //if(SAR > Open[0])
         {
             OrderSend ( Symbol (),OP_SELL, 1 ,Bid, 3 , 0 ,Bid- 0.0010 , "" , 1 , 0 , Red );
             //fl = true;
         }
      
         dDay = Day();
      }
      
       /*if((Hour() == 8) && (OrdersTotal() == 1) && fl)
      {
         fl = false;
         if(OrdersTotal() != 0)
         {
            total = OrdersTotal();
            for(cnt=0;cnt<total;cnt++)
            {  
               OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);         
               prof = OrderProfit() / 10;
               if(prof <= -10)
               {
                  if(OrderType()==OP_BUY)
                  {
                     OrderClose(OrderTicket(), OrderLots(), Bid, 3, Yellow);   
                     OrderSend(Symbol(),OP_SELL,1,Bid,3,0,Bid-0.0010,"",1,0,Red);
                  }
                  if(OrderType()==OP_SELL)
                  {
                     OrderClose(OrderTicket(), OrderLots(), Ask, 3, Red);
                     OrderSend(Symbol(),OP_BUY,1,Ask,3,0,Ask+0.0010,"",2,0,Blue);
                  }
               }
            }
         }
      }*/
  
      
       if ( OrdersTotal () != 0 )
      {
         total = OrdersTotal ();
         for (cnt= 0 ;cnt<total;cnt++)
         {  
             OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES);                     
            prof = OrderProfit () / 10 ;
             if (prof >= 4 )
            {
               if ( OrderType ()==OP_BUY)
               {
                   OrderClose ( OrderTicket (), OrderLots (), Bid, 3 , Yellow );   
               }
               if ( OrderType ()==OP_SELL)
               {
                   OrderClose ( OrderTicket (), OrderLots (), Ask, 3 , Red );
               }
            }
         }
      }

       return ( 0 );
  }
 
baykanur :

글쎄, 프로그래밍에서 오크 사람에게

이 동물은 주문을 열 때 역사를 조사합니까?



1) 코드를 붙여넣을 때 src 태그 사용

2) 주석 처리된 것을 제거

3)보고 싶은 것과 불일치가 무엇인지 알려주십시오.

 
ilunga :

1) 코드를 붙여넣을 때 src 태그 사용

2) 주석 처리된 것을 제거

3) 보고 싶은 내용과 차이점을 알려주세요.

src 삽입

뭐라고 댓글이 달렸는지 모르겠다

이것에 대한 테스터의 수익성있는 거래 수의 불일치 및 질문

 

별도의 창에서 지표 값에 따라 차트에 레벨을 그리는 방법을 배우고 싶습니다. 예를 들어, MACD가 레벨 0을 상향 교차하면 교차가 발생하는 막대의 저점을 따라 차트에 선이 그려집니다 . 위에서 아래로 교차할 때 그에 따라 High를 따라 선이 그려집니다. 내가 뭔가를 썼고 오류 없이 컴파일되지만 아무 일도 일어나지 않습니다. 도와주세요, 제발.

 #property  indicator_chart_window
#property  indicator_buffers 1
#property  indicator_color1  Blue

double     Buffer[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- drawing settings
   SetIndexStyle ( 0 , DRAW_LINE );
   SetIndexBuffer ( 0 ,Buffer);

   return ( 0 );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   double level;
   int counted_bars= IndicatorCounted ();
//---- last counted bar will be recounted
   if (counted_bars> 0 ) counted_bars--;
   limit= Bars -counted_bars;
   for ( int i= 0 ; i<limit; i++)
      
       double     macd = iMACD ( NULL , 0 , 12 , 26 , 9 , PRICE_CLOSE ,MODE_MAIN,i);
       double     macd1 = iMACD ( NULL , 0 , 12 , 26 , 9 , PRICE_CLOSE ,MODE_MAIN,i+ 1 );
      
       if (macd > 0 && macd1 < 0 )
      {
      level = iLow ( "EURUSD" , PERIOD_M1 ,i); //Почему выскакивает ощибка если написать просто iLow[i]?
      Buffer[i]=level;
      }
       else if (macd < 0 && macd1 > 0 )
      {
      level = iHigh ( "EURUSD" , PERIOD_M1 ,i); //Почему выскакивает ощибка если написать просто iHigh[i]?
      Buffer[i]=level;
      }
   return ( 0 );
  }
 
baykanur :

src 삽입

뭐라고 댓글이 달렸는지 모르겠다

이것에 대한 테스터의 수익성있는 거래 수의 불일치 및 질문

에 따라 항상 비교되는 2개의 객체가 있습니다.

테스터가 같은 기간에 데모와 일치하지 않습니까? 예를 들어 테스터의 스프레드가 다르기 때문에

 
Ichimo :

별도의 창에서 지표 값에 따라 차트에 레벨을 그리는 방법을 배우고 싶습니다. 예를 들어, MACD가 레벨 0을 상향 교차하면 교차가 발생하는 막대의 저점을 따라 차트에 선이 그려집니다. 위에서 아래로 교차할 때 그에 따라 High를 따라 선이 그려집니다. 내가 뭔가를 썼고 오류 없이 컴파일되지만 아무 일도 일어나지 않습니다. 도와주세요, 제발.

라인은 최소 2포인트 ;)

Buffer[i]=level;

이것은 하나의 점이고, 이웃한 점은 0일 가능성이 가장 높습니다. 선을 긋는 곳이 없기 때문에

 //Почему выскакивает ощибка если написать просто iLow[i]?
왜냐하면 시작 부분에 "i"가 없는 Low[i]이기 때문입니다.
 
Vinin :

그 바구니는 어디에 있습니까?
바로 장바구니로 이동합니다... :)
 
어떻게 든 두 개의 가격을 가지고 그들 사이의 거리를 3-4 부분으로 나누는 것이 가능합니다. 단순히 나누는 것이 아니라 결과 부분의 각 가격을 알아내는 것입니다.?
 
sss2019 :
어떻게 든 두 개의 가격을 가지고 그들 사이의 거리를 3-4 부분으로 나누는 것이 가능합니다. 단순히 나누는 것이 아니라 결과 부분의 각 가격을 알아내는 것입니다.?
 double price1;

double price2;

...

if (price1 > price2)
{
   double delta = price1 - price2;
   double level1 = price2 + delta* 0.25 ;
   double level2 = price2 + delta* 0.5 ;
   double level3 = price2 + delta* 0.75 ;
}
=)
 
ilunga :

라인은 최소 2포인트 ;)

이것은 하나의 점이고, 이웃한 점은 0일 가능성이 가장 높습니다. 선을 긋는 곳이 없기 때문에

왜냐하면 시작 부분에 "i"가 없는 Low[i]이기 때문입니다.



이전 점을 만들거나 선이 아니라 화살표를 그려야 합니다. 감사합니다. 계속 브레인스토밍하겠습니다.