조언자를 작성하는 데 도움이됩니다. 미리 감사드립니다. - 페이지 14 1...789101112131415161718192021...24 새 코멘트 [Удален] 2012.05.25 11:16 #131 //+------------------------------------------------------------------+ //| Канал.mq4 | //| Copyright © 2011, Лукас | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, Лукас" #property link "http://www.metaquotes.net" extern int magicnumber = 1210; extern double Nach_Lot = 0.05; extern int SL_BUY = 500; extern int TP_BUY = 700; extern int Shirina_Kanala_STOP = 200; //int SL_SELL = 400; //int TP_SELL = 400; double Lot,Lot_BUY,Lot_SELL,Min_Lot; string TF,Metka; int Ticket_Open_BUYSTOP, Ticket_Open_SELLSTOP,Ticket_Open_BUY,Ticket_Open_SELL; double Cena_Otkr_BUY,Cena_Otkr_SELL,TP_Otkr_BUY,SL_Otkr_BUY,TP_Otkr_SELL,SL_Otkr_SELL; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { Lot=Nach_Lot; Lot_BUY=Nach_Lot; Lot_SELL=Nach_Lot; Min_Lot =MarketInfo(Symbol(), MODE_MINLOT); //StopLevel = ND(MarketInfo(Symbol(), MODE_STOPLEVEL)*Point); return(0); } //***********************************************************************************************************************************// // Функция деинициализации советника-------------------------------------------------------------------------------------------------// //***********************************************************************************************************************************// int deinit() { return(0); } // Окончание функции деинициализации советника---------------------------------------------------------------------------------------// //***********************************************************************************************************************************// // Функция старта советника----------------------------------------------------------------------------------------------------------// //***********************************************************************************************************************************// int start() { Metka=Symbol()+"-''Канал(v.1.0)''"; double ZigZag_0=iCustom(NULL, 0, "ZigZag",12,5,3,1,0); double ZigZag_1=iCustom(NULL, 0, "ZigZag",12,5,3,1,1); if((CalculateCurrentOrders_STOP(Symbol())==1)&&(CalculateCurrentOrders_OPEN(Symbol())==0)) { Close_Order_BUYSTOP(); Close_Order_SELLSTOP(); } if (ZigZag_0>ZigZag_1) { if((CalculateCurrentOrders_STOP(Symbol())==0)&&(CalculateCurrentOrders_OPEN(Symbol())==0)) { Lot_BUY=Nach_Lot; Ticket_Open_BUY=OrderSend(Symbol(),OP_BUY,Lot_BUY,Ask,3,ND(Bid-SL_BUY*Point),ND(Ask+TP_BUY*Point),Metka,magicnumber,0,Green); Cena_Otkr_BUY=ND(Ask); TP_Otkr_BUY=ND(Ask+TP_BUY*Point); SL_Otkr_BUY=ND(Bid-SL_BUY*Point); TP_Otkr_SELL=SL_Otkr_BUY; SL_Otkr_SELL=TP_Otkr_BUY; Cena_Otkr_SELL=ND(Ask-Shirina_Kanala_STOP*Point); Lot_SELL=Nach_Lot*2; Ticket_Open_SELLSTOP=OrderSend(Symbol(),OP_SELLSTOP,Lot_SELL,Cena_Otkr_SELL,3,SL_Otkr_SELL,TP_Otkr_SELL,Metka,magicnumber,0,Blue); } } if((CalculateCurrentOrders_STOP(Symbol())==0)&&(CalculateCurrentOrders_OPEN(Symbol())==1)) { Lot_BUY=Nach_Lot*4; Ticket_Open_BUYSTOP=OrderSend(Symbol(),OP_BUYSTOP,Lot_BUY,Cena_Otkr_BUY,3,SL_Otkr_BUY,TP_Otkr_BUY,Metka,magicnumber,0,Blue); } if((CalculateCurrentOrders_SELL(Symbol())==1)&&(CalculateCurrentOrders_BUY(Symbol())==2)&&(CalculateCurrentOrders_STOP(Symbol())==0)) { Lot_SELL=Nach_Lot*8; Ticket_Open_SELLSTOP=OrderSend(Symbol(),OP_SELLSTOP,Lot_SELL,Cena_Otkr_SELL,3,SL_Otkr_SELL,TP_Otkr_SELL,Metka,magicnumber,0,Blue); } if((CalculateCurrentOrders_SELL(Symbol())==2)&&(CalculateCurrentOrders_BUY(Symbol())==2)&&(CalculateCurrentOrders_STOP(Symbol())==0)) { Lot_BUY=Nach_Lot*16; Ticket_Open_BUYSTOP=OrderSend(Symbol(),OP_BUYSTOP,Lot_BUY,Cena_Otkr_BUY,3,SL_Otkr_BUY,TP_Otkr_BUY,Metka,magicnumber,0,Blue); } if((CalculateCurrentOrders_SELL(Symbol())==2)&&(CalculateCurrentOrders_BUY(Symbol())==3)&&(CalculateCurrentOrders_STOP(Symbol())==0)) { Lot_SELL=Nach_Lot*32; Ticket_Open_SELLSTOP=OrderSend(Symbol(),OP_SELLSTOP,Lot_SELL,Cena_Otkr_SELL,3,SL_Otkr_SELL,TP_Otkr_SELL,Metka,magicnumber,0,Blue); } if((CalculateCurrentOrders_SELL(Symbol())==3)&&(CalculateCurrentOrders_BUY(Symbol())==3)&&(CalculateCurrentOrders_STOP(Symbol())==0)) { Lot_BUY=Nach_Lot*64; Ticket_Open_BUYSTOP=OrderSend(Symbol(),OP_BUYSTOP,Lot_BUY,Cena_Otkr_BUY,3,SL_Otkr_BUY,TP_Otkr_BUY,Metka,magicnumber,0,Blue); } if((CalculateCurrentOrders_SELL(Symbol())==3)&&(CalculateCurrentOrders_BUY(Symbol())==4)&&(CalculateCurrentOrders_STOP(Symbol())==0)) { Lot_SELL=Nach_Lot*128; Ticket_Open_SELLSTOP=OrderSend(Symbol(),OP_SELLSTOP,Lot_SELL,Cena_Otkr_SELL,3,SL_Otkr_SELL,TP_Otkr_SELL,Metka,magicnumber,0,Blue); } if((CalculateCurrentOrders_SELL(Symbol())==4)&&(CalculateCurrentOrders_BUY(Symbol())==4)&&(CalculateCurrentOrders_STOP(Symbol())==0)) { Lot_BUY=Nach_Lot*256; Ticket_Open_BUYSTOP=OrderSend(Symbol(),OP_BUYSTOP,Lot_BUY,Cena_Otkr_BUY,3,SL_Otkr_BUY,TP_Otkr_BUY,Metka,magicnumber,0,Blue); } if((CalculateCurrentOrders_SELL(Symbol())==4)&&(CalculateCurrentOrders_BUY(Symbol())==5)&&(CalculateCurrentOrders_STOP(Symbol())==0)) { Lot_SELL=Nach_Lot*512; Ticket_Open_SELLSTOP=OrderSend(Symbol(),OP_SELLSTOP,Lot_SELL,Cena_Otkr_SELL,3,SL_Otkr_SELL,TP_Otkr_SELL,Metka,magicnumber,0,Blue); } if((CalculateCurrentOrders_SELL(Symbol())==5)&&(CalculateCurrentOrders_BUY(Symbol())==5)&&(CalculateCurrentOrders_STOP(Symbol())==0)) { Lot_BUY=Nach_Lot*1024; Ticket_Open_BUYSTOP=OrderSend(Symbol(),OP_BUYSTOP,Lot_BUY,Cena_Otkr_BUY,3,SL_Otkr_BUY,TP_Otkr_BUY,Metka,magicnumber,0,Blue); } if((CalculateCurrentOrders_SELL(Symbol())==5)&&(CalculateCurrentOrders_BUY(Symbol())==6)&&(CalculateCurrentOrders_STOP(Symbol())==0)) { Lot_SELL=Nach_Lot*2048; Ticket_Open_SELLSTOP=OrderSend(Symbol(),OP_SELLSTOP,Lot_SELL,Cena_Otkr_SELL,3,SL_Otkr_SELL,TP_Otkr_SELL,Metka,magicnumber,0,Blue); } /* if((CalculateCurrentOrders_STOP(Symbol())==0)&&(CalculateCurrentOrders_OPEN(Symbol())==0)) { if (Key_BUY==true) Ticket_Open_BUYSTOP=OrderSend(Symbol(),OP_BUYSTOP,Lot_BUY,Cena_Buy,3,SL_Buy,TP_Buy1,Metka,magicnumber,0,Blue); if (Key_SELL==true) Ticket_Open_SELLSTOP=OrderSend(Symbol(),OP_SELLSTOP,Lot_SELL,Cena_Sell,3,SL_Sell,TP_Sell1,Metka,magicnumber,0,Blue); } */ return(0); } // Окончание функции старта советника------------------------------------------------------------------------------------------------// //***********************************************************************************************************************************// // Функция определения количества отложенных стоп ордеров ---------------------------------------------------------------------------// //***********************************************************************************************************************************// int CalculateCurrentOrders_STOP(string symbol) { int buys=0,sells=0; for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderSymbol()==Symbol() && OrderMagicNumber()==magicnumber) { if(OrderType()==OP_BUYSTOP) buys++; if(OrderType()==OP_SELLSTOP) sells++; } } return(buys+sells); } // Окончание функции определения количества отложенных стоп ордеров------------------------------------------------------------------// //***********************************************************************************************************************************// // Функция определения количества открытых ордеров ----------------------------------------------------------------------------------// //***********************************************************************************************************************************// int CalculateCurrentOrders_OPEN(string symbol) { int buys=0,sells=0; //---- for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderSymbol()==Symbol() && OrderMagicNumber()==magicnumber) { if(OrderType()==OP_BUY) buys++; if(OrderType()==OP_SELL) sells++; } } //---- return orders volume if(buys>0) return(buys); else return(-sells); } // Окончание функции определения количества открытых ордеров--------------------------------------------------------------------------// //***********************************************************************************************************************************// // Функция определения количества открытых ордеров BUY ------------------------------------------------------------------------------// //***********************************************************************************************************************************// int CalculateCurrentOrders_BUY(string symbol) { int buys_b=0,sells_b=0; for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderSymbol()==Symbol() && OrderMagicNumber()==magicnumber) { if(OrderType()==OP_BUY) buys_b++; } } if(buys_b>0) return(buys_b); else return(-sells_b); } // Окончание функции определения количества открытых ордеров BUY --------------------------------------------------------------------// //***********************************************************************************************************************************// // Функция определения количества открытых ордеров SELL -----------------------------------------------------------------------------// //***********************************************************************************************************************************// int CalculateCurrentOrders_SELL(string symbol) { int buys_s=0,sells_s=0; for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderSymbol()==Symbol() && OrderMagicNumber()==magicnumber) { if(OrderType()==OP_SELL) sells_s++; } } if(sells_s>0) return(sells_s); else return(-buys_s); } // Окончание функции определения количества открытых ордеров SELL -------------------------------------------------------------------// //***********************************************************************************************************************************// // Функция приведения значений к точности одного тика -------------------------------------------------------------------------------// //***********************************************************************************************************************************// double ND(double A) { return(NormalizeDouble(A, Digits)); } // Окончание функции приведения значений к точности одного тика ---------------------------------------------------------------------// //***********************************************************************************************************************************// // Функция закрытия ордера BUYSTOP --------------------------------------------------------------------------------------------------// //***********************************************************************************************************************************// void Close_Order_BUYSTOP() { for(int f=0;f<OrdersTotal();f++) { if(OrderSelect(f,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderMagicNumber()!=magicnumber || OrderSymbol()!=Symbol()) continue; if(OrderType()==OP_BUYSTOP) OrderDelete(OrderTicket()); } } // Окончание функции закрытия ордера BUYSTOP ---------------------------------------------------------------------------------------// //***********************************************************************************************************************************// // Функция закрытия ордера SELLSTOP -------------------------------------------------------------------------------------------------// //***********************************************************************************************************************************// void Close_Order_SELLSTOP() { for(int f=0;f<OrdersTotal();f++) { if(OrderSelect(f,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderMagicNumber()!=magicnumber || OrderSymbol()!=Symbol()) continue; if(OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket()); } } // Окончание функции закрытия ордера SELLSTOP --------------------------------------------------------------------------------------// Vitalie Postolache 2012.05.25 11:16 #132 글쎄요, 코드에서 리미터를 설정할 수 있습니다. 예를 들어 50랏을 말한 다음 일정한 로트로 장난을 칠 수 있습니다. emonh 2012.05.25 11:17 #133 Lucas_SPb : 1. 지그재그 확인 2. 구매 주문 열기 3. 우리는 동시에 판매 지연을 설정합니다. 4.판매지연시 구매지연 등을 설정합니다. 5. 동시에, 우리는 많은 Aaaaaa, 이해합니다. 감사합니다. 이제 모든 틱을 켤 때 컴퓨터가 멈추는 문제의 테스트를 통해서만 더 쉬울 것입니다. [Удален] 2012.05.25 11:18 #134 emonh : Aaaaaa, 이해합니다. 감사합니다. 이제 모든 틱을 켤 때 컴퓨터가 멈추는 문제의 테스트를 통해서만 더 쉬울 것입니다. ))) 나는 많은 shaneshkas를 컴퓨터에 넣어야 했다....)))) edikjefimov 2012.05.25 11:18 #135 데모에서 시도)) 오류가 발생했습니다. 마을 0.02 대신 bau 0.04 지연을 열었습니다. edikjefimov 2012.05.25 11:20 #136 이렇게 되어야 한다 edikjefimov 2012.05.25 11:20 #137 [Удален] 2012.05.25 11:21 #138 ))) 그리고 무엇을 시도 했습니까 ??? 차트에 올빼미를 넣어? emonh 2012.05.25 11:25 #139 Lucas_SPb : ))) 나는 많은 shaneshkas를 컴퓨터에 넣어야 했다....)))) 죄송합니다, 무엇을 투자해야합니까? emonh 2012.05.25 11:26 #140 Lucas_SPb : ))) 그리고 무엇을 시도 했습니까 ??? 차트에 올빼미를 넣어? 너 누구 랑 대화하고있어? 1...789101112131415161718192021...24 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
1. 지그재그 확인
2. 구매 주문 열기
3. 우리는 동시에 판매 지연을 설정합니다.
4.판매지연시 구매지연 등을 설정합니다.
5. 동시에, 우리는 많은
Aaaaaa, 이해합니다. 감사합니다. 이제 모든 틱을 켤 때 컴퓨터가 멈추는 문제의 테스트를 통해서만 더 쉬울 것입니다.
Aaaaaa, 이해합니다. 감사합니다. 이제 모든 틱을 켤 때 컴퓨터가 멈추는 문제의 테스트를 통해서만 더 쉬울 것입니다.
))) 나는 많은 shaneshkas를 컴퓨터에 넣어야 했다....))))
죄송합니다, 무엇을 투자해야합니까?
))) 그리고 무엇을 시도 했습니까 ??? 차트에 올빼미를 넣어?
너 누구 랑 대화하고있어?