[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 405 1...398399400401402403404405406407408409410411412...537 새 코멘트 Alexander 2011.05.24 15:37 #4041 Некоторые ДЦ на реальных счетах именам символов присваивают всякие префиксы типа "." или "FXF" . Как мне подставлять эти префиксы? 문자열 StringConcatenate (..)를 시도하십시오. ilunga 2011.05.24 15:38 #4042 Dimka-novitsek : 알겠습니다, 지금 바로 하겠습니다. 또한 조건이 작동하지 않습니다 "작동하지 않음"이 아니라 X와 같은 이유로 도달하지 않습니다. 이것은 Alert 에서 i의 신호가 없다는 사실에서 분명히 알 수 있습니다. Dimka-novitsek 2011.05.24 15:42 #4043 ilunga : "작동하지 않음"이 아니라 X와 같은 이유로 도달하지 않습니다. 이것은 Alert에서 i의 신호가 없다는 사실에서 분명히 알 수 있습니다. 네 바로.. Dimka-novitsek 2011.05.24 15:46 #4044 만세, 내가 쓴다!!!!!! //+------------------------------------------------------------------+ //| для лавин.mq4 | //| Copyright © 2011, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" extern double stoploss= 0 ; extern double takeprofit= 20 ; extern int otstup= 20 ; extern datetime expiration= 0 ; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return ( 0 ); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return ( 0 ); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int tiket,tikett; double volume= 0.1 ; int i= 0 ,R1= 0 ,R2= 0 ,A= 1 ; double price= PRICE_OPEN ; // R1=((PRICE_OPEN- stoploss*Point)*stoploss)/stoploss;R2=((PRICE_OPEN+ stoploss*Point)*stoploss)/stoploss; int start() { int X,Y; double price=(Ask+Bid)/ 2 ; //---- Alert ( "OrdersTotal()" , OrdersTotal ()); for ( int i= OrdersTotal ();i> 0 ;i--){ Alert ( "i" , i); if (OrderSymbol()== Symbol ()&&OrderMagicNumber( )== 1000 ){ OrderSelect (i,SELECT_BY_POS ); if (OrderType( )==OP_BUYSTOP){X++;}}} Alert ( "X" , X); if (X== 0 ){ tiket= OrderSend ( Symbol (), OP_BUYSTOP, volume*A, price +otstup* Point , Point * 3 , R1, price+takeprofit* Point +otstup* Point , "OP_BUYSTOP" , 1000 , expiration, Red ); Alert ( "OP_BUYSTOP" , GetLastError ( )); } for ( i= OrdersTotal ();i> 0 ;i--){ Alert ( "i" , i); OrderSelect (i,SELECT_BY_POS ); if ( OrderMagicNumber( )== 2000 &&OrderSymbol()== Symbol ()) { if (OrderType( ) ==OP_SELLSTOP) { Y++;}}} Alert ( "Y" , Y); if (Y== 0 ){ tikett= OrderSend ( Symbol (), OP_SELLSTOP, volume*A, price -otstup* Point , Point * 3 ,R2, price-takeprofit* Point -otstup* Point , "OP_SELLSTOP" , 2000 , expiration, C'0,128,255' ); Alert ( "OP_SELLSTOP" , GetLastError ( )); } //---- return ( 0 ); } //+------------------------------------------------------------------+ pusheax 2011.05.24 15:59 #4045 ilunga : 글쎄, "즉시"옵션이 작동했습니다. 네, 그렇게 작동합니다. 고맙습니다! Dimka-novitsek 2011.05.24 16:05 #4046 휴!! 만세!! 일어난!!! 괜찮은!! AlexTan 2011.05.24 17:23 #4047 안녕하세요. 그런 문제, 내가 쓴 어드바이저가 일정 시간이 지나면 멈춘다? 제거되면 시간 초과로 종료를 씁니다. '종소리' 없는 고문의 이유는? //+------------------------------------------------------------------+ //| RSITest.mq4 | //| Copyright © 2011, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return ( 0 ); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return ( 0 ); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { int deal, cnt; double TotalProfit; //---- // Проверяем, сободен ли торговый поток if (!IsTradeAllowed()) { return ( 0 ); } if ( OrdersTotal () == 0 ) { while (true) { //*********************************** Открываем Buy ордер *********************************** if ( iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 0 ) > iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 1 )) { if ( iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 0 ) > 60 && iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 1 ) < 60 ) { deal = OrderSend ( Symbol (),OP_BUY, 0.1 ,Ask, 0 ,iLow( NULL , 0 , 0 )- 20 * Point , 0 , "Long EUR/USD" , 0 , 0 , CLR_NONE ); if (deal > 0 ) Print ( "Long" ); else Print ( GetLastError ()); return ( 0 ); } } //*********************************** Открываем Sell ордер ********************************** if ( iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 0 ) < iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 1 )) { if ( iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 0 ) < 40 && iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 1 ) > 40 ) { deal = OrderSend ( Symbol (),OP_SELL, 0.1 ,Bid, 0 ,iHigh( NULL , 0 , 0 )+ 20 * Point , 0 , "Short EUR/USD" , 0 , 0 , CLR_NONE ); if (deal > 0 ) Print ( "Short" ); else Print ( GetLastError ()); return ( 0 ); } } } } //else //if //{ for (cnt= 0 ;cnt< OrdersTotal ();cnt++) { if ( OrderSelect (cnt, SELECT_BY_POS)==true) { TotalProfit += OrderProfit(); if (TotalProfit>= 2 || iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 0 )< iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 1 )) { if (OrderType()== OP_BUY) { // Закрываем и отдыхаем 15 минут OrderClose(OrderTicket(),OrderLots(),Bid, 0 , CLR_NONE ); // Sleep(900000); return ( 0 ); } } if (TotalProfit>= 2 || iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 0 )> iRSI ( NULL , 0 , 14 , PRICE_CLOSE , 1 )) { if (OrderType()== OP_SELL) { // Закрываем и отдыхаем 15 минут OrderClose(OrderTicket(),OrderLots(),Ask, 0 , CLR_NONE ); // Sleep(900000); return ( 0 ); } } } } //} //---- return ( 0 ); } //+------------------------------------------------------------------+ Alexander 2011.05.24 19:02 #4048 while 루프를 제거하십시오. 여기서는 중복됩니다. AlexTan 2011.05.24 19:11 #4049 정말 감사합니다. 또 다른 질문은 15분이 소요됩니다. 시간 프레임, 18-38-55에 주문이 마감되었다고 가정해 봅시다. 어드바이저가 18-45-00까지 작동하지 않도록 하는 방법, 즉 다음 막대로 ?? Alexander 2011.05.24 19:42 #4050 https://www.mql5.com/ru/forum/133552 스레드를 보고 귀하의 경우에만 Timebar 변수가 구현되는 방법을 자세히 살펴보십시오(일부 수정 포함). 1...398399400401402403404405406407408409410411412...537 새 코멘트
문자열 StringConcatenate (..)를 시도하십시오.
알겠습니다, 지금 바로 하겠습니다.
또한 조건이 작동하지 않습니다
"작동하지 않음"이 아니라 X와 같은 이유로 도달하지 않습니다.
이것은 Alert 에서 i의 신호가 없다는 사실에서 분명히 알 수 있습니다.
"작동하지 않음"이 아니라 X와 같은 이유로 도달하지 않습니다.
이것은 Alert에서 i의 신호가 없다는 사실에서 분명히 알 수 있습니다.
네 바로..
글쎄, "즉시"옵션이 작동했습니다.
안녕하세요. 그런 문제, 내가 쓴 어드바이저가 일정 시간이 지나면 멈춘다? 제거되면 시간 초과로 종료를 씁니다. '종소리' 없는 고문의 이유는?