[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 366 1...359360361362363364365366367368369370371372373...537 새 코멘트 [Deleted] 2011.05.02 22:37 #3651 abolk : 너 그러나 그것은 필요합니다 (비교) 일반 표시기의 코드를 가져 와서 코드 형식을 확인하십시오. 예, 큰 차이를 보이지 않습니다. 다음은 예를 들어 분야 표준입니다. 복잡할 때 간단하게 이러한 것을 얻을 수 있습니다. 그러나 대괄호 자체 외에도 대소문자가 ";"일 수 있습니다. 예를 들어... //+------------------------------------------------------------------+ //| Discipline | //| Copyright © 1999-2008, MetaQuotes Software Corp. | //| FX_FISH | //+------------------------------------------------------------------+ #property copyright "Copyright © 2005, Kiko Segui" #property link "webtecnic@terra.es" //---- #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Lime #property indicator_color2 Red //---- double buffer1[]; double buffer2[]; //---- extern int period= 10 ; extern int price= 0 ; // 0 or other = (H+L)/2 // 1 = Open // 2 = Close // 3 = High // 4 = Low // 5 = (H+L+C)/3 // 6 = (O+C+H+L)/4 // 7 = (O+C)/2 extern bool Mode_Fast=false; extern bool Signals =true; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int init() { SetIndexStyle( 0 , DRAW_HISTOGRAM , STYLE_SOLID , 2 , Lime ); SetIndexBuffer ( 0 ,buffer1); SetIndexStyle( 1 , DRAW_HISTOGRAM , STYLE_SOLID , 2 , Red ); SetIndexBuffer ( 1 ,buffer2); return ( 0 ); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int deinit() { int i; double tmp; //---- for (i= 0 ;i< Bars ;i++) { ObjectDelete ( "Sel" +DoubleToStr(i, 0 )); ObjectDelete ( "Buy" +DoubleToStr(i, 0 )); ObjectDelete ( "Exit" +DoubleToStr(i, 0 )); } return ( 0 ); } double Value= 0 ,Value1= 0 ,Value2= 0 ,Fish= 0 ,Fish1= 0 ,Fish2= 0 ; int buy= 0 ,sell= 0 ; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { int i; int barras; double _price; double tmp; double MinL= 0 ; double MaxH= 0 ; double Threshold= 1.2 ; //---- barras= Bars ; if (Mode_Fast) barras= 100 ; i=barras-period- 1 ; while (i>= 0 ) { MaxH=High[Highest( NULL , 0 ,MODE_HIGH,period,i)]; MinL= Low[ Lowest( NULL , 0 ,MODE_LOW, period,i)]; switch (price) { case 0 : _price=(High[i]+Low[i])/ 2 ; break ; case 1 : _price= Open[i]; break ; case 2 : _price= Close[i]; break ; case 3 : _price= High[i]; break ; case 4 : _price= Low[i]; break ; case 5 : _price=(High[i]+Low[i]+Close[i])/ 3 ; break ; case 6 : _price=(Open[i]+High[i]+Low[i]+Close[i])/ 4 ; break ; case 7 : _price=(Open[i]+Close[i])/ 2 ; break ; default : _price=(High[i]+Low[i])/ 2 ; break ; } Value= 0.33 * 2 *((_price-MinL)/(MaxH-MinL)- 0.5 ) + 0.67 *Value1; Value= MathMin ( MathMax (Value,- 0.999 ), 0.999 ); Fish = 0.5 * MathLog (( 1 +Value)/( 1 -Value))+ 0.5 *Fish1; buffer1[i]= 0 ; buffer2[i]= 0 ; //---- if ((Fish< 0 ) && (Fish1> 0 )) { if (Signals) { ObjectCreate ( "Exit" +DoubleToStr(i, 0 ), OBJ_ARROW , 0 ,Time[i],_price); ObjectSet( "Exit" +DoubleToStr(i, 0 ), OBJPROP_ARROWCODE , 251 ); ObjectSet( "Exit" +DoubleToStr(i, 0 ), OBJPROP_COLOR , Red ); } buy= 0 ; } if ((Fish> 0 ) && (Fish1< 0 )) { if (Signals) { ObjectCreate ( "Exit" +DoubleToStr(i, 0 ), OBJ_ARROW , 0 ,Time[i],_price); ObjectSet( "Exit" +DoubleToStr(i, 0 ), OBJPROP_ARROWCODE , 251 ); ObjectSet( "Exit" +DoubleToStr(i, 0 ), OBJPROP_COLOR , Red ); } sell= 0 ; } if (Fish>= 0 ) { buffer1[i]=Fish; } else { buffer2[i]=Fish; } tmp=i; if ((Fish<-Threshold) && (Fish>Fish1) && (Fish1<=Fish2)) { if (Signals) { ObjectCreate ( "Sel" +DoubleToStr(i, 0 ), OBJ_ARROW , 0 ,Time[i],High[i]+ 5 * Point ); ObjectSet( "Sel" +DoubleToStr(i, 0 ), OBJPROP_ARROWCODE , 226 ); ObjectSet( "Sel" +DoubleToStr(i, 0 ), OBJPROP_COLOR , Red ); } sell= 1 ; } if ((Fish>Threshold) && (Fish<Fish1) && (Fish1>=Fish2)) { if (Signals) { ObjectCreate ( "Buy" +DoubleToStr(i, 0 ), OBJ_ARROW , 0 ,Time[i],Low[i]- 5 * Point ); ObjectSet( "Buy" +DoubleToStr(i, 0 ), OBJPROP_ARROWCODE , 225 ); ObjectSet( "Buy" +DoubleToStr(i, 0 ), OBJPROP_COLOR , Aqua ); } buy= 1 ; } Value1=Value; Fish2=Fish1; Fish1=Fish; i--; } return ( 0 ); } //+------------------------------------------------------------------+ [Deleted] 2011.05.02 22:44 #3652 KONDOR : 괄호 조심 기호 () 이게 네가 뜻한 바냐? if(OrderSymbol()==Symbol()) 그런 다음 수정했습니다. 오류가 남아 있습니다. [Deleted] 2011.05.02 22:56 #3653 그래서 만약? 또는 어떻게? 지금 바꿔줄게... 다음과 같아야 합니다. if(OrderSymbol()==Symbol() ?? 모두가 상징을 결정했습니다. 지정된 대괄호를 제거했습니다. 변경된 사항이 없습니다. [Deleted] 2011.05.02 23:08 #3654 KONDOR : 끝에서 두 번째 괄호는 중복됩니다. 모두 동일 =( Andrey F. Zelinsky 2011.05.02 23:12 #3655 frxmax : 오류는 어디에 있습니까? 괄호의 관점에서 모든 것이 정확히 맞는 것 같습니다. //+------------------------------------------------------------------+ //| Beta2.mq4 | //| | //| | //+------------------------------------------------------------------+ extern int StopLoss= 100 ; extern int TakeProfit= 20 ; extern double Lot= 0.01 ; extern int cnt, ticket, total; //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { double LoCurent= iCustom ( NULL , 0 , "LO" , 0 , 0 ); double LoPrevious= iCustom ( NULL , 0 , "LO" , 1 , 1 ); double FtCurent= iCustom ( NULL , 0 , "FT" , 0 , 0 ); double FtPrevious= iCustom ( NULL , 0 , "FT" , 1 , 1 ); //---- if (total == 0 ) { if (LoCurent>LoPrevious && FtCurent>FtPrevious) { ticket= OrderSend ( Symbol (),OP_BUY,Lot,Ask, 3 ,Bid-StopLoss* Point ,Bid+TakeProfit* Point , "Buy" , 1111 , 0 , Green ); if (ticket> 0 ) { if ( OrderSelect (ticket,SELECT_BY_TICKET,MODE_TRADES)) Print ( "BUY order opened : " ,OrderOpenPrice()); } else Print ( "Error opening BUY order : " , GetLastError ()); return ( 0 ); } else if (LoCurent<LoPrevious && FtCurent<FtPrevious) { ticket= OrderSend ( Symbol (),OP_SELL,Lot,Bid, 3 ,Ask+StopLoss* Point ,Ask-TakeProfit* Point , "Sell" , 2222 , 0 , Red ); if (ticket> 0 ) { if ( OrderSelect (ticket,SELECT_BY_TICKET,MODE_TRADES)) Print ( "SELL order opened : " ,OrderOpenPrice()); } else Print ( "Error opening SELL order : " , GetLastError ()); return ( 0 ); } return ( 0 ); } else if (LoCurent<LoPrevious || FtCurent<FtPrevious || LoCurent<- 30 || LoPrevious<- 30 ) { if ( OrderSelect (ticket,SELECT_BY_POS,MODE_TRADES)==false) //break; { if (OrderSymbol()== Symbol () ) { if (OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Bid, 3 , Violet ); // close position } return ( 0 ); } } } else if (LoCurent>LoPrevious || FtCurent>FtPrevious || LoCurent> 30 || LoPrevious> 30 ) { if ( OrderSelect (ticket,SELECT_BY_POS,MODE_TRADES)==false) //break; { if (OrderSymbol()== Symbol () ) { if (OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask, 3 , Violet ); // close position } return ( 0 ); } } } //} return ( 0 ); } //+------------------------------------------------------------------+ KONDOR 2011.05.02 23:13 #3656 frxmax : 더 이상 오류가 없습니다. else if (LoCurent<LoPrevious || FtCurent<FtPrevious || LoCurent<- 30 || LoPrevious<- 30 ) { if ( OrderSelect (ticket,SELECT_BY_POS,MODE_TRADES)) // break ругается { if (OrderSymbol()== Symbol ()) { if (OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Bid, 3 , Violet ); // close position } return ( 0 ); } } } else if (LoCurent>LoPrevious || FtCurent>FtPrevious || LoCurent> 30 || LoPrevious> 30 ) { if ( OrderSelect (ticket,SELECT_BY_POS,MODE_TRADES)) // break ругается { if (OrderSymbol()== Symbol ()) { if (OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask, 3 , Violet ); // close position } return ( 0 ); } } } return ( 0 ); } [Deleted] 2011.05.02 23:16 #3657 abolk , 도와주셔서 감사합니다. 감사합니다. , 콘도르 [Deleted] 2011.05.02 23:24 #3658 여기서만 작업 코드는 그다지 좋은 결과를 보여주지 않습니다. 이해를 도와주세요. 이전에 수신한 신호의 방향으로 하나의 주문만 열리도록 하는 방법. 표시기 중 하나가 반환 신호를 표시하는 순간에 닫습니다. 통화 쌍을 모두 고려한 [Deleted] 2011.05.02 23:34 #3659 NumberOfBarOpenLastPos() 함수를 보면 주문이 열린 막대의 번호를 확인합니다. [Deleted] 2011.05.02 23:44 #3660 다음과 같이 최대한 빨리 필요합니다. (예: Eurodol 차트에 구매 신호가 있음) 총>1인 경우 통화 쌍 = 유로돌인 경우 매도 주문인 경우 이 주문을 닫습니다 구매 오픈 일반 보기는 다음과 같아야 합니다. if (매수 신호) 합계==0인 경우 구매 열기 그렇지 않으면 (총 >1) 어떤 통화 쌍 거래가 열려 있는지 확인 우리에 따르면 판매하는 경우 닫기 및 구매로 돌아가기 그렇지 않으면 (판매를 위해 구동) .... 1...359360361362363364365366367368369370371372373...537 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
너
그러나 그것은 필요합니다 (비교)
일반 표시기의 코드를 가져 와서 코드 형식을 확인하십시오.
예, 큰 차이를 보이지 않습니다. 다음은 예를 들어 분야 표준입니다. 복잡할 때 간단하게 이러한 것을 얻을 수 있습니다. 그러나 대괄호 자체 외에도 대소문자가 ";"일 수 있습니다. 예를 들어...
괄호 조심
기호 ()
이게 네가 뜻한 바냐?
if(OrderSymbol()==Symbol())
그런 다음 수정했습니다. 오류가 남아 있습니다.
그래서 만약? 또는 어떻게?
지금 바꿔줄게...
다음과 같아야 합니다. if(OrderSymbol()==Symbol() ??
모두가 상징을 결정했습니다.
지정된 대괄호를 제거했습니다. 변경된 사항이 없습니다.
끝에서 두 번째 괄호는 중복됩니다.
오류는 어디에 있습니까? 괄호의 관점에서 모든 것이 정확히 맞는 것 같습니다.
더 이상 오류가 없습니다.
여기서만 작업 코드는 그다지 좋은 결과를 보여주지 않습니다.
이해를 도와주세요. 이전에 수신한 신호의 방향으로 하나의 주문만 열리도록 하는 방법. 표시기 중 하나가 반환 신호를 표시하는 순간에 닫습니다. 통화 쌍을 모두 고려한
다음과 같이 최대한 빨리 필요합니다. (예: Eurodol 차트에 구매 신호가 있음)
총>1인 경우
통화 쌍 = 유로돌인 경우
매도 주문인 경우
이 주문을 닫습니다
구매 오픈
일반 보기는 다음과 같아야 합니다.
if (매수 신호)
합계==0인 경우
구매 열기
그렇지 않으면 (총 >1)
어떤 통화 쌍 거래가 열려 있는지 확인
우리에 따르면
판매하는 경우
닫기 및 구매로 돌아가기
그렇지 않으면 (판매를 위해 구동) ....