코딩 도움말 - 페이지 258

 
Tomcat98:
안녕하세요 믈라덴입니다.

빌어먹을 새 빌드!

B625를 사용하여 이제 새로운 경고를 받았습니다.

"'OrderSelect'의 반환 값을 확인해야 합니다."

다음 코드의 경우:

"주문선택(i,SELECT_BY_POS,MODE_TRADES);"

그것을 수정하는 방법?

모두 감사합니다.

톰캣98

톰캣98

다음을 수행합니다.

하나의 전역 부울 변수를 선언합니다(예: 다음과 같이).

부울 더미 결과;

그런 다음 OrderSelect 앞에 "dummyResult ="를 배치하기만 하면 됩니다. 그러면 다음이 표시됩니다.

더미 결과 = 주문 선택(i,SELECT_BY_POS,MODE_TRADES);

 
Tomcat98:
안녕하세요 믈라덴입니다.

빌어먹을 새 빌드!

B625를 사용하여 이제 새로운 경고를 받았습니다.

"'OrderSelect'의 반환 값을 확인해야 합니다."

다음 코드의 경우:

"주문선택(i,SELECT_BY_POS,MODE_TRADES);"

그것을 수정하는 방법?

모두 감사합니다.

톰캣98

글쎄, 당신은 약간의 노력의 비용을 제거 할 수 있습니다.

그러나 어떤 방법으로도 제거 할 수 없다는 영구적인 경고를 받고 있습니다(소스 코드 줄 제거 제외).

struct Empty {};[/CODE]

results in

[CODE]! struct has no members, size assigned to 1 byte

dll 호출에 대해서만 상위 유형으로 사용하면 쓸모없는 정보입니다(빈 구조의 다른 용도는 전혀 모릅니다).

 

안녕 믈라덴

예 작동합니다.

잘 했어.

도움을 주셔서 대단히 감사합니다.

감사합니다.

톰캣98

 

안녕 모두,

언젠가부터 EA에서 사용하는 지표 중 하나에서 산발적으로 다음 오류가 발생합니다.

2014.04.10 09:01:49.533 2014.01.08 03:45 'C:\Users\...\AppData\Roaming\MetaQuotes\Terminal\D5D5AE2430FC683F628FX의 0xFFFFFFFE에 대한 액세스 위반 쓰기

MT 버전 4를 사용합니다. 빌드 625

이 문제의 근본 원인을 찾을 수 있도록 도와주세요. 지표를 조사해야 하는 경우 알려주십시오. 항상 나타나지는 않지만 매우 자주 나타납니다 ...

감사합니다.

안토니

 
Antony1:
안녕 모두,

언젠가부터 EA에서 사용하는 지표 중 하나에서 산발적으로 다음 오류가 발생합니다.

2014.04.10 09:01:49.533 2014.01.08 03:45 'C:\Users\...\AppData\Roaming\MetaQuotes\Terminal\D5D5AE2430FC683F628FX의 0xFFFFFFFE에 대한 액세스 위반 쓰기

MT 버전 4를 사용합니다. 빌드 625

이 문제의 근본 원인을 찾을 수 있도록 도와주세요. 지표를 조사해야 하는 경우 알려주십시오. 항상 나타나지는 않지만 매우 자주 나타납니다 ...

감사합니다.

안토니

안토니

그것은 당신의 지표에 문제가 아닙니다

새로운 메타트레이더 4의 문제입니다(적절한 메모리 할당 및 액세스에 문제가 있습니다. 빌드 628이 조금 더 좋지만 많이는 아닙니다)

 

안녕,

내가 쓰려고 했던 이 지표에 대한 도움이 필요합니다(와일더 후행 중지 촛불 MTF).

첫 번째 문제: 내 표시기는 그 전에 구매 신호 1바를 그어야 하며 이것이 기울기가 계산되는 방식 때문이라는 것을 알고 있지만 수정 방법을 모르겠습니다.

두 번째 문제: 색상이 일치하지 않습니다. 아마도 이 부분에서 버퍼를 엉망으로 만들었을 것입니다. :

if (UpLineBuffer!=EMPTY_VALUE)

{

UpBodyBuffer = High;

DnBodyBuffer = Low;

UpWickBuffer = MathMax(Open,Close);

DnWickBuffer = MathMin(Open,Close);

}

else

{

DnBodyBuffer = High;

UpBodyBuffer = Low;

DnWickBuffer = MathMax(Open,Close);

UpWickBuffer = MathMin(Open,Close);

wilders_trailing_stop_candles_mtf.mq4

wilders_trailing_stop_mtf_1.mq4

wilders_trailing_stop.mq4

 
thefxpros:
안녕,

내가 쓰려고 했던 이 지표에 대한 도움이 필요합니다(와일더 후행 중지 촛불 MTF).

첫 번째 문제: 내 표시기는 그 전에 구매 신호 1바를 그어야 하며 이것이 기울기가 계산되는 방식 때문이라는 것을 알고 있지만 수정 방법을 모르겠습니다.

두 번째 문제: 색상이 일치하지 않습니다. 아마도 이 부분에서 버퍼를 엉망으로 만들었을 것입니다. :

if (UpLineBuffer!=EMPTY_VALUE)

{

UpBodyBuffer = High;

DnBodyBuffer = Low;

UpWickBuffer = MathMax(Open,Close);

DnWickBuffer = MathMin(Open,Close);

}

else

{

DnBodyBuffer = High;

UpBodyBuffer = Low;

DnWickBuffer = MathMax(Open,Close);

UpWickBuffer = MathMin(Open,Close);

wilders_trailing_stop_candles_mtf.mq4

wilders_trailing_stop_mtf_1.mq4

wilders_trailing_stop.mq4

음, 색상이 일치합니다. 먼저 wickbuffers를 작성한 다음 bodybuffers를 작성해야 합니까?

 
thefxpros:
음, 색상이 일치합니다. 먼저 wickbuffers를 작성한 다음 bodybuffers를 작성해야 합니까?

더 엑스프로

가장 쉬운 방법은 Wilders 후행 정지 표시기를 변경하는 것입니다(그렇지 않으면 복잡한 if then else 구성에 갇히게 됩니다). 다음은 원하는 하나의 내부 버퍼가 있는 버전입니다: trend. 1이면 추세가 상승하고 -1이면 추세가 하락합니다. 원본 대신 이 표시기를 사용하고 버퍼 4의 값을 읽기만 하면 됩니다.

 
mladen:
fxpros 가장 쉬운 방법은 Wilders 후행 정지 표시기를 변경하는 것입니다(그렇지 않으면 복잡한 if then else 구성에 빠지게 됩니다). 다음은 원하는 하나의 내부 버퍼가 있는 버전입니다: trend. 1이면 추세가 상승하고 -1이면 추세가 하락합니다. 원본 대신 이 표시기를 사용하고 버퍼 4의 값을 읽기만 하면 됩니다.

이와 같이 ?

//------------------------------------------------------------------

#property copyright "thefxpros"

#property link "thefxpros@katamail.com"

//------------------------------------------------------------------

#property indicator_chart_window

#property indicator_buffers 4

#property indicator_color1 LimeGreen

#property indicator_color2 Orange

#property indicator_color3 DarkGreen

#property indicator_color4 FireBrick

#property indicator_width1 1

#property indicator_width2 2

//

//

//

extern int TimeFrame = 0;

extern int Length = 2;

extern double Coeff = 1.75;

extern color UpBodyColor = LimeGreen;

extern color DnBodyColor = Orange;

extern color UpWickColor = DarkGreen;

extern color DnWickColor = FireBrick;

extern int WickWidth = 1;

extern int BodyWidth = 2;

//

double UpBodyBuffer[];

double DnBodyBuffer[];

double UpWickBuffer[];

double DnWickBuffer[];

double TrendBuffer[];

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

int init()

{

IndicatorBuffers(6);

SetIndexBuffer(0,UpWickBuffer); SetIndexStyle(0,DRAW_HISTOGRAM, EMPTY, WickWidth, UpWickColor);

SetIndexBuffer(1,DnWickBuffer); SetIndexStyle(1,DRAW_HISTOGRAM, EMPTY, WickWidth, DnWickColor);

SetIndexBuffer(2,UpBodyBuffer); SetIndexStyle(2,DRAW_HISTOGRAM, EMPTY, BodyWidth, UpBodyColor);

SetIndexBuffer(3,DnBodyBuffer); SetIndexStyle(3,DRAW_HISTOGRAM, EMPTY, BodyWidth, DnBodyColor);

SetIndexBuffer(4,TrendBuffer);

IndicatorShortName("Wilders trailing stop MTF candles("+Length+","+Coeff+")");

Length = MathMax(Length,1);

switch(TimeFrame)

{

case 1 : string TimeFrameStr="Period_M1"; break;

case 5 : TimeFrameStr="Period_M5"; break;

case 15 : TimeFrameStr="Period_M15"; break;

case 30 : TimeFrameStr="Period_M30"; break;

case 60 : TimeFrameStr="Period_H1"; break;

case 240 : TimeFrameStr="Period_H4"; break;

case 1440 : TimeFrameStr="Period_D1"; break;

case 10080 : TimeFrameStr="Period_W1"; break;

case 43200 : TimeFrameStr="Period_MN1"; break;

default : TimeFrameStr="Current Timeframe";

}

IndicatorShortName("Wilders trailing stop MTF candles("+TimeFrameStr+")");

return(0);

}

//----

//+------------------------------------------------------------------+

//| MTF function |

//+------------------------------------------------------------------+

int start()

{

datetime TimeArray[];

int i,limit,y=0,counted_bars=IndicatorCounted();

// Plot defined time frame on to current time frame

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);

limit= MathMin(Bars-counted_bars+3*TimeFrame/Period(),Bars-1);

for(i=0,y=0;i<limit;i++)

{

if (Time<TimeArray[y]) y++;

/*********************************************************************************************************

Add your main indicator loop below. You can reference an existing indicator with its iName or iCustom.

Rule 1: Add extern inputs above for all neccesary values

Rule 2: Use 'TimeFrame' for the indicator time frame

Rule 3: Use 'y' for your indicator's shift value

********************************************************************************************************/

int slope=iCustom(Symbol(),TimeFrame,"Wilders trailing stop with trend",Length,Coeff,4,y);

if (slope == 1)

{

UpWickBuffer = High;

DnWickBuffer = Low;

UpBodyBuffer = MathMax(Open,Close);

DnBodyBuffer = MathMin(Open,Close);

}

if (slope == -1)

{

DnWickBuffer = High;

UpWickBuffer = Low;

DnBodyBuffer = MathMax(Open,Close);

UpBodyBuffer = MathMin(Open,Close);

}

}

return(0);

}

//+------------------------------------------------------------------+

믿을 수 없다. 첫 시도에서 작동한다. .....내가 만든 것보다 더 잘 쓸 수 있는 다른 것이 있습니까?

믈라덴 감사합니다

파일:
cattura_2.jpg  72 kb
 
mladen:
차트에 길이가 인치인 선을 그릴 수 없습니다(메타트레이더를 사용하여 완전히 불가능하고 모든 거래 플랫폼에서 가능한지 의심스럽습니다). 그리고 그 선은 추세선이 아닌 수평선 개체입니다(추세선은 제한될 수 있지만 수평선은 제한할 수 없음). 선을 어떻게 그려야 하는지에 대한 정확한 수학적 규칙이 없으면(인치가 아니라 가격에 따라 다름) 단순히 그릴 수 없으며 이러한 일련의 숫자에서 각 선마다 규칙이 고유한 것으로 보입니다.

네 감사합니다 편집할 수 있는 더 나은 인디를 찾았습니다. 코더가 forexfactory에서 완료하지 않은 프로젝트 였으며 더 이상 그를 찾을 수 없습니다. 00, 20, 50, 80을 제 번호로 바꿔주세요. 라인은 또한 특수 번호 5, 15, 31, 45 및 67에 배치하는 대신 함께 클러스터링됩니다.

감사해요

파일: