무료로 어드바이저를 작성해 드립니다 - 페이지 82 1...757677787980818283848586878889...171 새 코멘트 Maksim Sovenko 2018.09.17 17:21 #811 Vitali_Leto : 누구든지 경고를 도와줄 수 있습니까? 코드와 해당 경고를 표시합니다. Vitalii Vakulin 2018.09.17 17:26 #812 int init() { Spread=MarketInfo(Symbol(),MODE_SPREAD)*Point; return (0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int deinit() { return (0); } //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí int start() { if(AccountNumber()!=6534787) {Comment("Не верный счет!"); return(0);} int PipStepE=NormalizeDouble(Pipstep*MathPow(PipStepExp(NumOfTrades),TradeStepExp(NumOfTrades)),0); //PipStep = NormalizeDouble(Pipstep * MathPow(PipStepExponent, NumOfTrades), 0); double PrevCl; double CurrCl; if(UseTrailingStop) TrailingAlls(TrailStart,TrailStop,AveragePrice); if(UseTimeOut) { if(TimeCurrent()>=expiration) { CloseThisSymbolAll(); Print("Closed All due to TimeOut"); } } if(timeprev == Time[0]) return (0); timeprev=Time[0]; double CurrentPairProfit=CalculateProfit(); if(UseEquityStop) { if(CurrentPairProfit<0.0 && MathAbs(CurrentPairProfit)>TotalEquityRisk/100.0*AccountEquityHigh()) { CloseThisSymbolAll(); Print("Closed All due to Stop Out"); NewOrdersPlaced=FALSE; } } total=CountTrades(); if(total==0) flag =FALSE; for(cnt=OrdersTotal()-1; cnt>=0; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumber) continue; if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { if(OrderType()==OP_BUY) { LongTrade=TRUE; ShortTrade=FALSE; break; } } if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { if(OrderType()==OP_SELL) { LongTrade=FALSE; ShortTrade=TRUE; break; } } } if(total>0 && total<=MaxTrades) { RefreshRates(); LastBuyPrice=FindLastBuyPrice(); LastSellPrice=FindLastSellPrice(); if(LongTrade && LastBuyPrice-Ask>=PipStepE*Point) TradeNow=TRUE; if(ShortTrade && Bid-LastSellPrice>=PipStepE*Point) TradeNow=TRUE; } if(total<1) { ShortTrade= FALSE; LongTrade = FALSE; TradeNow=TRUE; StartEquity=AccountEquity(); } if(TradeNow) { LastBuyPrice=FindLastBuyPrice(); LastSellPrice=FindLastSellPrice(); if(ShortTrade) { NumOfTrades=total; iLots=NormalizeDouble(Lots*MathPow(LotExponent,NumOfTrades),lotdecimal); RefreshRates(); ticket=OpenPendingOrder(1,iLots,Bid,slip,Ask,0,0,EAName+"-"+NumOfTrades,MagicNumber,0,HotPink); if(ticket<0) { Print("Error: ",GetLastError()); return (0); } LastSellPrice=FindLastSellPrice(); TradeNow=FALSE; NewOrdersPlaced=TRUE; } else { if(LongTrade) { NumOfTrades=total; iLots=NormalizeDouble(Lots*MathPow(LotExponent,NumOfTrades),lotdecimal); ticket=OpenPendingOrder(0,iLots,Ask,slip,Bid,0,0,EAName+"-"+NumOfTrades,MagicNumber,0,Lime); if(ticket<0) { Print("Error: ",GetLastError()); return (0); } LastBuyPrice=FindLastBuyPrice(); TradeNow=FALSE; NewOrdersPlaced=TRUE; } } } if(TradeNow && total<1) { PrevCl = iClose(Symbol(), 0, 2); CurrCl = iClose(Symbol(), 0, 1); SellLimit= Bid; BuyLimit = Ask; if(!ShortTrade && !LongTrade) { NumOfTrades=total; iLots=NormalizeDouble(Lots*MathPow(LotExponent,NumOfTrades),lotdecimal); if(PrevCl>CurrCl) { if(iRSI(NULL,PERIOD_H1,14,PRICE_CLOSE,1)>RsiMinimum) { ticket=OpenPendingOrder(1,iLots,SellLimit,slip,SellLimit,0,0,EAName+"-"+NumOfTrades,MagicNumber,0,HotPink); if(ticket<0) { Print("Error: ",GetLastError()); return (0); } LastBuyPrice=FindLastBuyPrice(); NewOrdersPlaced=TRUE; } } else { if(iRSI(NULL,PERIOD_H1,14,PRICE_CLOSE,1)<RsiMaximum) { ticket=OpenPendingOrder(0,iLots,BuyLimit,slip,BuyLimit,0,0,EAName+"-"+NumOfTrades,MagicNumber,0,Lime); if(ticket<0) { Print("Error: ",GetLastError()); return (0); } LastSellPrice=FindLastSellPrice(); NewOrdersPlaced=TRUE; } } if(ticket>0) expiration=TimeCurrent()+60.0 *(60.0*MaxTradeOpenHours); TradeNow=FALSE; } } total=CountTrades(); AveragePrice = 0; double Count = 0; for(cnt=OrdersTotal()-1; cnt>=0; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumber) continue; if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { if(OrderType()==OP_BUY || OrderType()==OP_SELL) { AveragePrice+=OrderOpenPrice()*OrderLots(); Count+=OrderLots(); } } } if(total>0) AveragePrice=NormalizeDouble(AveragePrice/Count,Digits); if(NewOrdersPlaced) { for(cnt=OrdersTotal()-1; cnt>=0; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumber) continue; if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { if(OrderType()==OP_BUY) { PriceTarget= AveragePrice + TakeProfit * Point; BuyTarget=PriceTarget; Stopper=AveragePrice-Stoploss*Point; flag=TRUE; } } if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { if(OrderType()==OP_SELL) { PriceTarget= AveragePrice - TakeProfit * Point; SellTarget = PriceTarget; Stopper=AveragePrice+Stoploss*Point; flag=TRUE; } } } } if(NewOrdersPlaced) { if(flag == TRUE) { for(cnt=OrdersTotal()-1; cnt>=0; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumber) continue; if(OrderSymbol()== Symbol() && OrderMagicNumber() == MagicNumber) OrderModify(OrderTicket(),AveragePrice,OrderStopLoss(),PriceTarget,0,Yellow); NewOrdersPlaced = FALSE; } } } return (0); } //ííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí int CountTrades() { int count=0; for(int trade=OrdersTotal()-1; trade>=0; trade--) { OrderSelect(trade,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumber) continue; if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) if(OrderType()==OP_SELL || OrderType()==OP_BUY) count++; } return (count); } //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí void CloseThisSymbolAll() { for(int trade=OrdersTotal()-1; trade>=0; trade--) { OrderSelect(trade,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()) { if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { if(OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, slip, Blue); if(OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, slip, Red); } Sleep(1000); } } } //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí int OpenPendingOrder(int pType,double pLots,double pLevel,int sp,double pr,int sl,int tp,string pComment,int pMagic,int pDatetime,color pColor) { int ticket=0; int err=0; int c=0; int NumberOfTries=100; switch(pType) { case 2: for(c=0; c<NumberOfTries; c++) { ticket=OrderSend(Symbol(),OP_BUYLIMIT,pLots,pLevel,sp,StopLong(pr,sl),TakeLong(pLevel,tp),pComment,pMagic,pDatetime,pColor); err=GetLastError(); if(err==0/* NO_ERROR */) break; if(!(err==4/* SERVER_BUSY */ || err==137/* BROKER_BUSY */ || err==146/* TRADE_CONTEXT_BUSY */ || err==136/* OFF_QUOTES */)) break; Sleep(1000); } break; case 4: for(c=0; c<NumberOfTries; c++) { ticket=OrderSend(Symbol(),OP_BUYSTOP,pLots,pLevel,sp,StopLong(pr,sl),TakeLong(pLevel,tp),pComment,pMagic,pDatetime,pColor); err=GetLastError(); if(err==0/* NO_ERROR */) break; if(!(err==4/* SERVER_BUSY */ || err==137/* BROKER_BUSY */ || err==146/* TRADE_CONTEXT_BUSY */ || err==136/* OFF_QUOTES */)) break; Sleep(5000); } break; case 0: for(c=0; c<NumberOfTries; c++) { RefreshRates(); ticket=OrderSend(Symbol(),OP_BUY,pLots,Ask,sp,StopLong(Bid,sl),TakeLong(Ask,tp),pComment,pMagic,pDatetime,pColor); err=GetLastError(); if(err==0/* NO_ERROR */) break; if(!(err==4/* SERVER_BUSY */ || err==137/* BROKER_BUSY */ || err==146/* TRADE_CONTEXT_BUSY */ || err==136/* OFF_QUOTES */)) break; Sleep(5000); } break; case 3: for(c=0; c<NumberOfTries; c++) { ticket=OrderSend(Symbol(),OP_SELLLIMIT,pLots,pLevel,sp,StopShort(pr,sl),TakeShort(pLevel,tp),pComment,pMagic,pDatetime,pColor); err=GetLastError(); if(err==0/* NO_ERROR */) break; if(!(err==4/* SERVER_BUSY */ || err==137/* BROKER_BUSY */ || err==146/* TRADE_CONTEXT_BUSY */ || err==136/* OFF_QUOTES */)) break; Sleep(5000); } break; case 5: for(c=0; c<NumberOfTries; c++) { ticket=OrderSend(Symbol(),OP_SELLSTOP,pLots,pLevel,sp,StopShort(pr,sl),TakeShort(pLevel,tp),pComment,pMagic,pDatetime,pColor); err=GetLastError(); if(err==0/* NO_ERROR */) break; if(!(err==4/* SERVER_BUSY */ || err==137/* BROKER_BUSY */ || err==146/* TRADE_CONTEXT_BUSY */ || err==136/* OFF_QUOTES */)) break; Sleep(5000); } break; case 1: for(c=0; c<NumberOfTries; c++) { ticket=OrderSend(Symbol(),OP_SELL,pLots,Bid,sp,StopShort(Ask,sl),TakeShort(Bid,tp),pComment,pMagic,pDatetime,pColor); err=GetLastError(); if(err==0/* NO_ERROR */) break; if(!(err==4/* SERVER_BUSY */ || err==137/* BROKER_BUSY */ || err==146/* TRADE_CONTEXT_BUSY */ || err==136/* OFF_QUOTES */)) break; Sleep(5000); } } return (ticket); } //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí double StopLong(double price,int stop) { if(stop == 0) return (0); else return (price - stop * Point); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ double StopShort(double price,int stop) { if(stop == 0) return (0); else return (price + stop * Point); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ double TakeLong(double price,int stop) { if(stop == 0) return (0); else return (price + stop * Point); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ double TakeShort(double price,int stop) { if(stop == 0) return (0); else return (price - stop * Point); } //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí double CalculateProfit() { double Profit=0; for(cnt=OrdersTotal()-1; cnt>=0; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumber) continue; if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) if(OrderType()==OP_BUY || OrderType()==OP_SELL) Profit+=OrderProfit(); } return (Profit); } //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí void TrailingAlls(int pType,int stop,double AvgPrice) { int profit; double stoptrade; double stopcal; if(stop!=0) { for(int trade= OrdersTotal()-1; trade>= 0; trade--) { if(OrderSelect(trade,SELECT_BY_POS,MODE_TRADES)) { if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumber) continue; if(OrderSymbol()==Symbol() || OrderMagicNumber()==MagicNumber) { if(OrderType()==OP_BUY) { profit=NormalizeDouble((Bid-AvgPrice)/Point,0); if(profit<pType) continue; stoptrade=OrderStopLoss(); stopcal=Bid-stop*Point; if(stoptrade==0.0 || (stoptrade!=0.0 && stopcal>stoptrade)) OrderModify(OrderTicket(),AvgPrice,stopcal,OrderTakeProfit(),0,Aqua); } if(OrderType()==OP_SELL) { profit=NormalizeDouble((AvgPrice-Ask)/Point,0); if(profit<pType) continue; stoptrade=OrderStopLoss(); stopcal=Ask+stop*Point; if(stoptrade==0.0 || (stoptrade!=0.0 && stopcal<stoptrade)) OrderModify(OrderTicket(),AvgPrice,stopcal,OrderTakeProfit(),0,Red); } } Sleep(1000); } } } } //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí double AccountEquityHigh() { if(CountTrades()==0) AccountEquityHighAmt=AccountEquity(); if(AccountEquityHighAmt<PrevEquity) AccountEquityHighAmt=PrevEquity; else AccountEquityHighAmt=AccountEquity(); PrevEquity=AccountEquity(); return (AccountEquityHighAmt); } //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí double FindLastBuyPrice() { double oldorderopenprice; int oldticketnumber; double unused=0; int ticketnumber=0; for(int cnt=OrdersTotal()-1; cnt>=0; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumber) continue; if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber && OrderType()==OP_BUY) { oldticketnumber=OrderTicket(); if(oldticketnumber>ticketnumber) { oldorderopenprice=OrderOpenPrice(); unused=oldorderopenprice; ticketnumber=oldticketnumber; } } } return (oldorderopenprice); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ double FindLastSellPrice() { double oldorderopenprice; int oldticketnumber; double unused=0; int ticketnumber=0; for(int cnt=OrdersTotal()-1; cnt>=0; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumber) continue; if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber && OrderType()==OP_SELL) { oldticketnumber=OrderTicket(); if(oldticketnumber>ticketnumber) { oldorderopenprice=OrderOpenPrice(); unused=oldorderopenprice; ticketnumber=oldticketnumber; } } } return (oldorderopenprice); } //ííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí //--------------------Íà÷èíàåì ðàñòèòü øàã ñïóñòÿ StartStepExp êîëåí------------------------------- double PipStepExp(int Step) { double QStepEx = 0; if(QuantumStep == true && Step >= StartStepExp) QStepEx=PipStepExponent; else QStepEx=1; return (QStepEx); } //==================== Ñ÷èòàåì êîëåíè ============================ int TradeStepExp(int Trades) { double TradeStep=0; if(QuantumStep==true && Trades>=StartStepExp) TradeStep=Trades-StartStepExp+1; else TradeStep=Trades; return (TradeStep); } //+------------------------------------------------------------------+ Vitalii Vakulin 2018.09.17 17:27 #813 이 같은 파일: Screenshot_24.jpg 273 kb Screenshot_25.jpg 279 kb Vitalii Vakulin 2018.09.17 17:38 #814 여러분은 무엇을 조언합니까? Maksim Sovenko 2018.09.17 17:40 #815 Vitali_Leto : 이 같은 차례를 가지자 int PipStepE= NormalizeDouble 정수 유형 변수를 선언하고 분수 값을 정규화하고 있습니다. 이 특별한 불일치 Maksim Sovenko 2018.09.17 17:41 #816 OrderSelect OrderModify 확인해야 하지만 중요하지 않음 Vitalii Vakulin 2018.09.17 17:42 #817 Maksim Sovenko : 차례를 가지자 정수 유형 변수를 선언하고 분수 값을 정규화하고 있습니다. 이 특별한 불일치 내가 이해했다면 Vitalii Vakulin 2018.09.17 17:44 #818 해결책을 제시해야 해 처방을 하고 어제처럼 콧수염을 감아 Maksim Sovenko 2018.09.17 17:48 #819 Vitali_Leto : 해결책을 제시해야 해 처방을 하고 어제처럼 콧수염을 감아 about " 정수 유형 의 변수를 선언하고 분수 값을 정규화하고 있습니다. 이것은 특정 불일치입니다." 아니, 내가 여기에서 틀렸어, 간과했다. 지금은 바빠. 내일 좀 더 지켜보고 후기 올리도록 하겠습니다. Vitalii Vakulin 2018.09.17 17:49 #820 Maksim Sovenko : about " 정수 유형 의 변수를 선언하고 분수 값을 정규화하고 있습니다. 이것은 특정 불일치입니다." 아니, 내가 여기에서 틀렸어, 간과했다. 지금은 바빠. 내일 좀 더 지켜보고 후기 올리도록 하겠습니다. 고마울거야! 1...757677787980818283848586878889...171 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
누구든지 경고를 도와줄 수 있습니까?
코드와 해당 경고를 표시합니다.
이 같은
차례를 가지자
정수 유형 변수를 선언하고 분수 값을 정규화하고 있습니다. 이 특별한 불일치
확인해야 하지만 중요하지 않음
차례를 가지자
정수 유형 변수를 선언하고 분수 값을 정규화하고 있습니다. 이 특별한 불일치
내가 이해했다면
해결책을 제시해야 해 처방을 하고 어제처럼 콧수염을 감아
about " 정수 유형 의 변수를 선언하고 분수 값을 정규화하고 있습니다. 이것은 특정 불일치입니다."
아니, 내가 여기에서 틀렸어, 간과했다.
지금은 바빠. 내일 좀 더 지켜보고 후기 올리도록 하겠습니다.
about " 정수 유형 의 변수를 선언하고 분수 값을 정규화하고 있습니다. 이것은 특정 불일치입니다."
아니, 내가 여기에서 틀렸어, 간과했다.
지금은 바빠. 내일 좀 더 지켜보고 후기 올리도록 하겠습니다.
고마울거야!