코딩 도움말 - 페이지 630

 
안녕하세요 Mladen, 아래에 첨부된 필터 이미지가 필요합니다.
파일:
filter.jpg  114 kb
 

간단한 Aroon EA를 요청합니다.

매수: aroon up이 aroon down 위를 교차할 때. aroon up이 레벨 50을 하향 돌파하거나 반대 신호가 발생할 때(둘 중 먼저 도래하는 시점) 종료합니다. (반대 신호는 aroon up이 aroon down 아래로 교차할 때를 의미합니다)

매도: aroon down이 aroon up 위로 교차할 때. aroon down이 레벨 50을 하향 돌파하거나 반대 신호가 발생할 때(둘 중 먼저 도래하는 경우) 종료합니다. (반대 신호는 aroon down이 aroon up 아래로 교차할 때를 의미합니다)

모든 거래는 신호가 발생한 후 다음 촛불이 열릴 때 시작되어야 합니다.

이전 스윙 하이/스윙 로우에서 스톱 로스 를 설정합니다. 그렇게 할 수 없다면 ATR 손절매 또는 수동 손절매를 사용하십시오.

가능하면 돈 관리 기능도 추가하십시오.

귀하의 시간, 기술 및 관대함에 감사드립니다. 문안 인사

레이막.

 
안녕하세요 fps buysell 신호 mq4가 있는 사람이 있습니까? 그렇다면 여기에서 공유해 주시겠습니까 .. ex4 파일만 봤습니다..
 

그렇지 않으면 한 가지 도움이 필요합니다. 이 지표에서 고저가 짧은 노란색 선으로 표시됩니다 ... 지그재그의 저가 이후 가격 자체에서 0.326%, 0.5%, 0.618%, 1%, 1.618%,2.27에 대한 짧은 선이 필요합니다 %,2.618%,3.33%, 4,236% i는 fibo 되돌림이 (낮게 설정한 후) 낮은 +(낮은*0.326/100)............ 낮은 + (낮음*0.5/100)...........좋아요...

그 후 높은 제작 수단 .... 짧은 선과 같은 절차가 점선으로 표시됩니다.

높음-(높음*0.326/100).......높음 -(높음*0.5/100).......

아무도 나를 위해 이것을 해줄 수 있습니까?

나는 당신에게 많이 감사 할 것입니다..

파일:
 

안녕,

EA 에서 두 가지 지표 를 테스트 하고 싶습니다 .

1 - KAMA 1_5.mq4의 포물선 SAR

2 - Macd - std normalized.mq4 1_2(필터)


주문 을 열기 위해 아래 코드테스트 중입니다 .
H1 에서 3개월간 테스트했습니다 .
결과는 매우 나빴습니다.

주문 여는 방법 을 개선할 수 있는 방법 있습니까?

결과

 extern int     BarToUse    = 1 ;       // Bar to test (0, for still opened, 1 for first closed, and so on)
extern string      IndicatorsSettings   = "===== INDICATORS SETTINGS=====" ;
extern string      _Indicator           = "===== Parabolic SAR =====" ;
extern double     AccStep         = 0.02 ;       // Accumulation step
extern double     AccLimit        = 0.2 ;       // Accumulation limit
extern int        AmaPeriod       = 10 ;         // Kaufman AMA period
extern int   AmaPrice        = 0 ;   // Price to be used by Kaufman AMA
extern double     FastEnd         = 2 ;         // Kaufman AMA fast end
extern double     SlowEnd         = 30 ;         // Kaufman AMA slow end
extern double     SmoothPower     = 2 ;         // Smooth power
extern bool       JurikFDAdaptive = true ;       // Should the Kaufman AMA be Jurik fractal dimension adaptive?
//extern enDisplayType DisplayType = "" ; // What should be displayed?
extern int        LineWidth       = 2 ;         // Lines width
extern int        ArrowsWidth     = 0 ;         // Arrows (dots) width
extern bool       Interpolate     = true ;       // Interpolate in multi time frame mode?
extern string PARAMETERS_INDICATOR_TWO = "Macd" ;
extern int                 FastMAPeriod  = 23 ;             // Fast macd period
extern int                 SlowMAPeriod  = 50 ;             // Slow macd period
extern int                 SignalPeriod  = 9 ;             // Signal period
extern int                 StdPeriod     = 50 ;             // Standard deviation used for normalization
extern int Price         = 0 ;   // Price to use 
extern double              Filter        = 0 ;             // Filter to apply to macd value
extern int                 FilterPeriod  = 0 ;             // Filter period to use (<= to use the slow macd period)
extern colorOn            ColorChangeOn = clrOnSlope;     // Color change on : 

#define _doNothing 0
#define _doBuy     1
#define _doSell     2
int start()
{
   //MagicWarning();//Display a warning in case MagicNumber is changed
   AutoMagic(); //Generate Magic Number based on Symbol and Long/Short params
   
       int doWhat = _doNothing;
       double sarUp = iCustom ( NULL , 0 , "Parabolic SAR of KAMA 1_5" , 0 ,AccStep,AccLimit,AmaPeriod,AmaPrice,FastEnd,SlowEnd,SmoothPower,JurikFDAdaptive, 0 ,BarToUse); 
       double sarDn = iCustom ( NULL , 0 , "Parabolic SAR of KAMA 1_5" , 0 ,AccStep,AccLimit,AmaPeriod,AmaPrice,FastEnd,SlowEnd,SmoothPower,JurikFDAdaptive, 1 ,BarToUse+ 1 ); 
      
       double macdUp= iCustom ( NULL , 0 , "Macd - std normalized 1_2 histo" , 0 ,FastMAPeriod,SlowMAPeriod,SignalPeriod,StdPeriod,Price,Filter,FilterPeriod,ColorChangeOn, 0 ,BarToUse);
       double macdDn= iCustom ( NULL , 0 , "Macd - std normalized 1_2 histo" , 0 ,FastMAPeriod,SlowMAPeriod,SignalPeriod,StdPeriod,Price,Filter,FilterPeriod,ColorChangeOn, 1 ,BarToUse+ 1 );
      
         

        
       if (sarUp!=sarDn & macdUp!=macdDn)
         if (sarUp<sarDn & macdUp<macdDn) //buy
               doWhat = _doBuy;
         else   doWhat = _doSell;
         if (doWhat==_doNothing && !DisplayInfo) return ( 0 );

   if (doWhat==_doBuy && openedBuys== 0 )
      {
         RefreshRates ();
         //double BStopLossLevel   = Ask - StopLoss   *myPoint;
         //double BTakeProfitLevel = Ask + TakeProfit *myPoint;               
         double stopLossBuy   = 0 ; if (StopLoss> 0 )   stopLossBuy   = Ask - StopLoss   *myPoint; //Ask-StopLoss*Point*MathPow(10,Digits%2);
         double takeProfitBuy = 0 ; if (TakeProfit> 0 ) takeProfitBuy = Ask + TakeProfit *myPoint; //Ask+TakeProfit*Point*MathPow(10,Digits%2);
         if (EcnBroker)
         {
             int ticketb = OrderSend ( Symbol (), OP_BUY ,LotSize, NormalizeDouble ( Ask ,digit),Slippage*myPoint, 0 , 0 ,EASHORTNAME+ "_" + Symbol ()+ "(" +GetChartTimeFrame()+ ")_B" ,MagicNumber, 0 ,Blue);
             if (ticketb>- 1 )
               dummyResult = OrderModify (ticketb, OrderOpenPrice (), NormalizeDouble (stopLossBuy,digit), NormalizeDouble (takeProfitBuy,digit), 0 ,CLR_NONE);
              
              
         }
         else dummyResult = OrderSend ( Symbol (), OP_BUY ,LotSize, NormalizeDouble ( Ask ,digit),Slippage*myPoint, NormalizeDouble (stopLossBuy,digit), NormalizeDouble (takeProfitBuy,digit),EASHORTNAME+ "_" + Symbol ()+ "(" +GetChartTimeFrame()+ ")_B" ,MagicNumber, 0 ,Blue);
          
      }
   if (doWhat==_doSell && diStcSell== true && openedSells== 0 )
      {
         RefreshRates ();
         //double SStopLossLevel   = Bid + StopLoss   *Mypoint;
         //double STakeProfitLevel = Bid - TakeProfit *Mypoint;
         double stopLossSell   = 0 ; if (StopLoss> 0 )   stopLossSell= Bid + StopLoss   *myPoint; //Bid+StopLoss*Point*MathPow(10,Digits%2);
         double takeProfitSell = 0 ; if (TakeProfit> 0 ) takeProfitSell = Bid - TakeProfit *myPoint; //Bid-TakeProfit*Point*MathPow(10,Digits%2);
         if (EcnBroker)
         {
             int tickets = OrderSend ( Symbol (), OP_SELL ,LotSize, NormalizeDouble ( Bid ,digit),Slippage*myPoint, 0 , 0 ,EASHORTNAME+ "_" + Symbol ()+ "(" +GetChartTimeFrame()+ ")_S" ,MagicNumber, 0 ,Red);
             if (tickets>- 1 )
                dummyResult = OrderModify (tickets, OrderOpenPrice (), NormalizeDouble (stopLossSell,digit), NormalizeDouble (takeProfitSell,digit), 0 ,CLR_NONE);
         }
         
         else dummyResult = OrderSend ( Symbol (), OP_SELL ,LotSize, NormalizeDouble ( Bid ,digit),Slippage*myPoint, NormalizeDouble (stopLossSell,digit), NormalizeDouble (takeProfitSell,digit),EASHORTNAME+ "_" + Symbol ()+ "(" +GetChartTimeFrame()+ ")_S" ,MagicNumber, 0 ,Red);
파일:
 
borgesr :

안녕,

EA 에서 두 가지 지표 를 테스트 하고 싶습니다 .

1 - KAMA 1_5.mq4의 포물선 SAR

2 - Macd - std normalized.mq4 1_2(필터)


주문 을 열기 위해 아래 코드테스트 중입니다 .
H1 에서 3개월간 테스트했습니다 .
결과는 매우 나빴습니다.

주문 여는 방법 을 개선할 수 있는 방법 있습니까?

최종 최적화에 대해 https://www.mql5.com/en/forum/186208/page3 게시물을 읽으십시오. 그것이 그렇게 작동하는 이유: 주문을 열고 닫을 때 사용하는 규칙을 수정할 수 있습니다. 그러나 어쨌든 사용하는 규칙을 확인하고 주문이 마감되는 시점을 확인하십시오.
 
ramzam :

그렇지 않으면 한 가지 도움이 필요합니다. 이 지표에서 고저가 짧은 노란색 선으로 표시됩니다 ... 지그재그의 저가 이후 가격 자체에서 0.326%, 0.5%, 0.618%, 1%, 1.618%,2.27에 대한 짧은 선이 필요합니다 %,2.618%,3.33%, 4,236% i는 fibo 되돌림이 (낮게 설정한 후) 낮은 +(낮은*0.326/100)............ 낮은 + (낮음*0.5/100)...........좋아요...

그 후 높은 제작 수단 .... 짧은 선과 같은 절차가 점선으로 표시됩니다.

높음-(높음*0.326/100).......높음 -(높음*0.5/100).......

아무도 나를 위해 이것을 해줄 수 있습니까?

나는 당신에게 많이 감사 할 것입니다..

순간마다 파일을 확인할 수 없습니다. 하지만 이름을 보면 신호에 지그재그를 사용하는 것이 예상대로 사용할 수 있다고 확신합니까(지그재그로 다시 그리기)?
 
mladen :
최종 최적화에 대해 https://www.mql5.com/en/forum/186208/page3 게시물을 읽으십시오. 그것이 그렇게 작동하는 이유: 주문을 열고 닫을 때 사용하는 규칙을 수정할 수 있습니다. 그러나 어쨌든 사용하는 규칙을 확인하고 주문이 마감되는 시점을 확인하십시오.

친애하는 믈라덴,

오프닝 규칙 이 잘못되었습니다.

나는 코드를 변경 했지만 여전히 많은 돈을 잃는 매우 열악한 성능 으로 계속됩니다 .


Parabolic함께 필터 를 만들려면 RSI 를 사용하는 것이 더 낫 습니까?

       int doWhat = _doNothing;
       double sarUp = iCustom ( NULL , 0 , "Parabolic SAR of KAMA 1_5" , 0 ,AccStep,AccLimit,AmaPeriod,AmaPrice,FastEnd,SlowEnd,SmoothPower,JurikFDAdaptive, 0 ,BarToUse); 
       double sarDn = iCustom ( NULL , 0 , "Parabolic SAR of KAMA 1_5" , 0 ,AccStep,AccLimit,AmaPeriod,AmaPrice,FastEnd,SlowEnd,SmoothPower,JurikFDAdaptive, 1 ,BarToUse+ 1 ); 
      
       double macdUp= iCustom ( NULL , 0 , "Macd - std normalized 1_2 histo" , 0 ,FastMAPeriod,SlowMAPeriod,SignalPeriod,StdPeriod,Price,Filter,FilterPeriod,ColorChangeOn, 0 ,BarToUse);
       double macdDn= iCustom ( NULL , 0 , "Macd - std normalized 1_2 histo" , 0 ,FastMAPeriod,SlowMAPeriod,SignalPeriod,StdPeriod,Price,Filter,FilterPeriod,ColorChangeOn, 1 ,BarToUse+ 1 );
      
         

        
      
         if (sarUp<sarDn & macdUp<macdDn) doWhat = _doBuy;
         if (sarUp>sarDn & macdUp>macdDn)  doWhat = _doSell;
         if (doWhat==_doNothing && !DisplayInfo) return ( 0 );
         
   for ( int i = OrdersTotal ()- 1 ; i>= 0 ; i--)
   {
       if (! OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) continue ;
       if ( OrderSymbol ()      != Symbol ())             continue ;
       if ( OrderMagicNumber () != MagicNumber)         continue ;

       //
       //
       //
       //
       //
      
       if (DisplayInfo) currentProfit += OrderProfit ()+ OrderCommission ()+ OrderSwap ();
         
         //
         //
         //
         //
         //
         
         if ( OrderType ()== OP_BUY )
             if (doWhat==_doSell )
                  { RefreshRates (); if (! OrderClose ( OrderTicket (), OrderLots (), Bid ,Slippage,Orange)) openedBuys++; }
             else   openedBuys++;
         if ( OrderType ()== OP_SELL )
             if (doWhat==_doBuy )
                  { RefreshRates (); if (! OrderClose ( OrderTicket (), OrderLots (), Ask ,Slippage,Green)) openedSells++; }
             else   openedSells++;            
   }
   if (DisplayInfo) Comment ( "Current profit : " + DoubleToStr (currentProfit, 2 )+ " " + AccountCurrency ()); if (doWhat==_doNothing) return ( 0 );

   //
   //
   //
   //
   //
   if (doWhat==_doBuy && openedBuys== 0 )
      {
         RefreshRates ();
         //double BStopLossLevel   = Ask - StopLoss   *myPoint;
         //double BTakeProfitLevel = Ask + TakeProfit *myPoint;               
         double stopLossBuy   = 0 ; if (StopLoss> 0 )   stopLossBuy   = Ask - StopLoss   *myPoint; //Ask-StopLoss*Point*MathPow(10,Digits%2);
         double takeProfitBuy = 0 ; if (TakeProfit> 0 ) takeProfitBuy = Ask + TakeProfit *myPoint; //Ask+TakeProfit*Point*MathPow(10,Digits%2);
         if (EcnBroker)
         {
             int ticketb = OrderSend ( Symbol (), OP_BUY ,LotSize, NormalizeDouble ( Ask ,digit),Slippage*myPoint, 0 , 0 ,EASHORTNAME+ "_" + Symbol ()+ "(" +GetChartTimeFrame()+ ")_B" ,MagicNumber, 0 ,Blue);
             if (ticketb>- 1 )
               dummyResult = OrderModify (ticketb, OrderOpenPrice (), NormalizeDouble (stopLossBuy,digit), NormalizeDouble (takeProfitBuy,digit), 0 ,CLR_NONE);
              
              
         }
         else dummyResult = OrderSend ( Symbol (), OP_BUY ,LotSize, NormalizeDouble ( Ask ,digit),Slippage*myPoint, NormalizeDouble (stopLossBuy,digit), NormalizeDouble (takeProfitBuy,digit),EASHORTNAME+ "_" + Symbol ()+ "(" +GetChartTimeFrame()+ ")_B" ,MagicNumber, 0 ,Blue);
          
      }
   if (doWhat==_doSell & openedSells== 0 )
      {
         RefreshRates ();
         //double SStopLossLevel   = Bid + StopLoss   *Mypoint;
         //double STakeProfitLevel = Bid - TakeProfit *Mypoint;
         double stopLossSell   = 0 ; if (StopLoss> 0 )   stopLossSell= Bid + StopLoss   *myPoint; //Bid+StopLoss*Point*MathPow(10,Digits%2);
         double takeProfitSell = 0 ; if (TakeProfit> 0 ) takeProfitSell = Bid - TakeProfit *myPoint; //Bid-TakeProfit*Point*MathPow(10,Digits%2);
         if (EcnBroker)
         {
             int tickets = OrderSend ( Symbol (), OP_SELL ,LotSize, NormalizeDouble ( Bid ,digit),Slippage*myPoint, 0 , 0 ,EASHORTNAME+ "_" + Symbol ()+ "(" +GetChartTimeFrame()+ ")_S" ,MagicNumber, 0 ,Red);
             if (tickets>- 1 )
                dummyResult = OrderModify (tickets, OrderOpenPrice (), NormalizeDouble (stopLossSell,digit), NormalizeDouble (takeProfitSell,digit), 0 ,CLR_NONE);
         }
         
         else dummyResult = OrderSend ( Symbol (), OP_SELL ,LotSize, NormalizeDouble ( Bid ,digit),Slippage*myPoint, NormalizeDouble (stopLossSell,digit), NormalizeDouble (takeProfitSell,digit),EASHORTNAME+ "_" + Symbol ()+ "(" +GetChartTimeFrame()+ ")_S" ,MagicNumber, 0 ,Red);
      }
   return ( 0 );
}
 
borgesr :

친애하는 믈라덴,

오프닝 규칙 이 잘못되었습니다.

나는 코드를 변경 했지만 여전히 많은 돈을 잃는 매우 열악한 성능 으로 계속됩니다 .


Parabolic함께 필터 를 만들려면 RSI 를 사용하는 것이 더 낫 습니까?

EA를 최적화하십시오.

 
kapoo :

Mr. Mladen, 아래 코드를 보십시오. 화살표는 내가 시간 프레임을 변경할 때까지 라이브에 나타나지 않습니다.


싸이더스 인디케이터의 리페인팅 버전입니다.

다시 칠하지 않는 버전은 여기에서 다운로드할 수 있습니다. https://www.mql5.com/en/forum/180648/page293