코딩 도움말 - 페이지 104 1...979899100101102103104105106107108109110111...786 새 코멘트 rpasupathy 2013.07.03 05:43 #1031 고마워 톤 Mladen .... 당신은 훌륭합니다 ... yuhu 2013.07.03 08:21 #1032 안녕하세요 여러분, 103페이지에 있는 제 요청을 도와주시겠습니까? 온라인에서 정보를 찾고 있었지만 5개 막대마다 경고를 받을 수 없었습니다(정시부터 시작). 미리 감사합니다 sachin_syd 2013.07.03 09:25 #1033 친애하는 Mladen/Mr Tools 이 ea를 수정하여 일단 중지되거나 tp에 도달하면 거래가 다시 열리지 않도록 해주실 수 있습니까? 파일: heiken_ashi_ea.mq4 6 kb chris 2013.07.04 08:51 #1034 손절을 위한 코딩 도움말 안녕하세요 여러분, 나는 손절매를 변경할 수 없는 이 EA를 가지고 있습니다. 내가 무엇을 바꿔도 그것은 변하지 않을 것이다. 손절매를 최소 300으로 변경하고 싶습니다. 아이디어가 있습니까? 미리 감사드립니다 이것은 그것에 대한 코드입니다: // 일반 사용자 입력 extern 이중 로트=1.0; 외부 정수 TakeProfit=44; extern int StopLoss = 90; extern bool RSIMethodA=거짓; extern bool RSIMethodB=true; 외부 정수 RSI값=50; extern bool AbandonMethodA=true; extern bool AbandonMethodB=거짓; extern int 포기=101; extern bool MoneyManagement=true; extern int 위험 = 2; extern int 미끄러짐=3; extern 부울 UseProfitLock=true; extern int BreakEventTrigger=25; extern int BreakEven=3; extern bool LiveTrading=거짓; extern bool AccountIsMini=거짓; 외부 정수 maxTradesPerPair = 1; 외부 정수 MagicNumber=5432; 이중 lotMM; 부울 BuySignal=거짓; 부울 SetBuy=거짓; 부울 SellSignal=거짓; 부울 SetSell=거짓; // 바 핸들링 날짜 시간 막대 시간 = 0; 정수 바틱 = 0; int TradeBars=0; //+----------------------------------------------- -------------------+ //| 전문가 초기화 기능 | //+----------------------------------------------- -------------------+ 정수 초기화() { //---- //---- 리턴(0); } //+----------------------------------------------- -------------------+ //| 전문가 초기화 해제 기능 | //+----------------------------------------------- -------------------+ 정수 초기화() { //---- //---- 리턴(0); } //+----------------------------------------------- -------------------+ //| 전문가 시작 기능 | //+----------------------------------------------- -------------------+ 정수 시작() { //---- if (UseProfitLock) ProfitLockStop(); if (AbandonMethodA || AbandonMethodB) { RunAbandonCheck(); RunAbandonMethods(); } if (!SetLotsMM()) return(0); RunOrderTriggerCalculations(); RunPairSpesificSettings(); 실행신규주문관리(); //---- 리턴(0); } ///////////////////////////////////////////////////// // SetLotsMM - Robert Cochran 작성 http://autoforex.biz ///////////////////////////////////////////////////// bool SetLotsMM() { 이중 여백 컷오프; if(!AccountIsMini) MarginCutoff = 1000; if( AccountIsMini) MarginCutoff = 100; if(AccountFreeMargin() < MarginCutoff) 반환(거짓); if(머니 매니지먼트) { lotMM = MathCeil(AccountBalance() * 위험 / 10000) / 10; if(lotMM < 0.1) lotMM = 제비; if(lotMM > 1.0) lotMM = MathCeil(lotMM); // 로트 크기 경계 적용 if(라이브 트레이딩) { if( AccountIsMini) lotMM = lotMM * 10; if(!AccountIsMini && lotMM < 1.0) lotMM = 1.0; } if(lotMM > 100) lotMM = 100; } 또 다른 { lotMM = 제비; // Lot 매개변수를 적용하려면 MoneyManagement를 0으로 변경합니다. } 반환(참); } //+----------------------------------------------- -------------------+ ///////////////////////////////////////////////////// // RunOrderTriggerCalculations ///////////////////////////////////////////////////// bool RunOrderTriggerCalculations() { 부울 RSIPOS=거짓; bool RSINEG=거짓; // Bar[1]의 3기간 이동 평균 더블 불MA3=iMA(Symbol(),0,3,0,MODE_EMA,PRICE_CLOSE,1); // Bar[1]의 7기간 이동 평균 더블 bearMA7=iMA(Symbol(),0,7,0,MODE_EMA,PRICE_CLOSE,1); // Bar[2]의 2기간 이동 평균 이중 RSI=iRSI(Symbol(),0,2,PRICE_CLOSE,2); 이중 RSI2=iRSI(Symbol(),0,2,PRICE_CLOSE,1); // RSI가 어떤 극성인지 확인 if (RSIMethodA) { if(RSI>RSI값 && RSI2<RSI값) { RSIPOS=참; RSINEG=거짓; } 그렇지 않으면 RSIPOS=거짓; if(RSIRSI값) { RSIPOS=거짓; RSINEG=참; } 그렇지 않으면 RSINEG=거짓; } if (RSIMethodB) { if(RSI>RSI값) { RSIPOS=참; RSINEG=거짓; } if(RSI<RSI값) { RSIPOS=거짓; RSINEG=참; } } if ((bullMA3 > (bearMA7+Point)) && RSINEG) { BuySignal=참; } 그렇지 않으면 BuySignal=거짓; if ((bullMA3 < (bearMA7-포인트)) && RSIPOS) { SellSignal=참; } 그렇지 않으면 SellSignal=거짓; 반환(참); } ///////////////////////////////////////////////////// // OpenOrdersBySymbolAndComment ///////////////////////////////////////////////////// int OpenOrdersForThisEA() { 정수 정수 = 0; for(int x=0;x<OrdersTotal();x++) { 주문 선택(x, SELECT_BY_POS, MODE_TRADES); if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { 자주++; } } 반환(자주); } ///////////////////////////////////////////////////// // PROFIT LOCK - Robert Cochran 작성 - http://autoforex.biz ///////////////////////////////////////////////////// bool ProfitLockStop() { if( OpenOrdersForThisEA() > 0 ) { for ( int i = 0; i < OrdersTotal(); i++){ 주문 선택(i, SELECT_BY_POS, MODE_TRADES); //--- 장기 거래 if(OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber()== MagicNumber) { if (Bid >= OrderOpenPrice() + BreakEvenTrigger*Point && OrderOpenPrice() > OrderStopLoss()) { OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + BreakEven * 포인트, OrderTakeProfit(), 녹색); } } //--- 단기 거래 if(OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber) { if (Ask <= OrderOpenPrice() - BreakEvenTrigger*Point && OrderOpenPrice() < OrderStopLoss()) { OrderModify(OrderTicket(), OrderOpenPrice(),OrderOpenPrice() - 손익분기점 * 포인트, OrderTakeProfit(), 파란색); } } } } } ///////////////////////////////////////////////////// // 포기 체크 ///////////////////////////////////////////////////// bool RunAbandonCheck() { if( OpenOrdersForThisEA() > 0 ) { if (TradeBars == 0 && bartick == 0) { (int i = 0; i < OrdersTotal(); i++) { if (OrderSymbol() == Symbol()) { TradeBars = MathFloor(CurTime() - OrderOpenTime())/60/Period(); 바타임 = 시간[0]; bartick = TradeBars; } } } if(bartime!=시간[0]) { bartime=시간[0]; 바틱++; } } 반환(참); } ///////////////////////////////////////////////////// // RunAbandon 메서드 ///////////////////////////////////////////////////// bool RunAbandonMethods() { if( OpenOrdersForThisEA() > 0 ) { (int i = 0; i < OrdersTotal(); i++) { 주문 선택(i, SELECT_BY_POS, MODE_TRADES); if (AbandonMethodA && bartick==Abandon)//포기 후 강제 "HEDGE" { // 장기 거래 if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber) { OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Blue); SetSell=참; 계속하다; } // 공매도 if (OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber) { OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Blue); SetBuy=참; 계속하다; } } if (AbandonMethodB && bartick==Abandon)//포기 후 인디케이터가 방향을 결정합니다. { // 장기 거래 if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber) { OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,White); 계속하다; } // 공매도 if (OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber) { OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,White); 계속하다; } } } } 반환(참); } ///////////////////////////////////////////////////// // RunPairSpesificSettings ///////////////////////////////////////////////////// bool RunPairSpesificSettings() { // 심볼 최적화 설정 if (Symbol()=="GBPUSD") { 테이크프로핏=55; 손절매=100; 포기=69; } 반환(참); } ///////////////////////////////////////////////////// // 신규주문관리 실행 ///////////////////////////////////////////////////// bool RunNewOrderManagement() { 이중 TP, SL; if( OpenOrdersForThisEA() < maxTradesPerPair ) { //ENTRY Ask(매수, 매수) if (BuySignal || SetBuy) { SL = 묻기 - 손절매*포인트; TP = 질문 + TakeProfit*포인트; OrderSend(Symbol(),OP_BUY,lotMM,Ask,Slippage,SL,TP,"TS-ProfitLock - "+Symbol()+" - Long",MagicNumber,0,White); 바틱=0; if (SetBuy) SetBuy=거짓; 반환(참); } //ENTRY 입찰(매도, 공매도) if (SellSignal || SetSell) { SL = 입찰가 + 손절매*포인트; TP = 입찰가 - 이익실현*포인트; OrderSend(Symbol(),OP_SELL,lotMM,Bid,Slippage,SL,TP,"TS-ProfitLock - "+Symbol()+" - Short",MagicNumber,0,Red); 바틱=0; if (SetSell) SetSell=거짓; 반환(참); } } 반환(참); } Coding help please, look into this 코딩하는 방법? Mladen Rakic 2013.07.04 09:46 #1035 graphics: 안녕하세요 여러분, 나는 손절매를 변경할 수 없는 이 EA를 가지고 있습니다. 내가 무엇을 바꿔도 그것은 변하지 않을 것이다. 손절매를 최소 300으로 변경하고 싶습니다. 아이디어가 있습니까? 미리 감사드립니다 이것은 그것에 대한 코드입니다: // 일반 사용자 입력 extern 이중 로트=1.0; 외부 정수 TakeProfit=44; extern int StopLoss = 90; extern bool RSIMethodA=거짓; extern bool RSIMethodB=true; 외부 정수 RSI값=50; extern bool AbandonMethodA=true; extern bool AbandonMethodB=거짓; extern int 포기=101; extern bool MoneyManagement=true; extern int 위험 = 2; extern int 미끄러짐=3; extern 부울 UseProfitLock=true; extern int BreakEventTrigger=25; extern int BreakEven=3; extern bool LiveTrading=거짓; extern bool AccountIsMini=거짓; 외부 정수 maxTradesPerPair = 1; 외부 정수 MagicNumber=5432; 이중 lotMM; 부울 BuySignal=거짓; 부울 SetBuy=거짓; 부울 SellSignal=거짓; 부울 SetSell=거짓; // 바 핸들링 날짜 시간 막대 시간 = 0; 정수 바틱 = 0; int TradeBars=0; //+----------------------------------------------- -------------------+ //| 전문가 초기화 기능 | //+----------------------------------------------- -------------------+ 정수 초기화() { //---- //---- 리턴(0); } //+----------------------------------------------- -------------------+ //| 전문가 초기화 해제 기능 | //+----------------------------------------------- -------------------+ 정수 초기화() { //---- //---- 리턴(0); } //+----------------------------------------------- -------------------+ //| 전문가 시작 기능 | //+----------------------------------------------- -------------------+ 정수 시작() { //---- if (UseProfitLock) ProfitLockStop(); if (AbandonMethodA || AbandonMethodB) { RunAbandonCheck(); RunAbandonMethods(); } if (!SetLotsMM()) return(0); RunOrderTriggerCalculations(); RunPairSpesificSettings(); 실행신규주문관리(); //---- 리턴(0); } ///////////////////////////////////////////////////// // SetLotsMM - Robert Cochran 작성 autoforex.biz - BlueHost.com ///////////////////////////////////////////////////// bool SetLotsMM() { 이중 여백 컷오프; if(!AccountIsMini) MarginCutoff = 1000; if( AccountIsMini) MarginCutoff = 100; if(AccountFreeMargin() < MarginCutoff) 반환(거짓); if(머니 매니지먼트) { lotMM = MathCeil(AccountBalance() * 위험 / 10000) / 10; if(lotMM < 0.1) lotMM = 제비; if(lotMM > 1.0) lotMM = MathCeil(lotMM); // 로트 크기 경계 적용 if(라이브 트레이딩) { if( AccountIsMini) lotMM = lotMM * 10; if(!AccountIsMini && lotMM < 1.0) lotMM = 1.0; } if(lotMM > 100) lotMM = 100; } 또 다른 { lotMM = 제비; // Lot 매개변수를 적용하려면 MoneyManagement를 0으로 변경합니다. } 반환(참); } //+----------------------------------------------- -------------------+ ///////////////////////////////////////////////////// // RunOrderTriggerCalculations ///////////////////////////////////////////////////// bool RunOrderTriggerCalculations() { 부울 RSIPOS=거짓; bool RSINEG=거짓; // Bar[1]의 3기간 이동 평균 더블 불MA3=iMA(Symbol(),0,3,0,MODE_EMA,PRICE_CLOSE,1); // Bar[1]의 7기간 이동 평균 더블 bearMA7=iMA(Symbol(),0,7,0,MODE_EMA,PRICE_CLOSE,1); // Bar[2]의 2기간 이동 평균 이중 RSI=iRSI(Symbol(),0,2,PRICE_CLOSE,2); 이중 RSI2=iRSI(Symbol(),0,2,PRICE_CLOSE,1); // RSI가 어떤 극성인지 확인 if (RSIMethodA) { if(RSI>RSI값 && RSI2<RSI값) { RSIPOS=참; RSINEG=거짓; } 그렇지 않으면 RSIPOS=거짓; if(RSIRSI값) { RSIPOS=거짓; RSINEG=참; } 그렇지 않으면 RSINEG=거짓; } if (RSIMethodB) { if(RSI>RSI값) { RSIPOS=참; RSINEG=거짓; } if(RSI<RSI값) { RSIPOS=거짓; RSINEG=참; } } if ((bullMA3 > (bearMA7+Point)) && RSINEG) { BuySignal=참; } 그렇지 않으면 BuySignal=거짓; if ((bullMA3 < (bearMA7-포인트)) && RSIPOS) { SellSignal=참; } 그렇지 않으면 SellSignal=거짓; 반환(참); } ///////////////////////////////////////////////////// // OpenOrdersBySymbolAndComment ///////////////////////////////////////////////////// int OpenOrdersForThisEA() { 정수 정수 = 0; for(int x=0;x<OrdersTotal();x++) { 주문 선택(x, SELECT_BY_POS, MODE_TRADES); if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { 자주++; } } 반환(자주); } ///////////////////////////////////////////////////// // PROFIT LOCK - Robert Cochran 작성 - autoforex.biz에 오신 것을 환영합니다. - BlueHost.com ///////////////////////////////////////////////////// bool ProfitLockStop() { if( OpenOrdersForThisEA() > 0 ) { for ( int i = 0; i < OrdersTotal(); i++){ 주문 선택(i, SELECT_BY_POS, MODE_TRADES); //--- 장기 거래 if(OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber()== MagicNumber) { if (Bid >= OrderOpenPrice() + BreakEvenTrigger*Point && OrderOpenPrice() > OrderStopLoss()) { OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + BreakEven * 포인트, OrderTakeProfit(), 녹색); } } //--- 단기 거래 if(OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber) { if (Ask <= OrderOpenPrice() - BreakEvenTrigger*Point && OrderOpenPrice() < OrderStopLoss()) { OrderModify(OrderTicket(), OrderOpenPrice(),OrderOpenPrice() - 손익분기점 * 포인트, OrderTakeProfit(), 파란색); } } } } } ///////////////////////////////////////////////////// // 포기 체크 ///////////////////////////////////////////////////// bool RunAbandonCheck() { if( OpenOrdersForThisEA() > 0 ) { if (TradeBars == 0 && bartick == 0) { (int i = 0; i < OrdersTotal(); i++) { if (OrderSymbol() == Symbol()) { TradeBars = MathFloor(CurTime() - OrderOpenTime())/60/Period(); 바타임 = 시간[0]; bartick = TradeBars; } } } if(bartime!=시간[0]) { bartime=시간[0]; 바틱++; } } 반환(참); } ///////////////////////////////////////////////////// // RunAbandon 메서드 ///////////////////////////////////////////////////// bool RunAbandonMethods() { if( OpenOrdersForThisEA() > 0 ) { (int i = 0; i < OrdersTotal(); i++) { 주문 선택(i, SELECT_BY_POS, MODE_TRADES); if (AbandonMethodA && bartick==Abandon)//포기 후 강제 "HEDGE" { // 장기 거래 if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber) { OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Blue); SetSell=참; 계속하다; } // 공매도 if (OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber) { OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Blue); SetBuy=참; 계속하다; } } if (AbandonMethodB && bartick==Abandon)//포기 후 인디케이터가 방향을 결정합니다. { // 장기 거래 if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber) { OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,White); 계속하다; } // 공매도 if (OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber) { OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,White); 계속하다; } } } } 반환(참); } ///////////////////////////////////////////////////// // RunPairSpesificSettings ///////////////////////////////////////////////////// bool RunPairSpesificSettings() { // 심볼 최적화 설정 if (Symbol()=="GBPUSD") { 테이크프로핏=55; 손절매=100; 포기=69; } 반환(참); } ///////////////////////////////////////////////////// // 신규주문관리 실행 ///////////////////////////////////////////////////// bool RunNewOrderManagement() { 이중 TP, SL; if( OpenOrdersForThisEA() < maxTradesPerPair ) { //ENTRY Ask(매수, 매수) if (BuySignal || SetBuy) { SL = 묻기 - 손절매*포인트; TP = 묻기 + TakeProfit*포인트; OrderSend(Symbol(),OP_BUY,lotMM,Ask,Slippage,SL,TP,"TS-ProfitLock - "+Symbol()+" - Long",MagicNumber,0,White); 바틱=0; if (SetBuy) SetBuy=거짓; 반환(참); } //ENTRY 입찰(매도, 공매도) if (SellSignal || SetSell) { SL = 입찰가 + 손절매*포인트; TP = 입찰가 - 이익실현*포인트; OrderSend(Symbol(),OP_SELL,lotMM,Bid,Slippage,SL,TP,"TS-ProfitLock - "+Symbol()+" - Short",MagicNumber,0,Red); 바틱=0; if (SetSell) SetSell=거짓; 반환(참); } } 반환(참); } 기호가 GBPUSD인 경우 StopLoss를 항상 100으로 설정합니다. 다른 사람들에게는 정상적으로 작동해야 합니다(EA가 핍이 아닌 포인트로 작동하기 때문에 5자리 브로커의 경우 손절매에 10을 곱해야 한다는 점을 제외하고) chris 2013.07.04 09:55 #1036 현재 USD/JPY로 사용하고 있으며 손절매 는 여전히 100에 머물러 있습니다. 손절매 승수는 어디에서 찾을 수 있습니까? Mladen Rakic 2013.07.04 10:07 #1037 graphics: 현재 USD/JPY로 사용하고 있으며 손절매는 여전히 100에 머물러 있습니다. 손절매 승수는 어디에서 찾을 수 있습니까? 손절매와 이익실현 은 이 부분에서 설정됩니다. bool RunNewOrderManagement() { double TP,SL; if( OpenOrdersForThisEA() < maxTradesPerPair ) { //ENTRY Ask(buy, long) if (BuySignal || SetBuy) { SL = Ask - StopLoss*Point; TP = Ask + TakeProfit*Point; OrderSend(Symbol(),OP_BUY,lotMM,Ask,Slippage,SL,TP ,"TS-ProfitLock - "+Symbol()+" - Long",MagicNumber,0,White); bartick=0; if (SetBuy) SetBuy=false; return(true); } //ENTRY Bid (sell, short) if (SellSignal || SetSell) { SL = Bid + StopLoss*Point; TP = Bid - TakeProfit*Point; OrderSend(Symbol(),OP_SELL,lotMM,Bid,Slippage,SL,T P,"TS-ProfitLock - "+Symbol()+" - Short",MagicNumber,0,Red); bartick=0; if (SetSell) SetSell=false; return(true); } } return(true); }[/PHP] As of stop loss that stays 100 : this part of code [PHP]bool RunPairSpesificSettings() { // set up the symbol optimizations if (Symbol()=="GBPUSD") { TakeProfit=55; StopLoss=100; Abandon=69; } return(true); } 기호가 "GBPUSD"(코드에서 볼 수 있듯이)인 경우에만 활성화되므로 이 경우에만 되돌립니다. 코드를 다시 확인하고 100을 찾으면 첨부한 코드에서 손절매가 GBPUSD의 경우에만 되돌려지기 때문에 손절매에 무슨 일이 일어나고 있는지 알 수 있습니다. Coding help please, look into this How to code? chris 2013.07.04 12:15 #1038 통화 쌍을 내가 거래하는 통화 쌍 으로 변경하더라도 여전히 손절매를 변경하지 않습니다. 이 EA는 손절매를 변경할 수 있다면 완벽했을 것입니다. 어쨌든 도와주셔서 감사합니다. [삭제] 2013.07.05 02:41 #1039 안녕하세요 코더 여러분, 누구든지 이 스퀴즈 브레이크 표시기를 EMA 볼린저 밴드 옵션과 EMA 켈트너 채널 옵션을 갖도록 수정할 수 있습니까? 감사해요 :) 파일: squeeze_break.mq4 11 kb William Snyder 2013.07.05 03:42 #1040 iwillsurvive: 안녕하세요 코더 여러분, 누구든지 이 스퀴즈 브레이크 표시기를 EMA 볼린저 밴드 옵션과 EMA 켈트너 채널 옵션을 갖도록 수정할 수 있습니까? 감사해요 :) 안녕하세요 Iwillsurvive님, 기본적으로 EMA로 설정되어 있는 켈트 너 밴드 와 볼린저 밴드 모두에서 ma를 선택할 수 있도록 표시기를 변경했습니다. 파일: squeeze_break_v1.mq4 11 kb 1...979899100101102103104105106107108109110111...786 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
고마워 톤 Mladen .... 당신은 훌륭합니다 ...
안녕하세요 여러분,
103페이지에 있는 제 요청을 도와주시겠습니까? 온라인에서 정보를 찾고 있었지만 5개 막대마다 경고를 받을 수 없었습니다(정시부터 시작).
미리 감사합니다
친애하는 Mladen/Mr Tools 이 ea를 수정하여 일단 중지되거나 tp에 도달하면 거래가 다시 열리지 않도록 해주실 수 있습니까?
손절을 위한 코딩 도움말
안녕하세요 여러분,
나는 손절매를 변경할 수 없는 이 EA를 가지고 있습니다.
내가 무엇을 바꿔도 그것은 변하지 않을 것이다. 손절매를 최소 300으로 변경하고 싶습니다. 아이디어가 있습니까?
미리 감사드립니다
이것은 그것에 대한 코드입니다:
// 일반 사용자 입력
extern 이중 로트=1.0;
외부 정수 TakeProfit=44;
extern int StopLoss = 90;
extern bool RSIMethodA=거짓;
extern bool RSIMethodB=true;
외부 정수 RSI값=50;
extern bool AbandonMethodA=true;
extern bool AbandonMethodB=거짓;
extern int 포기=101;
extern bool MoneyManagement=true;
extern int 위험 = 2;
extern int 미끄러짐=3;
extern 부울 UseProfitLock=true;
extern int BreakEventTrigger=25;
extern int BreakEven=3;
extern bool LiveTrading=거짓;
extern bool AccountIsMini=거짓;
외부 정수 maxTradesPerPair = 1;
외부 정수 MagicNumber=5432;
이중 lotMM;
부울 BuySignal=거짓;
부울 SetBuy=거짓;
부울 SellSignal=거짓;
부울 SetSell=거짓;
// 바 핸들링
날짜 시간 막대 시간 = 0;
정수 바틱 = 0;
int TradeBars=0;
//+----------------------------------------------- -------------------+
//| 전문가 초기화 기능 |
//+----------------------------------------------- -------------------+
정수 초기화()
{
//----
//----
리턴(0);
}
//+----------------------------------------------- -------------------+
//| 전문가 초기화 해제 기능 |
//+----------------------------------------------- -------------------+
정수 초기화()
{
//----
//----
리턴(0);
}
//+----------------------------------------------- -------------------+
//| 전문가 시작 기능 |
//+----------------------------------------------- -------------------+
정수 시작()
{
//----
if (UseProfitLock) ProfitLockStop();
if (AbandonMethodA || AbandonMethodB)
{
RunAbandonCheck();
RunAbandonMethods();
}
if (!SetLotsMM()) return(0);
RunOrderTriggerCalculations();
RunPairSpesificSettings();
실행신규주문관리();
//----
리턴(0);
}
/////////////////////////////////////////////////////
// SetLotsMM - Robert Cochran 작성 http://autoforex.biz
/////////////////////////////////////////////////////
bool SetLotsMM()
{
이중 여백 컷오프;
if(!AccountIsMini) MarginCutoff = 1000;
if( AccountIsMini) MarginCutoff = 100;
if(AccountFreeMargin() < MarginCutoff) 반환(거짓);
if(머니 매니지먼트)
{
lotMM = MathCeil(AccountBalance() * 위험 / 10000) / 10;
if(lotMM < 0.1) lotMM = 제비;
if(lotMM > 1.0) lotMM = MathCeil(lotMM);
// 로트 크기 경계 적용
if(라이브 트레이딩)
{
if( AccountIsMini) lotMM = lotMM * 10;
if(!AccountIsMini && lotMM < 1.0) lotMM = 1.0;
}
if(lotMM > 100) lotMM = 100;
}
또 다른
{
lotMM = 제비; // Lot 매개변수를 적용하려면 MoneyManagement를 0으로 변경합니다.
}
반환(참);
}
//+----------------------------------------------- -------------------+
/////////////////////////////////////////////////////
// RunOrderTriggerCalculations
/////////////////////////////////////////////////////
bool RunOrderTriggerCalculations()
{
부울 RSIPOS=거짓;
bool RSINEG=거짓;
// Bar[1]의 3기간 이동 평균
더블 불MA3=iMA(Symbol(),0,3,0,MODE_EMA,PRICE_CLOSE,1);
// Bar[1]의 7기간 이동 평균
더블 bearMA7=iMA(Symbol(),0,7,0,MODE_EMA,PRICE_CLOSE,1);
// Bar[2]의 2기간 이동 평균
이중 RSI=iRSI(Symbol(),0,2,PRICE_CLOSE,2);
이중 RSI2=iRSI(Symbol(),0,2,PRICE_CLOSE,1);
// RSI가 어떤 극성인지 확인
if (RSIMethodA)
{
if(RSI>RSI값 && RSI2<RSI값)
{
RSIPOS=참;
RSINEG=거짓;
}
그렇지 않으면 RSIPOS=거짓;
if(RSIRSI값)
{
RSIPOS=거짓;
RSINEG=참;
}
그렇지 않으면 RSINEG=거짓;
}
if (RSIMethodB)
{
if(RSI>RSI값)
{
RSIPOS=참;
RSINEG=거짓;
}
if(RSI<RSI값)
{
RSIPOS=거짓;
RSINEG=참;
}
}
if ((bullMA3 > (bearMA7+Point)) && RSINEG)
{
BuySignal=참;
}
그렇지 않으면 BuySignal=거짓;
if ((bullMA3 < (bearMA7-포인트)) && RSIPOS)
{
SellSignal=참;
}
그렇지 않으면 SellSignal=거짓;
반환(참);
}
/////////////////////////////////////////////////////
// OpenOrdersBySymbolAndComment
/////////////////////////////////////////////////////
int OpenOrdersForThisEA()
{
정수 정수 = 0;
for(int x=0;x<OrdersTotal();x++)
{
주문 선택(x, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
자주++;
}
}
반환(자주);
}
/////////////////////////////////////////////////////
// PROFIT LOCK - Robert Cochran 작성 - http://autoforex.biz
/////////////////////////////////////////////////////
bool ProfitLockStop()
{
if( OpenOrdersForThisEA() > 0 )
{
for ( int i = 0; i < OrdersTotal(); i++){
주문 선택(i, SELECT_BY_POS, MODE_TRADES);
//--- 장기 거래
if(OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber()== MagicNumber)
{
if (Bid >= OrderOpenPrice() + BreakEvenTrigger*Point &&
OrderOpenPrice() > OrderStopLoss())
{
OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + BreakEven * 포인트, OrderTakeProfit(), 녹색);
}
}
//--- 단기 거래
if(OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber)
{
if (Ask <= OrderOpenPrice() - BreakEvenTrigger*Point &&
OrderOpenPrice() < OrderStopLoss())
{
OrderModify(OrderTicket(), OrderOpenPrice(),OrderOpenPrice() - 손익분기점 * 포인트, OrderTakeProfit(), 파란색);
}
}
}
}
}
/////////////////////////////////////////////////////
// 포기 체크
/////////////////////////////////////////////////////
bool RunAbandonCheck()
{
if( OpenOrdersForThisEA() > 0 )
{
if (TradeBars == 0 && bartick == 0)
{
(int i = 0; i < OrdersTotal(); i++)
{
if (OrderSymbol() == Symbol())
{
TradeBars = MathFloor(CurTime() - OrderOpenTime())/60/Period();
바타임 = 시간[0];
bartick = TradeBars;
}
}
}
if(bartime!=시간[0])
{
bartime=시간[0];
바틱++;
}
}
반환(참);
}
/////////////////////////////////////////////////////
// RunAbandon 메서드
/////////////////////////////////////////////////////
bool RunAbandonMethods()
{
if( OpenOrdersForThisEA() > 0 )
{
(int i = 0; i < OrdersTotal(); i++)
{
주문 선택(i, SELECT_BY_POS, MODE_TRADES);
if (AbandonMethodA && bartick==Abandon)//포기 후 강제 "HEDGE"
{
// 장기 거래
if (OrderType() == OP_BUY && OrderSymbol() == Symbol() &&
OrderMagicNumber()==MagicNumber)
{
OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Blue);
SetSell=참;
계속하다;
}
// 공매도
if (OrderType() == OP_SELL && OrderSymbol() == Symbol() &&
OrderMagicNumber()==MagicNumber)
{
OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Blue);
SetBuy=참;
계속하다;
}
}
if (AbandonMethodB && bartick==Abandon)//포기 후 인디케이터가 방향을 결정합니다.
{
// 장기 거래
if (OrderType() == OP_BUY && OrderSymbol() == Symbol() &&
OrderMagicNumber()==MagicNumber)
{
OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,White);
계속하다;
}
// 공매도
if (OrderType() == OP_SELL && OrderSymbol() == Symbol() &&
OrderMagicNumber()==MagicNumber)
{
OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,White);
계속하다;
}
}
}
}
반환(참);
}
/////////////////////////////////////////////////////
// RunPairSpesificSettings
/////////////////////////////////////////////////////
bool RunPairSpesificSettings()
{
// 심볼 최적화 설정
if (Symbol()=="GBPUSD")
{
테이크프로핏=55; 손절매=100; 포기=69;
}
반환(참);
}
/////////////////////////////////////////////////////
// 신규주문관리 실행
/////////////////////////////////////////////////////
bool RunNewOrderManagement()
{
이중 TP, SL;
if( OpenOrdersForThisEA() < maxTradesPerPair )
{
//ENTRY Ask(매수, 매수)
if (BuySignal || SetBuy)
{
SL = 묻기 - 손절매*포인트;
TP = 질문 + TakeProfit*포인트;
OrderSend(Symbol(),OP_BUY,lotMM,Ask,Slippage,SL,TP,"TS-ProfitLock - "+Symbol()+" - Long",MagicNumber,0,White);
바틱=0;
if (SetBuy) SetBuy=거짓;
반환(참);
}
//ENTRY 입찰(매도, 공매도)
if (SellSignal || SetSell)
{
SL = 입찰가 + 손절매*포인트;
TP = 입찰가 - 이익실현*포인트;
OrderSend(Symbol(),OP_SELL,lotMM,Bid,Slippage,SL,TP,"TS-ProfitLock - "+Symbol()+" - Short",MagicNumber,0,Red);
바틱=0;
if (SetSell) SetSell=거짓;
반환(참);
}
}
반환(참);
}
안녕하세요 여러분,
나는 손절매를 변경할 수 없는 이 EA를 가지고 있습니다.
내가 무엇을 바꿔도 그것은 변하지 않을 것이다. 손절매를 최소 300으로 변경하고 싶습니다. 아이디어가 있습니까?
미리 감사드립니다
이것은 그것에 대한 코드입니다:
// 일반 사용자 입력
extern 이중 로트=1.0;
외부 정수 TakeProfit=44;
extern int StopLoss = 90;
extern bool RSIMethodA=거짓;
extern bool RSIMethodB=true;
외부 정수 RSI값=50;
extern bool AbandonMethodA=true;
extern bool AbandonMethodB=거짓;
extern int 포기=101;
extern bool MoneyManagement=true;
extern int 위험 = 2;
extern int 미끄러짐=3;
extern 부울 UseProfitLock=true;
extern int BreakEventTrigger=25;
extern int BreakEven=3;
extern bool LiveTrading=거짓;
extern bool AccountIsMini=거짓;
외부 정수 maxTradesPerPair = 1;
외부 정수 MagicNumber=5432;
이중 lotMM;
부울 BuySignal=거짓;
부울 SetBuy=거짓;
부울 SellSignal=거짓;
부울 SetSell=거짓;
// 바 핸들링
날짜 시간 막대 시간 = 0;
정수 바틱 = 0;
int TradeBars=0;
//+----------------------------------------------- -------------------+
//| 전문가 초기화 기능 |
//+----------------------------------------------- -------------------+
정수 초기화()
{
//----
//----
리턴(0);
}
//+----------------------------------------------- -------------------+
//| 전문가 초기화 해제 기능 |
//+----------------------------------------------- -------------------+
정수 초기화()
{
//----
//----
리턴(0);
}
//+----------------------------------------------- -------------------+
//| 전문가 시작 기능 |
//+----------------------------------------------- -------------------+
정수 시작()
{
//----
if (UseProfitLock) ProfitLockStop();
if (AbandonMethodA || AbandonMethodB)
{
RunAbandonCheck();
RunAbandonMethods();
}
if (!SetLotsMM()) return(0);
RunOrderTriggerCalculations();
RunPairSpesificSettings();
실행신규주문관리();
//----
리턴(0);
}
/////////////////////////////////////////////////////
// SetLotsMM - Robert Cochran 작성 autoforex.biz - BlueHost.com
/////////////////////////////////////////////////////
bool SetLotsMM()
{
이중 여백 컷오프;
if(!AccountIsMini) MarginCutoff = 1000;
if( AccountIsMini) MarginCutoff = 100;
if(AccountFreeMargin() < MarginCutoff) 반환(거짓);
if(머니 매니지먼트)
{
lotMM = MathCeil(AccountBalance() * 위험 / 10000) / 10;
if(lotMM < 0.1) lotMM = 제비;
if(lotMM > 1.0) lotMM = MathCeil(lotMM);
// 로트 크기 경계 적용
if(라이브 트레이딩)
{
if( AccountIsMini) lotMM = lotMM * 10;
if(!AccountIsMini && lotMM < 1.0) lotMM = 1.0;
}
if(lotMM > 100) lotMM = 100;
}
또 다른
{
lotMM = 제비; // Lot 매개변수를 적용하려면 MoneyManagement를 0으로 변경합니다.
}
반환(참);
}
//+----------------------------------------------- -------------------+
/////////////////////////////////////////////////////
// RunOrderTriggerCalculations
/////////////////////////////////////////////////////
bool RunOrderTriggerCalculations()
{
부울 RSIPOS=거짓;
bool RSINEG=거짓;
// Bar[1]의 3기간 이동 평균
더블 불MA3=iMA(Symbol(),0,3,0,MODE_EMA,PRICE_CLOSE,1);
// Bar[1]의 7기간 이동 평균
더블 bearMA7=iMA(Symbol(),0,7,0,MODE_EMA,PRICE_CLOSE,1);
// Bar[2]의 2기간 이동 평균
이중 RSI=iRSI(Symbol(),0,2,PRICE_CLOSE,2);
이중 RSI2=iRSI(Symbol(),0,2,PRICE_CLOSE,1);
// RSI가 어떤 극성인지 확인
if (RSIMethodA)
{
if(RSI>RSI값 && RSI2<RSI값)
{
RSIPOS=참;
RSINEG=거짓;
}
그렇지 않으면 RSIPOS=거짓;
if(RSIRSI값)
{
RSIPOS=거짓;
RSINEG=참;
}
그렇지 않으면 RSINEG=거짓;
}
if (RSIMethodB)
{
if(RSI>RSI값)
{
RSIPOS=참;
RSINEG=거짓;
}
if(RSI<RSI값)
{
RSIPOS=거짓;
RSINEG=참;
}
}
if ((bullMA3 > (bearMA7+Point)) && RSINEG)
{
BuySignal=참;
}
그렇지 않으면 BuySignal=거짓;
if ((bullMA3 < (bearMA7-포인트)) && RSIPOS)
{
SellSignal=참;
}
그렇지 않으면 SellSignal=거짓;
반환(참);
}
/////////////////////////////////////////////////////
// OpenOrdersBySymbolAndComment
/////////////////////////////////////////////////////
int OpenOrdersForThisEA()
{
정수 정수 = 0;
for(int x=0;x<OrdersTotal();x++)
{
주문 선택(x, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
자주++;
}
}
반환(자주);
}
/////////////////////////////////////////////////////
// PROFIT LOCK - Robert Cochran 작성 - autoforex.biz에 오신 것을 환영합니다. - BlueHost.com
/////////////////////////////////////////////////////
bool ProfitLockStop()
{
if( OpenOrdersForThisEA() > 0 )
{
for ( int i = 0; i < OrdersTotal(); i++){
주문 선택(i, SELECT_BY_POS, MODE_TRADES);
//--- 장기 거래
if(OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber()== MagicNumber)
{
if (Bid >= OrderOpenPrice() + BreakEvenTrigger*Point &&
OrderOpenPrice() > OrderStopLoss())
{
OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + BreakEven * 포인트, OrderTakeProfit(), 녹색);
}
}
//--- 단기 거래
if(OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber)
{
if (Ask <= OrderOpenPrice() - BreakEvenTrigger*Point &&
OrderOpenPrice() < OrderStopLoss())
{
OrderModify(OrderTicket(), OrderOpenPrice(),OrderOpenPrice() - 손익분기점 * 포인트, OrderTakeProfit(), 파란색);
}
}
}
}
}
/////////////////////////////////////////////////////
// 포기 체크
/////////////////////////////////////////////////////
bool RunAbandonCheck()
{
if( OpenOrdersForThisEA() > 0 )
{
if (TradeBars == 0 && bartick == 0)
{
(int i = 0; i < OrdersTotal(); i++)
{
if (OrderSymbol() == Symbol())
{
TradeBars = MathFloor(CurTime() - OrderOpenTime())/60/Period();
바타임 = 시간[0];
bartick = TradeBars;
}
}
}
if(bartime!=시간[0])
{
bartime=시간[0];
바틱++;
}
}
반환(참);
}
/////////////////////////////////////////////////////
// RunAbandon 메서드
/////////////////////////////////////////////////////
bool RunAbandonMethods()
{
if( OpenOrdersForThisEA() > 0 )
{
(int i = 0; i < OrdersTotal(); i++)
{
주문 선택(i, SELECT_BY_POS, MODE_TRADES);
if (AbandonMethodA && bartick==Abandon)//포기 후 강제 "HEDGE"
{
// 장기 거래
if (OrderType() == OP_BUY && OrderSymbol() == Symbol() &&
OrderMagicNumber()==MagicNumber)
{
OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Blue);
SetSell=참;
계속하다;
}
// 공매도
if (OrderType() == OP_SELL && OrderSymbol() == Symbol() &&
OrderMagicNumber()==MagicNumber)
{
OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Blue);
SetBuy=참;
계속하다;
}
}
if (AbandonMethodB && bartick==Abandon)//포기 후 인디케이터가 방향을 결정합니다.
{
// 장기 거래
if (OrderType() == OP_BUY && OrderSymbol() == Symbol() &&
OrderMagicNumber()==MagicNumber)
{
OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,White);
계속하다;
}
// 공매도
if (OrderType() == OP_SELL && OrderSymbol() == Symbol() &&
OrderMagicNumber()==MagicNumber)
{
OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,White);
계속하다;
}
}
}
}
반환(참);
}
/////////////////////////////////////////////////////
// RunPairSpesificSettings
/////////////////////////////////////////////////////
bool RunPairSpesificSettings()
{
// 심볼 최적화 설정
if (Symbol()=="GBPUSD")
{
테이크프로핏=55; 손절매=100; 포기=69;
}
반환(참);
}
/////////////////////////////////////////////////////
// 신규주문관리 실행
/////////////////////////////////////////////////////
bool RunNewOrderManagement()
{
이중 TP, SL;
if( OpenOrdersForThisEA() < maxTradesPerPair )
{
//ENTRY Ask(매수, 매수)
if (BuySignal || SetBuy)
{
SL = 묻기 - 손절매*포인트;
TP = 묻기 + TakeProfit*포인트;
OrderSend(Symbol(),OP_BUY,lotMM,Ask,Slippage,SL,TP,"TS-ProfitLock - "+Symbol()+" - Long",MagicNumber,0,White);
바틱=0;
if (SetBuy) SetBuy=거짓;
반환(참);
}
//ENTRY 입찰(매도, 공매도)
if (SellSignal || SetSell)
{
SL = 입찰가 + 손절매*포인트;
TP = 입찰가 - 이익실현*포인트;
OrderSend(Symbol(),OP_SELL,lotMM,Bid,Slippage,SL,TP,"TS-ProfitLock - "+Symbol()+" - Short",MagicNumber,0,Red);
바틱=0;
if (SetSell) SetSell=거짓;
반환(참);
}
}
반환(참);
}기호가 GBPUSD인 경우 StopLoss를 항상 100으로 설정합니다.
다른 사람들에게는 정상적으로 작동해야 합니다(EA가 핍이 아닌 포인트로 작동하기 때문에 5자리 브로커의 경우 손절매에 10을 곱해야 한다는 점을 제외하고)
현재 USD/JPY로 사용하고 있으며 손절매 는 여전히 100에 머물러 있습니다.
손절매 승수는 어디에서 찾을 수 있습니까?
현재 USD/JPY로 사용하고 있으며 손절매는 여전히 100에 머물러 있습니다. 손절매 승수는 어디에서 찾을 수 있습니까?
손절매와 이익실현 은 이 부분에서 설정됩니다.
{
double TP,SL;
if( OpenOrdersForThisEA() < maxTradesPerPair )
{
//ENTRY Ask(buy, long)
if (BuySignal || SetBuy)
{
SL = Ask - StopLoss*Point;
TP = Ask + TakeProfit*Point;
OrderSend(Symbol(),OP_BUY,lotMM,Ask,Slippage,SL,TP ,"TS-ProfitLock - "+Symbol()+" - Long",MagicNumber,0,White);
bartick=0;
if (SetBuy) SetBuy=false;
return(true);
}
//ENTRY Bid (sell, short)
if (SellSignal || SetSell)
{
SL = Bid + StopLoss*Point;
TP = Bid - TakeProfit*Point;
OrderSend(Symbol(),OP_SELL,lotMM,Bid,Slippage,SL,T P,"TS-ProfitLock - "+Symbol()+" - Short",MagicNumber,0,Red);
bartick=0;
if (SetSell) SetSell=false;
return(true);
}
}
return(true);
}[/PHP]
As of stop loss that stays 100 : this part of code
[PHP]bool RunPairSpesificSettings()
{
// set up the symbol optimizations
if (Symbol()=="GBPUSD")
{
TakeProfit=55; StopLoss=100; Abandon=69;
}
return(true);
}기호가 "GBPUSD"(코드에서 볼 수 있듯이)인 경우에만 활성화되므로 이 경우에만 되돌립니다. 코드를 다시 확인하고 100을 찾으면 첨부한 코드에서 손절매가 GBPUSD의 경우에만 되돌려지기 때문에 손절매에 무슨 일이 일어나고 있는지 알 수 있습니다.
통화 쌍을 내가 거래하는 통화 쌍 으로 변경하더라도 여전히 손절매를 변경하지 않습니다. 이 EA는 손절매를 변경할 수 있다면 완벽했을 것입니다.
어쨌든 도와주셔서 감사합니다.
안녕하세요 코더 여러분,
누구든지 이 스퀴즈 브레이크 표시기를 EMA 볼린저 밴드 옵션과 EMA 켈트너 채널 옵션을 갖도록 수정할 수 있습니까?
감사해요 :)
안녕하세요 코더 여러분,
누구든지 이 스퀴즈 브레이크 표시기를 EMA 볼린저 밴드 옵션과 EMA 켈트너 채널 옵션을 갖도록 수정할 수 있습니까?
감사해요 :)안녕하세요 Iwillsurvive님, 기본적으로 EMA로 설정되어 있는 켈트 너 밴드 와 볼린저 밴드 모두에서 ma를 선택할 수 있도록 표시기를 변경했습니다.