전문가의 기능적 특징 및 매개 변수 expforex.com에서
기성 전문가와 프로그래밍/프리랜서의 장점.
설명
지표가 어떻게 동작하는지, 특히 그리는 지표와 그렇지 않은 지표에 초점을 맞추어 예제를 살펴보겠습니다. 예를 들어, 바(Candle) 지표가 다른 지표와 어떻게 다르게 작동할 수 있는지 고려해 보세요.
프로그래밍에서 신호의 차이. Shift 파라미터 사용
지표가 어떻게 작동하는지 더 잘 이해하기 위해서는 그리는 지표와 그리지 않는 지표의 예제를 탐구하는 것이 도움이 됩니다.
그리는 지표 (Repaint)는 가격 차트에 직접 그리는 반면, 그리지 않는 지표는 별도의 창에 출력 결과를 표시합니다.?????? NO
그리기 또는 재그리기 지표는 거래에 사용되는 기술 도구로서, 현재 또는 이전 바(Candle)에 대한 보다 정확한 표시를 제공하기 위해 신호(예: 화살표)를 수정하거나 신호 방향을 변경합니다.
바 = 캔들:
이러한 지표는 신호를 재그릴 수 있는 능력을 가지고 있으며, 이는 거래의 신뢰성을 해치는 행위로 간주될 수 있습니다.
일부 지표는 시각적 매력을 높이기 위해 의도적으로 신호를 재그립니다. 이는 차트를 더 미적으로 보이게 만듭니다.
다른 지표는 수학적 계산의 일환으로 재그리기를 수행하여 생성되는 신호의 정확성과 신뢰성을 향상시킵니다.
그러나 모든 지표가 0번째 바(Candle) 또는 현재 바(Candle)에 그리는 것은 정상적인 동작입니다. 이 초기 그리기는 지표가 최신 시장 데이터와 제대로 정렬되도록 보장합니다.
지표가 신호를 재그리는 근본적인 이유와 이것이 거래 전략에 미치는 영향을 탐구해 보겠습니다.
이 두 유형의 지표 간 신호의 차이는 상당할 수 있으므로, 거래 전략을 프로그래밍할 때 그들의 동작을 이해하는 것이 중요합니다.
Shift 파라미터를 사용하여 지표의 동작을 조정할 수 있습니다. 이는 지표 출력물을 시간상 앞으로 또는 뒤로 이동시킬 수 있게 해줍니다.
다양한 Shift 파라미터 값을 실험해 봄으로써, 거래 전략과 더 잘 맞도록 지표를 미세 조정하여 시장에서 성공할 가능성을 높일 수 있습니다.
그리고 우리의 범용 전문가 고문(EA)을 사용하여 전략 테스터에서 이러한 지표를 확인할 수 있습니다:
EA The xCustomEA: iCustom Indicators. Custom Strategy Builder
또는 전략 테스터에서 우리의 시뮬레이터를 사용하여:
서문
이 기사는 우리의 파트너 요청에 따라 작성되었습니다.
전문가 고문 프로그래밍을 주문할 때, 모든 고문에서 신호 바를 조정할 수 있습니다.
온라인에서 일부 전문가 고문이 지표로 인해 제대로 작동하지 않는다는 불만을 흔히 볼 수 있습니다.
이러한 신호를 자세히 설명하고 반대로 모든 지표가 그리며 올바르게 사용해야 한다는 것을 보여드리겠습니다.
이 기사의 비디오 버전이 있지만, 시청하기 전에 더 깊이 이해하기 위해 텍스트 버전을 읽어보시기를 권장합니다.
Shift (0,1,2…..) 바 (Candle) 번호
이 파라미터는 지표가 신호를 받을 바의 번호를 나타냅니다.
전문가 고문을 주문할 때, 다음 신호 정의 파라미터를 지정해야 합니다: 신호 후 즉시 거래를 열거나, 신호가 형성된 후 닫힌 바에서 거래를 열고 다음 바의 시가에서만 거래를 여십시오.
알고리즘 때문에 일부 지표는 신호가 어느 바에서 주어지는지 명확한 정의를 가지고 있습니다.
주문 실행의 명확성과 올바른 수행에 대해 이야기하면, 거래는 닫힌 바에서만 처리되어야 합니다. 즉, 파라미터 shift=1.
신호가 현재 바에서 발생했을 때 즉시 거래를 열어야 하고 지표가 이를 허용하는 경우, shift=0을 설정해야 합니다.
Expert Advisor
EA는 우리의 EA 작성 템플릿을 사용하여 작성되었습니다. 고문의 모든 기능은 이 페이지에서 설명됩니다: Forex Advisor 기능.
패키지는 다음 링크에서 다운로드할 수 있습니다: Signal Bar 테스트 패키지
1. 이동 평균 지표
MT4 터미널의 표준 지표에는 평균 기간, 평균 가격 및 설정에서의 평균 유형이 포함됩니다.
거래 전략: 평균 교차. 느린 MA와 빠른 MA의 교차.
전략 코드:
double ExampleMA=iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,shift); // MA Call Example double ExampleMA2=iMA(Symbol(),0,50,0,MODE_SMA,PRICE_CLOSE,shift); // MA Call Example double ExampleMA23=iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,shift+1); // MA Call Example double ExampleMA22=iMA(Symbol(),0,50,0,MODE_SMA,PRICE_CLOSE,shift+1); // MA Call Example if(ExampleMA23<ExampleMA22 && ExampleMA>ExampleMA2) Sig=1; if(ExampleMA23>ExampleMA22 && ExampleMA<ExampleMA2) Sig=2;
Shift = 0으로 작업한 예제
Shift = 1로 작업한 예제
설명: 이 지표는 그리지 않기 때문에 모든 shift와 함께 사용할 수 있습니다.
비디오 예제:
2. Indicator Cross
추가 기능을 갖춘 MA 교차 전략을 기반으로 한 사용자 정의 지표. 정밀하게 두드러지게 그리며, 1 바에서 교차하면 0 바에 화살표를 그리고 지속적으로 재그립니다.
거래 전략: 화살표 거래
전략 코드:
int Sig=0; if(shift!=-1) { double UP=iCustom(Symbol(),0,"cross",0,shift); double DN=iCustom(Symbol(),0,"cross",1,shift); } if(shift==-1) for(int i=1;i<=100;i++) { UP=iCustom(Symbol(),0,"cross",0,i); DN=iCustom(Symbol(),0,"cross",1,i); if(UP!=EMPTY_VALUE || DN!=EMPTY_VALUE) break; } if(UP!=EMPTY_VALUE){Sig=1;} if(DN!=EMPTY_VALUE){Sig=2;}
Shift = 0으로 작업한 예제
Shift = 1로 작업한 예제
Shift = -1로 작업한 예제
설명: 이 지표는 두드러지게 그리며, 개발자가 의도적으로 신호를 재그립니다. 따라서 이 지표를 신호 지표로 사용하는 것은 위험합니다.
비디오 예제:
3. CurrencyPowerMeter 지표
통화의 강도를 측정하는 사용자 정의 지표. 이 지표는 객체를 사용하여 작동하므로 shift는 무관합니다. 이 지표의 거래 전략은 지표 버퍼가 아닌 차트의 객체 표시에서 값을 가져오는 것을 기반으로 합니다.
거래 전략: 통화 강도 차이를 거래
전략 코드:
double EUR_HOUR[1]; double GBP_HOUR[1]; double AUD_HOUR[1]; double NZD_HOUR[1]; double USD_HOUR[1]; double CAD_HOUR[1]; double CHF_HOUR[1]; double JPY_HOUR[1]; double PervayaValuta; double VtorayaValuta; string note=" 인증 설정 =="; string username = ""; string password = ""; double trend; string DATATRend; trend=iCustom(Symbol(),0,"CurrencyPowerMeter",0,0); EUR_HOUR[0]=StringToDouble(ObjectDescription("CPMEUR_Str_h")); GBP_HOUR[0]=StringToDouble(ObjectDescription("CPMGBP_Str_h")); AUD_HOUR[0]=StringToDouble(ObjectDescription("CPMAUD_Str_h")); NZD_HOUR[0]=StringToDouble(ObjectDescription("CPMNZD_Str_h")); USD_HOUR[0]=StringToDouble(ObjectDescription("CPMUSD_Str_h")); CAD_HOUR[0]=StringToDouble(ObjectDescription("CPMCAD_Str_h")); CHF_HOUR[0]=StringToDouble(ObjectDescription("CPMCHF_Str_h")); JPY_HOUR[0]=StringToDouble(ObjectDescription("CPMJPY_Str_h")); if(StringSubstr(Symbol(),0,3)=="USD") PervayaValuta=USD_HOUR[0]; if(StringSubstr(Symbol(),0,3)=="GBP") PervayaValuta=GBP_HOUR[0]; if(StringSubstr(Symbol(),0,3)=="EUR") PervayaValuta=EUR_HOUR[0]; if(StringSubstr(Symbol(),0,3)=="AUD") PervayaValuta=AUD_HOUR[0]; if(StringSubstr(Symbol(),0,3)=="NZD") PervayaValuta=NZD_HOUR[0]; if(StringSubstr(Symbol(),0,3)=="CAD") PervayaValuta=CAD_HOUR[0]; if(StringSubstr(Symbol(),0,3)=="CHF") PervayaValuta=CHF_HOUR[0]; if(StringSubstr(Symbol(),0,3)=="JPY") PervayaValuta=JPY_HOUR[0]; if(StringSubstr(Symbol(),3,3)=="USD") VtorayaValuta=USD_HOUR[0]; if(StringSubstr(Symbol(),3,3)=="GBP") VtorayaValuta=GBP_HOUR[0]; if(StringSubstr(Symbol(),3,3)=="EUR") VtorayaValuta=EUR_HOUR[0]; if(StringSubstr(Symbol(),3,3)=="AUD") VtorayaValuta=AUD_HOUR[0]; if(StringSubstr(Symbol(),3,3)=="NZD") VtorayaValuta=NZD_HOUR[0]; if(StringSubstr(Symbol(),3,3)=="CAD") VtorayaValuta=CAD_HOUR[0]; if(StringSubstr(Symbol(),3,3)=="CHF") VtorayaValuta=CHF_HOUR[0]; if(StringSubstr(Symbol(),3,3)=="JPY") VtorayaValuta=JPY_HOUR[0]; if(PervayaValuta - VtorayaValuta > 0) return(1); if(PervayaValuta - VtorayaValuta < 0) return(2); return(0);
작동 예제
설명: 이 지표는 지표 버퍼가 없고 객체를 기반으로 합니다. 따라서 신호 바는 중요하지 않습니다. 이러한 지표는 테스트나 최적화가 불가능하며 실시간에서만 작동합니다.
비디오 예제:
4. Fiji Trend 지표
MA 및 ATR 신호를 화살표 형태로 작동하는 사용자 정의 지표. 지표를 그리지는 않지만 작은 트릭을 사용하여 닫힌 바에서 데이터를 가져오고 현재 0 바에 화살표를 배치합니다. 이는 속임수의 환상입니다.
거래 전략: 지표의 화살표를 이용한 거래
전략 코드:
int Sig=0; double DNSignal=iCustom(Symbol(),0,"Fiji Trend",3,shift); // 사용자 정의 지표 호출 예제 double UPSignal=iCustom(Symbol(),0,"Fiji Trend",2,shift); // 사용자 정의 지표 호출 예제 double DNTrend=iCustom(Symbol(),0,"Fiji Trend",1,shift); // 사용자 정의 지표 호출 예제 double UPTrend=iCustom(Symbol(),0,"Fiji Trend",0,shift); // 사용자 정의 지표 호출 예제 // 거래 개시를 위한 신호 지정: if( UPSignal!=EMPTY_VALUE) Sig=1; if( DNSignal!=EMPTY_VALUE) Sig=2;
Shift = 0으로 작업한 예제
Shift = 1로 작업한 예제
설명: 이 지표는 그리지 않기 때문에 앞서 언급한 트릭을 사용하여 신호를 배치합니다. 이는 합리적으로 좋은 신호를 제공하는 몇 안 되는 지표 중 하나입니다.
비디오 예제:
5. Fisher 지표
Hi-Lo 바에서 작동하며 자체 공식에 따라 신호를 계산하는 사용자 정의 지표. 테스트에 의해 입증된 대로 그리며 닫힌 바에서 3-5 바를 재그리며 히스토그램 형태로 표시됩니다.
거래 전략: 히스토그램 거래. 히스토그램이 0을 교차할 때의 표시.
전략 코드:
int Sig=0; double DNSignal=iCustom(Symbol(),0,"Fiji Trend",3,shift); // 사용자 정의 지표 호출 예제 double Fisher1=iCustom(Symbol(),0,"fisher",0,shift); double Fisher2=iCustom(Symbol(),0,"fisher",0,shift); if( Fisher1>0 && Fisher2>0 ){ Sig=1; } if( Fisher1<0 && Fisher2<0 ){ Sig=2; } // 1 - 매수, 2 - 매도 return(Sig);
Shift = 0으로 작업한 예제
Shift = 1로 작업한 예제
설명: 이 지표는 그리기 때문에 신호를 가져오는 것을 권장하지 않습니다.
비디오 예제:
6. HMA Color 지표
MA에서 작동하며 자체 공식에 따라 신호를 계산하는 사용자 정의 지표.
거래 전략: 색상 변경 거래
전략 코드:
int Sig=0; double HMARED=iCustom(Symbol(),0,"HMA Color",3,shift); double HMAGREEN=iCustom(Symbol(),0,"HMA Color",1,shift); double HMARED2=iCustom(Symbol(),0,"HMA Color",3,shift+1); double HMAGREEN2=iCustom(Symbol(),0,"HMA Color",1,shift+1); // 거래 개시를 위한 신호 지정: if(HMAGREEN!=EMPTY_VALUE && HMAGREEN2==EMPTY_VALUE) Sig=1; if(HMARED!=EMPTY_VALUE && HMARED2==EMPTY_VALUE) Sig=2;
Shift = 0으로 작업한 예제
Shift = 1로 작업한 예제
설명: 이 지표는 그리지 않지만 앞서 언급한 트릭을 사용하여 신호를 배치합니다. 이는 합리적으로 좋은 신호를 제공하는 몇 안 되는 지표 중 하나입니다.
비디오 예제:
7. MACD 지표
표준 MT 터미널 지표.
거래 전략: 신호선과 히스토그램의 교차를 이용한 거래
전략 코드:
int Sig=0; double MACD_SIGNAL1=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,shift); // MA Call Example double MACD_SIGNAL2=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,shift+1); // MA Call Example double MACD_MAIN1=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_MAIN,shift); // MA Call Example double MACD_MAIN2=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_MAIN,shift+1); // MA Call Example if(MACD_SIGNAL2<MACD_MAIN2 && MACD_SIGNAL1>MACD_MAIN1) Sig=1; if(MACD_SIGNAL2>MACD_MAIN2 && MACD_SIGNAL1<MACD_MAIN1) Sig=2;
Shift = 0으로 작업한 예제
Shift = 1로 작업한 예제
설명: 이 지표는 1개의 닫힌 바에서 재그리지 않으므로 shift=1을 자유롭게 사용할 수 있습니다.
비디오 예제:
8. ZIGZAG 지표
표준 MT 터미널 지표. 특정 영역의 고저를 기반으로 최고점과 최저점을 구축합니다.
거래 전략: 최고점과 최저점 형성을 거래. 포지션과 함께 지표를 거래하는 것은 권장되지 않으며, 좋은 한도 전략입니다.
전략 코드:
int Sig=0; double PriceZZ1=GetExtremumZZPrice(Symbol(),0,1); double PriceZZ2=GetExtremumZZPrice(Symbol(),0,2); double priceUP, priceDN; if(PriceZZ2>PriceZZ1) { priceUP=PriceZZ2; priceDN=PriceZZ1; Sig=2; } if(PriceZZ2<PriceZZ1) { priceUP=PriceZZ1; priceDN=PriceZZ2; Sig=1; }
Shift = 0으로 작업한 예제
설명: 이 지표는 최고점과 최저점을 그리기 때문에 shift는 무관합니다. 전략의 고유한 조건은 이 지표에서 성공적인 거래를 가능하게 합니다.
비디오 예제:
9. BARS 요청 시 작동
표준 MT 터미널의 바에서 작동합니다.
거래 전략: 바가 강세일 경우 매수, 약세일 경우 매도.
전략 코드:
int Sig=0; if(Open[shift] < Close[shift]) Sig=1; if(Open[shift] > Close[shift]) Sig=2;
Shift = 0으로 작업한 예제
Shift = 1로 작업한 예제
설명: Shift 파라미터가 어떻게 작동하는지 완벽하게 보여주는 예제로, 이 파라미터를 기반으로 한 전략을 거래할 수 있음을 시연합니다.
비디오 예제:
결론
이 유익한 기사는 다양한 지표를 다양한 shift 파라미터 값과 함께 사용하는 유용한 예제를 제공합니다.
각 지표는 고유하므로, 전문가 고문을 만들 때 지표의 유형과 신호를 고려해야 합니다.
프로그래머를 고용하여 전문가 고문을 만들기 전에, 지표의 재그리기 문제를 먼저 테스트하는 것이 중요합니다.
이는 로봇의 거래 신뢰성과 효과가 지표의 정확성에 달려 있기 때문에 매우 중요합니다.
따라서 전문가 고문 생성을 진행하기 전에 지표를 철저히 확인하고 테스트하는 것이 권장됩니다.
Advisor
EA는 우리의 EA 작성 템플릿을 사용하여 작성되었습니다.
모든 고문 기능은 이 페이지에서 설명됩니다: Forex Advisor 기능.
지표에 대한 알림을 생성하려면, 저희의 기사를 읽어보세요:
질문이 있으신가요?
질문이 있으시면 언제든지 문의해 주세요. 우리는 믿을 수 없는 것을 판매하지 않습니다.
저희의 모든 제품은 구매 전에 테스트할 수 있습니다.
저희 제품에 대한 피드백과 소망을 소중히 여기며, 높은 품질 기준을 유지하기 위해 노력합니다.
함께 해주셔서 감사합니다!
질문이 있으신가요?
This post is also available in: English Українська Portuguese Español Deutsch Chinese Русский Français Italiano Türkçe 日本語 한국어
Leave a Reply