[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 475 1...468469470471472473474475476477478479480481482...652 새 코멘트 [삭제] 2012.01.04 15:08 #4741 한 번에 하나 이상의 구매 주문이 있습니까? Роман 2012.01.04 15:12 #4742 dkfl.zrjdktdbx : 감사해요!!! 여기 시작 링크가 있습니다. 그 다음에는 IMHO입니다. Victor Nikolaev 2012.01.04 15:25 #4743 Ivn : 명확히 해주세요 분석 부분의 작업에는 엄격하게 지정된 기간이 사용됩니다. 또는 기간 [삭제] 2012.01.04 15:26 #4744 그래서 조금 흥이 났나 하는 생각이 들더군요.. int BUY; for ( i= OrdersTotal ();i> 0 ;i--){ OrderSelect (i- 1 ,SELECT_BY_POS ); if ( OrderSymbol ()== Symbol ()&& OrderMagicNumber ( )==????){ if ( OrderType ( )==OP_BUY){BUY++;}}} if ( BUY> stsBUY) { //Alert ("NashlY BUY " ); for ( i= OrdersTotal ();i> 0 ;i--){ OrderSelect (i- 1 ,SELECT_BY_POS ); if ( OrderMagicNumber ( )==???? && OrderSymbol ()== Symbol ()&& OrderType ( ) ==OP_BUYSTOP) { OrderDelete ( OrderTicket ( ) ); stsBUY=BUY; Alert ( "OrderDelete-OP_BUYSTOP" , GetLastError ( ) ); } if ( OrderMagicNumber ( )==???? && OrderSymbol ()== Symbol ()&& OrderType ( ) ==OP_BUYLIMIT) { OrderDelete ( OrderTicket ( ) ); stsBUY=BUY; Alert ( "OrderDelete-OP_BUYSTOP" , GetLastError ( ) ); } }} 아니요, 정확하지 않습니다. 분명히 구매 주문이 감지되면 모든 예금이 제거됩니다. 모든 구매 예금. 시작하기 전에 stsBUY를 설정해야 합니다. 오류를 확인하지 않았습니다. ivn 2012.01.04 15:29 #4745 Vinin : 분석 부분의 작업에는 엄격하게 지정된 기간이 사용됩니다. 또는 기간 분석을 위해 "물고기"를 떨어 뜨릴 수 있습니까? 의견이 있으면 감사하겠습니다. Victor Nikolaev 2012.01.04 15:30 #4746 dkfl.zrjdktdbx : 그래서, 나는 그것을 생각해 냈습니다. 아마도 약간 흥분 .. 아니요, 그것은 정확하지 않습니다. 분명히 여기에서 구매 주문이 발견되면 모든 예금이 제거됩니다 .. 모든 구매 예금. 시작하기 전에 stsBUY를 설정해야 합니다. 오류를 확인하지 않았습니다. 코드를 더 잘 게시했어야 합니다. 실수 없음 그리고 논리가 나쁘다 FelixFX 2012.01.04 15:50 #4747 Ivn : 분석을 위해 "물고기"를 떨어 뜨릴 수 있습니까? 의견이 있으면 감사하겠습니다. "2배"가 얼마냐고 묻지 않으려면 최소한 교과서를 조금 읽어야 합니다. ivn 2012.01.04 16:07 #4748 FelixFX : "2배"가 얼마냐고 묻지 않으려면 최소한 교과서를 조금 읽어야 합니다. 중요한 말에 대해 논쟁을 벌이지는 않지만, 만약 내가 이것을 이해했다면 그것이 논리적인지 묻지 않을 것입니다. 즉, 지표에 기간이 표시된 알고리즘에서 명확하게 규정합니다. 바르게? 그럼 다음을 설명해주세요.... 어드바이저 - 스토캐스틱을 넘어 거래를 시작합니다. 유로 달러 쌍, 기간 30. 여기 알고리즘이 있습니다 정수 시작() { 새로 고침(); // 데이터 업데이트 기호=기호(); x1=x; y1=y; x=iStochastic(NULL,0,5,3,3,MODE_SMA,1,0,0); // 0 bar에서 확률적 메인 라인의 값 y=iStochastic(NULL,0,5,3,3,MODE_SMA,1,1,0); // 0 bar에서 확률적 신호 라인의 값 경고("확률적 기본",x); 경보("확률적 신호",y); //---- 신호와 메인 라인의 교차점 if (y < x && y1> x1) // 통과 확인 { f=1; // 플래그 업 } //------------------------------------------------ -------------------- if (y > x && y1< x1) // 다운 패스 확인 { f=2; //플래그 다운 } //----라인 20의 맨 아래에서 맨 위로 메인 라인의 교차를 확인합니다. if (f==1 && x1<20 && x>= 20) { if (Ticket > 0) // 주문이 있으면 삭제 OrderClose(티켓, Lts, Bid, 10); SL=입찰가 - 손절매*포인트; // SL 열기를 계산합니다. TP=입찰가 + 이익실현*포인트; // TP 오픈을 계산합니다. Alert("구매를 열려고 합니다. 응답을 기다리는 중입니다.."); OrderSelect(티켓, SELECT_BY_TICKET); if(OrderCloseTime()>0 || !OrderSelect(티켓, SELECT_BY_TICKET)) { 티켓=OrderSend(Symb,OP_BUY,Lts,Ask,3,SL,TP);//오픈 구매 } if (티켓 > 0) // 성공 :) { Alert("구매 주문 오픈",티켓); 반품; f=0; // 플래그 재설정 } } //----라인 80의 위에서 아래로 메인 라인의 교차 확인 if (f==2 && x1>80 && x<= 80) { if (티켓 > 0) OrderClose(티켓,Lts,Ask, 10); // 주문이 있으면 삭제 SL=매도 + 손절매*포인트; // SL 열기를 계산합니다. TP=요청 - TakeProfit*포인트; // TP 오픈을 계산합니다. Alert("판매를 열려고 합니다. 응답을 기다리는 중입니다.."); OrderSelect(티켓, SELECT_BY_TICKET); if(OrderCloseTime()>0 || !OrderSelect(티켓, SELECT_BY_TICKET)) { 티켓=OrderSend(Symb,OP_SELL,Lts,Bid,3,SL,TP);//오픈 구매 } if (티켓 > 0) // 성공 :) { Alert("판매 주문 오픈",티켓); 반품; f=0; // 플래그 재설정 } } 리턴(0); } 실행하면 어드바이저는 30분 이내에 주문을 열고 닫습니다. 즉, 9.04에 열고 9.05에 닫습니다. 09.06에 다시 열립니다. 9.07 등에 마감합니다. 그리고 한 방향으로. 왜 이런 일이 발생합니까? 감사합니다. [ARCHIVE] Any rookie question, [ARCHIVE!] 포럼을 어지럽히 지 코딩하는 방법? Artyom Trishkin 2012.01.04 16:07 #4749 sss2019 : 그리고 BUYLIMIT 및 BUYSTOP 두 개의 미결 주문이 있는 경우 BUYLIMIT가 트리거될 때 BUYSTOP을 제거해야 하며 그 반대의 경우도 마찬가지입니다. 이 조건을 충족할 수 있는 방법을 알려주시겠습니까? 실제로 논리는 다음과 같아야 합니다. 1. 두 개의 보류 주문 이 있고 단일 위치가 없는 경우 변수에 이러한 보류 주문의 티켓을 기억하십시오. 2. 보류 중인 SellStop이 있고 보류 중인 BuyStop이 없는 경우 Buy 위치가 있으면 마지막으로 열린 Buy 위치의 티켓과 저장된 BuyStop 티켓을 비교합니다. 동일하면 BuyStop이 시장 Buy로 변환된 것입니다. --> 보류 중인 SellStop이 있으면 삭제합니다. 3. 보류 중인 BuyStop이 있고 보류 중인 SellStop이 없는 경우 Sell 위치가 있으면 마지막으로 열린 Sell 위치의 티켓과 저장된 SellStop 티켓을 비교합니다. 동일하면 SellStop은 시장 Sell로 변환됩니다. --> 보류 중인 BuyStop이 있으면 삭제합니다. 이런... 논리의 스케치일 뿐입니다. 여전히 기능을 획득해야 합니다. [삭제] 2012.01.04 16:08 #4750 글쎄, 실례합니다. 빠른 방법으로 저입니다. 사실, 네, 제 잘못입니다. 잘못된 대초원에 있습니다. 필요할 것입니다. 역사의 명령을 살펴보고 마지막 명령을 찾고 ... 그리고 ... 아니 ..하지만 실제로는 알 수 없습니다. 1...468469470471472473474475476477478479480481482...652 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
감사해요!!!
여기 시작 링크가 있습니다. 그 다음에는 IMHO입니다.
명확히 해주세요
분석 부분의 작업에는 엄격하게 지정된 기간이 사용됩니다. 또는 기간
분석 부분의 작업에는 엄격하게 지정된 기간이 사용됩니다. 또는 기간
분석을 위해 "물고기"를 떨어 뜨릴 수 있습니까? 의견이 있으면 감사하겠습니다.
그래서, 나는 그것을 생각해 냈습니다. 아마도 약간 흥분 .. 아니요, 그것은 정확하지 않습니다. 분명히 여기에서 구매 주문이 발견되면 모든 예금이 제거됩니다 .. 모든 구매 예금. 시작하기 전에 stsBUY를 설정해야 합니다. 오류를 확인하지 않았습니다.
코드를 더 잘 게시했어야 합니다. 실수 없음
그리고 논리가 나쁘다
분석을 위해 "물고기"를 떨어 뜨릴 수 있습니까? 의견이 있으면 감사하겠습니다.
"2배"가 얼마냐고 묻지 않으려면 최소한 교과서를 조금 읽어야 합니다.
"2배"가 얼마냐고 묻지 않으려면 최소한 교과서를 조금 읽어야 합니다.
중요한 말에 대해 논쟁을 벌이지는 않지만, 만약 내가 이것을 이해했다면 그것이 논리적인지 묻지 않을 것입니다.
즉, 지표에 기간이 표시된 알고리즘에서 명확하게 규정합니다.
바르게?
그럼 다음을 설명해주세요....
어드바이저 - 스토캐스틱을 넘어 거래를 시작합니다. 유로 달러 쌍, 기간 30.
여기 알고리즘이 있습니다
정수 시작()
{
새로 고침(); // 데이터 업데이트
기호=기호();
x1=x;
y1=y;
x=iStochastic(NULL,0,5,3,3,MODE_SMA,1,0,0); // 0 bar에서 확률적 메인 라인의 값
y=iStochastic(NULL,0,5,3,3,MODE_SMA,1,1,0); // 0 bar에서 확률적 신호 라인의 값
경고("확률적 기본",x);
경보("확률적 신호",y);
//---- 신호와 메인 라인의 교차점
if (y < x && y1> x1) // 통과 확인
{
f=1; // 플래그 업
}
//------------------------------------------------ --------------------
if (y > x && y1< x1) // 다운 패스 확인
{
f=2; //플래그 다운
}
//----라인 20의 맨 아래에서 맨 위로 메인 라인의 교차를 확인합니다.
if (f==1 && x1<20 && x>= 20)
{ if (Ticket > 0) // 주문이 있으면 삭제
OrderClose(티켓, Lts, Bid, 10);
SL=입찰가 - 손절매*포인트; // SL 열기를 계산합니다.
TP=입찰가 + 이익실현*포인트; // TP 오픈을 계산합니다.
Alert("구매를 열려고 합니다. 응답을 기다리는 중입니다..");
OrderSelect(티켓, SELECT_BY_TICKET);
if(OrderCloseTime()>0 || !OrderSelect(티켓, SELECT_BY_TICKET))
{
티켓=OrderSend(Symb,OP_BUY,Lts,Ask,3,SL,TP);//오픈 구매
}
if (티켓 > 0) // 성공 :)
{
Alert("구매 주문 오픈",티켓);
반품;
f=0; // 플래그 재설정
}
}
//----라인 80의 위에서 아래로 메인 라인의 교차 확인
if (f==2 && x1>80 && x<= 80)
{ if (티켓 > 0)
OrderClose(티켓,Lts,Ask, 10); // 주문이 있으면 삭제
SL=매도 + 손절매*포인트; // SL 열기를 계산합니다.
TP=요청 - TakeProfit*포인트; // TP 오픈을 계산합니다.
Alert("판매를 열려고 합니다. 응답을 기다리는 중입니다..");
OrderSelect(티켓, SELECT_BY_TICKET);
if(OrderCloseTime()>0 || !OrderSelect(티켓, SELECT_BY_TICKET))
{
티켓=OrderSend(Symb,OP_SELL,Lts,Bid,3,SL,TP);//오픈 구매
}
if (티켓 > 0) // 성공 :)
{
Alert("판매 주문 오픈",티켓);
반품;
f=0; // 플래그 재설정
}
}
리턴(0);
}
실행하면 어드바이저는 30분 이내에 주문을 열고 닫습니다. 즉, 9.04에 열고 9.05에 닫습니다. 09.06에 다시 열립니다. 9.07 등에 마감합니다. 그리고 한 방향으로.
왜 이런 일이 발생합니까?
감사합니다.
그리고 BUYLIMIT 및 BUYSTOP 두 개의 미결 주문이 있는 경우 BUYLIMIT가 트리거될 때 BUYSTOP을 제거해야 하며 그 반대의 경우도 마찬가지입니다. 이 조건을 충족할 수 있는 방법을 알려주시겠습니까?
실제로 논리는 다음과 같아야 합니다.
1. 두 개의 보류 주문 이 있고 단일 위치가 없는 경우 변수에 이러한 보류 주문의 티켓을 기억하십시오.
2. 보류 중인 SellStop이 있고 보류 중인 BuyStop이 없는 경우 Buy 위치가 있으면 마지막으로 열린 Buy 위치의 티켓과 저장된 BuyStop 티켓을 비교합니다.
동일하면 BuyStop이 시장 Buy로 변환된 것입니다. --> 보류 중인 SellStop이 있으면 삭제합니다.
3. 보류 중인 BuyStop이 있고 보류 중인 SellStop이 없는 경우 Sell 위치가 있으면 마지막으로 열린 Sell 위치의 티켓과 저장된 SellStop 티켓을 비교합니다.
동일하면 SellStop은 시장 Sell로 변환됩니다. --> 보류 중인 BuyStop이 있으면 삭제합니다.
이런... 논리의 스케치일 뿐입니다. 여전히 기능을 획득해야 합니다.