BrainSystem: 거래 시스템 개발 및 거래 - 페이지 15

 
jpsdyb:
나는 바 엔드까지 1분 0초를 알아차렸다.

이 정보를 표시하기 위해 무엇을 사용하고 있습니까??

고맙습니다

아무것도 그것은 바 마감까지 남은 시간을 보여주는 지표일 뿐입니다. 여기에 사용할 수 있는 지표가 있습니다. woodi의 CCI와 같은 일부 전략은 주문을 열기 위해 바 마감까지 남은 시간을 사용합니다.

좋아요?

파일:
 

Kamyar, 백만 감사합니다!!

또한 BrainTrendSig2에 알림 활성화를 추가하는 방법을 아는 사람이 있습니까? 스크립트를 수정하고 메타에디터 컴파일 테스트 0 오류 및 0 경고를 시도했습니다. 그래도 여전히 작동하지 않으며 왜 그런지 혼란 스럽습니다. 경고 활성화를 1로 변경하는 것을 알고 있지만 문제는 표시기 자체입니다. 제대로 로드되지 않습니다.

감사해요

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

//| BrainTrend2.mq4 |

//| www.forex-tsd.com |

//| Nick Bilak |

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

#property copyright "BrainTrading Inc."

#property link "www.forex-tsd.com"

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Blue

#property indicator_color2 Red

//---- input parameters

extern int NumBars=500;

extern int EnableAlerts=0;

extern int SignalID=0;

//---- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double spread;

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicators

SetIndexStyle(0,DRAW_ARROW);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexArrow(0,233);

SetIndexStyle(1,DRAW_ARROW);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexArrow(1,234);

spread=MarketInfo(Symbol(),MODE_SPREAD)*Point;

//----

return(0);

}

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

//| Custor indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start() {

int counted_bars=IndicatorCounted();

//----

int artp=7;

double dartp=7.0;

double cecf=0.7;

int satb=0;

int Shift=0;

bool river=True;

double Emaxtra=0;

double widcha=0;

double TR=0;

double Values[100];

int glava=0;

double ATR=0;

int J=0;

double Weight=0;

double r=0;

double r1=0;

int p=0;

int Curr=0;

double Range1=0;

double s=2;

double f=10;

double val1=0;

double val2=0;

double h11=0;

double h12=0;

double h13=0;

double const=0;

double orig=0;

double st=0;

double h2=0;

double h1=0;

double h10=0;

double sxs=0;

double sms=0;

double temp=0;

double h5=0;

double r1s=0;

double r2s=0;

double r3s=0;

double r4s=0;

double pt=0;

double pts=0;

double r2=0;

double r3=0;

double r4=0;

double tt=0;

double tsig=0;

if( Bars < NumBars) satb = Bars; else satb = NumBars;

if( Close[satb - 2] > Close[satb - 1]) river = True; else river = False;

Emaxtra = Close[satb - 2];

Shift=satb-3;

while(Shift>=0) {

TR = spread+ High[Shift] - Low[Shift];

if( MathAbs(spread+ High[Shift] - Close[Shift + 1]) > TR ) TR = MathAbs(spread+ High[Shift] - Close[Shift + 1]);

if( MathAbs(Low[Shift] - Close[Shift + 1]) > TR) TR = MathAbs(Low[Shift] - Close[Shift + 1]);

if (Shift == satb - 3 ) {

for(J=0;Shift<=artp-1;J++) {

Values[J] = TR;

}

}

Values[glava] = TR;

ATR = 0;

Weight = artp;

Curr = glava;

for (J = 0;J<=artp - 1;J++) {

ATR += Values[Curr] * Weight;

Weight -= 1.0;

Curr--;

if (Curr == -1) Curr = artp - 1;

}

ATR = 2.0 * ATR / (dartp * (dartp + 1.0));

glava++;

if (glava == artp) glava = 0;

widcha = cecf * ATR;

if (river && Low[Shift] < Emaxtra - widcha) {

river = False;

Emaxtra = spread+ High[Shift];

}

if (!river && spread+ High[Shift] > Emaxtra + widcha) {

river = True;

Emaxtra = Low[Shift];

}

if (river && Low[Shift] > Emaxtra) {

Emaxtra = Low[Shift];

}

if (!river && spread+ High[Shift] < Emaxtra ) {

Emaxtra = spread+ High[Shift];

}

Range1 = iATR(NULL,0,10,Shift);

val1 = 0;

val2 = 0;

if (river) {

if (p != 1) r1 = Low[Shift] - Range1 * s / 3.0;

if (p == 1) r1 = -1.0;

if (r1 > 0) {

val1 = r1;

val2 = 0;

} else {

val1 = 0;

val2 = 0;

}

ExtMapBuffer1[Shift]=val1;

p = 1;

} else {

if (p != 2) r1 = spread+ High[Shift] + Range1 * s / 3.0;

if (p == 2) r1 = -1.0;

if (r1 > 0) {

val1 = 0;

val2 = r1;

} else {

val1 = 0;

val2 = 0;

}

ExtMapBuffer2[Shift]=val2;

p = 2;

Shift--;

}

}

if (EnableAlerts == 1)

{

if (val1 > 0 && tsig != 1)

{

tsig = 1;

// a1 = FileOpen("alert1" + SignalID,";");

Alert("BrainTrend2Sig", "Sell " ,Symbol() ," at ", Close[0] , " S/L " , val1 , " BT1 M" ,Period());

//a1=FileOpen("alert1"+ SignalID,FILE_CSV|FILE_WRITE,';');

// FileWrite(a1,"Sell " ,Symbol() ," at ", Close[0] , " S/L " , val1 , " BT1 M" ,Period());

// FileClose(a1);

}

if (val2 > 0 && tsig != 2)

{

tsig = 2;

Alert("BrainTrend2Sig", "Buy " , Symbol() , " at " ,Close[0] ," S/L " ,val2 ," BT1 M" , Period());

//a1 = FileOpen("alert1" + SignalID,";");

// a1=FileOpen("alert1"+ SignalID,FILE_CSV|FILE_WRITE,';');

// FileWrite(a1,"Buy " , Symbol() , " at " ,Close[0] ," S/L " ,val2 ," BT1 M" , Period());

//FileClose(a1);

}

}

//----

return(0);

}

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

나는 우리가 경보, 확인 및 모든 것(거래용이 아님)을 위해 이 시스템에 대해 EA를 갖기를 여전히 희망하고 있습니다. 이 경우 이 시스템을 사용하여 거래하는 것이 매우 쉬울 것입니다. 나는 우리가 곧 그것을 가질 것이라고 생각합니다.

그러나 지금은 M15 확인 없이 H1보다 짧은 시간에 이 시스템을 사용하는 방법을 생각하고 있습니다.

지금 나는 M30 차트를 보고 있고 그것이 효과가 있기를 바랍니다.

어쨌든 내일부터 순차 테스트를 해보겠습니다. 하지만 이 거래 전략 에 대한 몇 가지 규칙 을 변경 하는 것이 필요 하다고 생각 합니다 .

파일:
1_23.gif  30 kb
2_16.gif  31 kb
3_6.gif  32 kb
4_4.gif  30 kb
 

내가 평가하고 싶은 지표와 템플릿을 찾아주세요.

나는 여전히 M15 또는 M30 기간에 이 시스템 거래에 대한 몇 가지 규칙을 찾기를 희망합니다.

파일:
indicators.zip  16 kb
bt7_m30.zip  4 kb
 

잘.

어떻게 작동하는지 보고 싶을 뿐입니다.

규칙 #1.

BT1sig 및 BT2 sig에 입력하십시오. 특히 같은 막대에 있으면 안됩니다. 그리고 SAR 및 I-XO 표시기로 확인해야 합니다. 신호 후 I-XO의 확인을 위해 한 바 더 기다릴 수 있습니다. BT1sig 및 BT2sig는 신호와 동일한 막대에서 SAR에 의해 확인되어야 합니다. 예를 들어, BT1sig에서 매수 신호 가 있는 경우(예:) SAR을 찾고 있습니다. 신호가 있는 동일한 막대에서 SAR의 상승 추세라면 BT2sig(예:)를 기다리고 있습니다. 두 번째 신호도 SAR에서 확인해야 합니다. 모든 것이 정상이면 I-XO의 확인을 기다리고 있습니다(마지막 신호 후 1바 이하). 가장 어려운 경우입니다. 물론 모든 것이 있다면(같은 막대에 두 개의 신호와 두 개의 확인 표시가 있음) 완벽합니다.

전체 막대만 고려하고 있습니다.

내가 이미 설명한 가장 어려운 경우는 이미지 1에서 볼 수 있습니다.

종료는 SAR에서 매우 간단합니다(이미지 2).

매우 간단하고 유연한 규칙입니다.

왜 규칙 #1인가?

우리가 마침내 이 규칙을 갖게 될지 확신하지 못하기 때문입니다. 모두가 다른 규칙을 제안하거나 내가 이것을 변경할 수 있습니다.

파일:
2_17.gif  28 kb
1_24.gif  28 kb
 

금요일 아침부터 다음이 있어야 합니다.

EURUSD .

19:30(20/01)에 1.2127을 구입하고 06:30(23/01)에 1.2233을 종료: +106 p.

10:30(23/01)에 1.2259를 구매하고 1.2285를 종료합니다(주문은 여전히 열려 있을 수 있음): +26 p.

USDCH F.

14:30(20/01)에 1.2820 판매 및 07:30(23/01)에 1.2666 종료: +154 p.

10:30(23/01)에 1.2628을 판매하고 1.2233을 종료합니다(주문은 여전히 열려 있을 수 있음): +54 p.

GBPUSD .

10:30(20/01)에 1.7583을 매수하고 05:00(23/01)에 1.7794를 종료: +214 p.

08:30(23/01)에 1.7763을 판매하고 10:30(23/01)에 1.7798을 종료: -35 p.

10:30(23/01)에 1.7798을 구매하고 1.7866을 종료합니다(주문은 여전히 열려 있을 수 있음): +68 p.

USDJPY .

16:30(20/01)에 155.32를 구매하고 00:00(23/01)에 155.14를 종료합니다: -18 p.

02:00(23/01)에 114.79를 판매하고 10:00(23/01)에 114.78을 종료: +1 p.

10:30(23/01)에 114.30을 판매하고 16:00(23/01)에 114.62를 종료: -32 p.

538p .

제 생각에 이 규칙 #1은 너무 유연합니다.

아마도.

 

누군가가 다른 규칙을 추정한다면 나는 매우 좋을 것입니다(다른 가능한 지표가 있는 경우). 그러나 규칙은 현실적이어야 한다고 생각합니다. 예를 들어 나는 과거 데이터에 대한 이익을 계산했지만(순방향 테스트여야 하기 때문에 당연히 좋지 않음) 규칙을 완전히 따르는 로봇(예: EA)으로 계산했습니다. 나는 그것이 작동하는지 확인하기 위해 과거 데이터를 사용했습니다.

 

안녕하세요 뉴디지털

노력해 주셔서 감사합니다. 몇 가지 질문이 있습니다.

1.귀하의 시스템에서 확률적 지표 의무는 무엇입니까?

2. 우리는 먼저 bt1signal을 얻고 bt2signal을 받아야 합니다. 아니면 어떤 종류가 될 수 있습니까?

3. 정확히 채워진 구역은 무엇입니까.내 생각에는 우리가 구역에서 거래하지 않아야 한다는 뜻인 것 같습니다.알았습니까?

감사해요

 

당신은 bt 신호가 같은 막대에 있으면 안 된다고 언급했습니다. 내가 아는 한 우리는 이 경우에 거래해서는 안 됩니다.설명해 주시겠습니까?내가 맞습니까?

 
newdigital:
누군가가 다른 규칙을 추정한다면 나는 매우 좋을 것입니다(다른 가능한 지표가 있는 경우). 그러나 규칙은 현실적이어야 한다고 생각합니다. 예를 들어 나는 과거 데이터에 대한 이익을 계산했지만(순방향 테스트여야 하기 때문에 당연히 좋지 않음) 규칙을 완전히 따르는 로봇(예: EA)으로 계산했습니다. 나는 그것이 작동하는지 확인하기 위해 과거 데이터를 사용했습니다.

저는 현재 Braintrend2, Stochastics 및 2개의 LSMA 색상 표시기를 사용하여 Eur/Usd 1HR에 대한 새로운 전략을 테스트하고 있습니다. 지금까지 히스토리 차트를 살펴보면 결과가 꽤 가치 있는 것 같습니다. 규칙은 사용하기가 매우 쉽습니다. BraintrendSig2에 경고만 있으면 더 자주 테스트할 수 있습니다. 나는 전략을 계속 테스트하고 결과를 곧 게시할 것입니다.

사유: