[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 984

 
gyvenor :

고맙습니다.

이 테이블에 표시기 값이 있는 열을 추가할 수 있습니까? 예를 들어, 주어진 막대의 MA 값입니다. 아니면 위/아래 프랙탈이 있습니까?

Excel 자체에서 MA와 프랙탈을 만들고 셀에 수식을 삽입하십시오. 잠시 비즈니스.
 

안녕하세요. 1987년 챔피언십에서 전설적인 승리를 거둔 L. Williams 의 거래(명세서) 이력이 퍼블릭 도메인 어디에 있는지 알려주실 수 있습니까? 흥미롭게 볼 수 있습니다)

 
Techno :
일반 보고서를 첨부합니다. 그리고 전체 보고서가 더 좋고 거기에서 볼 수 있습니다.

상징 EURUSD(유로 vs USD)
기간 30분 (M30) 1999.01.06 15:30 - 2010.11.09 21:59
모델 공개 가격(바 개방을 명시적으로 제어하는 Expert Advisor만 해당)
옵션
역사의 바 143757 시뮬레이션된 진드기 287336 시뮬레이션 품질 해당 없음
그래프 불일치 오류 0
초기 보증금 1000000.00
순이익 23885.09 총 이윤 50787.58 총 손실 -26902.49
수익성 1.89 우승 기대 2.66
절대 드로다운 73.00 최대 드로다운 355.90 (0.03%) 상대적인 하락 0.03% (355.90)
총 거래 8996 숏포지션(%원) 0(0.00%) 롱포지션(%원) 8996 (87.36%)
수익성 있는 거래(전체의 %) 7859 (87.36%) 거래 손실(전체의 %) 1137 (12.64%)
가장 큰 수익성 있는 거래 10.50 무역 손실 -40.40
중간 수익성 있는 거래 6.46 무역 손실 -23.66
최대 금액 연속 우승(이익) 110 (730.00) 연속 손실(손실) 5 (-125.00)
최고 연속 이익 (승수) 730.00 (110) 연속 손실(손실 수) -125.00 (5)
평균 연속 이득 아홉 지속적인 손실 하나
그래프
아니요. 시간 유형 주문하다 용량 가격 S/L T/P
 

M1 모든 진드기와 M30의 차이는 미미합니다.

상징 EURUSD(유로 vs USD)
기간 1분 (M1) 1999.10.01 03:17 - 2010.11.09 21:06
모델 모든 틱(가용 가능한 모든 시간 프레임을 기반으로 한 가장 정확한 방법)
옵션
역사의 바 3798097 시뮬레이션된 진드기 37584894 시뮬레이션 품질 25.00%
그래프 불일치 오류 0
초기 보증금 1000000.00
순이익 19436.09 총 이윤 42746.64 총 손실 -23310.55
수익성 1.83 우승 기대 2.57
절대 드로다운 6.00 최대 드로다운 254.80 (0.03%) 상대적인 하락 0.03% (254.80)
총 거래 7566 숏포지션(%원) 0(0.00%) 롱포지션(%원) 7566 (87.09%)
수익성 있는 거래(전체의 %) 6589 (87.09%) 거래 손실(전체의 %) 977 (12.91%)
가장 큰 수익성 있는 거래 10.50 무역 손실 -40.40
중간 수익성 있는 거래 6.49 무역 손실 -23.86
최대 금액 연속 우승(이익) 62 (410.00) 연속 손실(손실) 5 (-125.00)
최고 연속 이익 (승수) 410.00 (62) 연속 손실(손실 수) -125.00 (5)
평균 연속 이득 아홉 지속적인 손실 하나
그래프

 

안녕하세요!

이 고문은 동일한 계정에서 작동하지만 다른 쌍에서 작업해야 합니다. 그러나 불행하게도 적어도 하나의 거래가 열려 있으면 Expert Advisors는 신호가 있더라도 다른 쌍에 대한 거래를 열지 않습니다. 실수는 어디에 있습니까? 이해하도록 도와주세요!

그리고 또 다른 질문입니다. 이미 다른 쌍에서 사용된 차트에 Expert Advisor를 첨부할 때 설정에서 Magic을 변경해야 합니까?

코드는 다음과 같습니다.

////////////////////////////////////////////////////// / //////////////////////
// 이동 이동 //
////////////////////////////////////////////////////// / //////////////////////
extern string Settings = "주 설정"; //////////////////////////
extern int 매직 = 227 ; //개별번호//
extern 이중 로트 = 0.1 ;
extern int 슬립 = 5 ; // 미끄러짐/


// 시간을 설정할 데이터

외부 문자열 OpenTime = "01:05-23:05";

//------------------------------------------------ ------------------// //
//지시자 // //
//------------------------------------------------ ------------------// //
외부 문자열 Indicator1 = "MA-Slow" ; // //
외부 정수 MAPeriod1 = 55 ; //기간 //
외부 int MA1_shift = 0 ;
외부 문자열 Indicator2 = "MA-Fast" ; // //
외부 정수 MAperiod2 = 13 ; //기간 //
외부 int MA2_shift = 0 ;

//------------------------------------------------ ------------------//////////////
int 티켓1, 티켓2, cnt;
정수 시작()
{
//------------------------------------------------ -------------------------------------------------- --------------//
이중 MA1 = iMA(NULL,0,MAPeriod1,MA1_shift,MODE_LWMA,PRICE_MEDIAN,0); //MA 표시기 계산 //
//인쇄("ma1=====",MA1);
이중 MA2 = iMA(NULL,0,MAperiod2,MA2_shift,MODE_LWMA,PRICE_CLOSE,0); //MA 표시기 계산 //
//인쇄("ma2=====",MA2);

문자열 OTA[];
문자열 OTI[];
split(OTA, 오픈타임, ";");

날짜 시간 tm0 = CurTime();
날짜 시간 tm1, tm2;

부울 조건 = 거짓;

정수 cnt = 배열 크기(OTA);
for (int i=0; i < cnt; i++) {
split(OTI, OTA[i], "-");
if (ArraySize(OTI) != 2) 계속;

tm1 = StrToTime(TimeToStr(CurTime(), TIME_DATE) + " " + OTI[0]);
tm2 = StrToTime(TimeToStr(CurTime(), TIME_DATE) + " " + OTI[1]);

조건 = 조건 || (tm1 <= tm0 && tm0 < tm2);
}


만약 (조건)
{
if(OrdersTotal()==0)
{
if((MA2>MA1)&&(닫기[0]>MA2))
{
tiket1=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slip,0,0,NULL,Magic,0, CLR_NONE );
}


if((MA2<MA1)&&(닫기[0]<MA2))
{
tiket2=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),Slip,0,0,NULL,Magic,0,CLR_NONE);
}
}

if(OrdersTotal()==1)
{
if((MA2>MA1)&&(닫기[0]>MA2 ))
{
OrderClose(ticket2, lots, Ask, 슬립, 레드);
}

if((MA2<MA1)&&(닫기[0]<MA2))
{
OrderClose(티켓1,랏,입찰,슬립,레드);
}
}
}
}

무효 분할(문자열& arr[], 문자열 str, 문자열 sym)
{
배열 크기 조정(arr, 0);
문자열 항목;
정수 위치, 크기;

정수 렌 = StringLen(str);
for (int i=0; i < len;) {
pos = StringFind(str, sym, i);
if (pos == -1) pos = len;

항목 = StringSubstr(str, i, pos-i);
항목 = StringTrimLeft(항목);
항목 = StringTrimRight(항목);

크기 = ArraySize(arr);
ArrayResize(arr, 크기+1);
arr[크기] = 항목;

나는 = pos+1;
}
}

 
marten82 :

안녕하세요!

외부 문자열 OpenTime = "01:05-23:05";

//------------------------------------------------ ------------------// //
//지시자 // //
//------------------------------------------------ ------------------// //
외부 문자열 Indicator1 = "MA-Slow" ; // //
외부 정수 MAPeriod1 = 55 ; //기간 //
외부 int MA1_shift = 0 ;
외부 문자열 Indicator2 = "MA-Fast" ; // //
외부 정수 MAperiod2 = 13 ; //기간 //
외부 int MA2_shift = 0 ;

//------------------------------------------------ ------------------//////////////
int 티켓1, 티켓2, cnt;
정수 시작()
{
//------------------------------------------------ -------------------------------------------------- --------------//
이중 MA1 = iMA(NULL,0,MAPeriod1,MA1_shift,MODE_LWMA,PRICE_MEDIAN,0); //MA 표시기 계산 //
//인쇄("ma1=====",MA1);
이중 MA2 = iMA(NULL,0,MAperiod2,MA2_shift,MODE_LWMA,PRICE_CLOSE,0); //MA 표시기 계산 //
//인쇄("ma2=====",MA2);

문자열 OTA[];
문자열 OTI[];
split(OTA, 오픈타임, ";");

날짜 시간 tm0 = CurTime();
날짜 시간 tm1, tm2;

부울 조건 = 거짓;

정수 cnt = 배열 크기(OTA);
for (int i=0; i < cnt; i++) {
split(OTI, OTA[i], "-");
if (ArraySize(OTI) != 2) 계속;

tm1 = StrToTime(TimeToStr(CurTime(), TIME_DATE) + " " + OTI[0]);
tm2 = StrToTime(TimeToStr(CurTime(), TIME_DATE) + " " + OTI[1]);

조건 = 조건 || (tm1 <= tm0 && tm0 < tm2);
}


만약 (조건)
{
if(OrdersTotal()==0)
{
if((MA2>MA1)&&(닫기[0]>MA2))
{
tiket1=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slip,0,0,NULL,Magic,0,CLR_NONE);
}


if((MA2<MA1)&&(닫기[0]<MA2))
{
tiket2=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),Slip,0,0,NULL,Magic,0,CLR_NONE);
}
}

if(OrdersTotal()==1)
{
if((MA2>MA1)&&(닫기[0]>MA2 ))
{
OrderClose(ticket2, lots, Ask, 슬립, 레드);
}

if((MA2<MA1)&&(닫기[0]<MA2))
{
OrderClose(티켓1,랏,입찰,슬립,레드);
}
}
}
}

무효 분할(문자열& arr[], 문자열 str, 문자열 sym)
{
배열 크기 조정(arr, 0);
문자열 항목;
정수 위치, 크기;

정수 렌 = StringLen(str);
for (int i=0; i < len;) {
pos = StringFind(str, sym, i);
if (pos == -1) pos = len;

항목 = StringSubstr(str, i, pos-i);
항목 = StringTrimLeft(항목);
항목 = StringTrimRight(항목);

크기 = ArraySize(arr);
ArrayResize(arr, 크기+1);
arr[크기] = 항목;

나는 = pos+1;
}
}


빨간색으로 강조 표시된 곳을 생각합니다.
 
-marten82 :

안녕하세요!

이 고문은 동일한 계정에서 작업하지만 다른 쌍에서 작업해야 합니다. 그러나 불행하게도 적어도 하나의 거래가 열려 있으면 Expert Advisors는 신호가 있더라도 다른 쌍에 대한 거래를 열지 않습니다. 실수는 어디에 있습니까? 이해를 도와주세요!

그리고 또 다른 질문, 이미 다른 쌍에서 사용된 차트에 Expert Advisor를 첨부할 때 설정에서 Magic을 변경해야 합니까?

코드는 다음과 같습니다.


...
if(OrdersTotal()==0)

....
여기에 악의 뿌리가 있습니다.
 
paukas :
여기에 악의 뿌리가 있습니다.
나는 추측한다. 올바른 상태를 도와줄 수 있습니까? 무언가가 나에게 맞지 않기 때문입니다.
 

어떤 이유로 고문은 21.45 이전에 저널을 구독 취소하기를 완고하게 원하지 않습니다. 그러나 코드에서 모든 것이 정확하고 이에 대한 제한이 없습니다 ... 이유가 무엇인지 살펴보십시오 plz? upd가 컴퓨터를 재부팅했습니다. 처음 실행할 때 기록이 하루의 맨 처음부터 있었고 다시 모든 것이 새롭습니다. 뭔가가 캐시된 것 같은 느낌이 들지만 무엇입니까?



 
asc9 :

어떤 이유로 고문은 21.45 이전에 저널을 구독 취소하기를 완고하게 원하지 않습니다. 그러나 코드에서 모든 것이 정확하고 이에 대한 제한이 없습니다 ... 이유가 무엇인지 살펴보십시오 plz? upd는 컴퓨터를 재부팅했습니다. 첫 번째 실행에서 기록은 하루의 맨 처음부터 있었고 다시 모든 것이 새롭습니다. 뭔가가 캐시된 것 같은 느낌이 들지만 무엇입니까?




첫 번째 조건 때문인 것 같아요. Hour()<=22를 시도하십시오.
사유: