[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 404

 
Dimka-novitsek :
반복할 수 없으며 X와 Y는 항상 0입니다.

우선, 생각의 쓰레기를 청소하십시오.

코드를 멋지고 구조화하십시오.

댓글에 욕심내지 마세요.

 

물론이지.

먼저 이 통화 쌍에서 필요한 매직 번호가 있는 주문을 선택합니다. if( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol()) {

또한 숫자와 쌍이 동일하면 for( i=OrdersTotal();i==0;i--) 루프에서 다음과 같이 OrderSelect(i,SELECT_BY_POS ); 그런 다음 OP_SELLSTOP과 같은 주문을 계산합니다.

주문이 없으면 존재하지 않는 유형의 주문을 엽니다. 위쪽 루프의 변수 X와 아래쪽 루프의 Y는 필요한 유형의 주문 수입니다. 두 사이클 모두 구조와 목적이 동일합니다.

이미 설명과 함께 썼는데 아빠가 와서 전화를 해서 우유와 차, 할바를 가져왔는데 문자도 안주고 오줌싸고 아빠가 안보내는 문자 지웠어 뭐, 다른글로 써주실수있나요? 검색 엔진 창 ?? 그리고 저도 쐐기풀이 뭔지 궁금해서 조금 멍하니 설명도 없이 그냥 보냈습니다.

따라서 X b Y는 항상 0과 같습니다. 아마도 for 루프가 작동하지 않을 것입니다. 요컨대, 나는 거기에서 작동하지 않는 것이 무엇인지 전혀 이해하지 못합니다. 이 때문에 각 틱마다 2개의 주문이 열립니다.

 
Dimka-novitsek :

물론이지.

먼저 이 통화 쌍에서 필요한 매직 번호가 있는 주문을 선택합니다. if( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol()) {

또한 숫자와 쌍이 동일하면 for( i=OrdersTotal();i==0;i--) 루프에서 다음과 같이 OrderSelect(i,SELECT_BY_POS ); 그런 다음 OP_SELLSTOP과 같은 주문을 계산합니다.

주문이 없으면 존재하지 않는 유형의 주문을 엽니다. 위쪽 루프의 변수 X와 아래쪽 루프의 Y는 필요한 유형의 주문 수입니다. 두 사이클 모두 구조와 목적이 동일합니다.

이미 설명과 함께 썼는데 아빠가 와서 전화를 해서 우유와 차, 할바를 가져왔는데 문자도 안주고 오줌싸고 아빠가 안보내는 문자 지웠어 뭐, 다른글로 써주실수있나요? 검색 엔진 창 ?? 그리고 저도 쐐기풀이 뭔지 궁금해서 조금 멍하니 설명도 없이 그냥 보냈습니다.

따라서 X b Y는 항상 0과 같습니다. 아마도 for 루프가 작동하지 않을 것입니다. 요컨대, 나는 거기에서 작동하지 않을 수 있는 것을 전혀 이해하지 못합니다. 이 때문에 각 틱에 2개의 주문이 열립니다.


절대적으로 맞습니다. for 루프는 원하는 작업을 수행하지 않습니다.

당신은 작성했습니다: for( i=OrdersTotal();i==0;i--)

1) 주문이 0개이면 루프가 1번 실행됩니다. 동시에 그는 누가 무엇을 알고 누가 무엇을 할 것인지 선택할 것입니다 =)

2) 0개 이상의 주문이 있는 경우 "i==0" 조건이 충족되지 않으므로 루프가 전혀 시작되지 않습니다.

 
감사해요!! 지금도 설명서를 읽고 있어요!
 
예! 감사해요!!
 
알다시피 D는 마음에 가져올 수 없으며 모든 것이 동일합니다.
 //+------------------------------------------------------------------+
//|                                                    для лавин.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 ());

if (OrderSymbol()== Symbol ()&&OrderMagicNumber( )== 1000 ){
 for ( int i= OrdersTotal ();i> 0 ;i--){ Alert ( "i" , i);
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 ( )); }
   
if ( OrderMagicNumber( )== 2000 &&OrderSymbol()== Symbol ()) { 
 for ( i= OrdersTotal ();i> 0 ;i--){ Alert ( "i" , i); OrderSelect (i,SELECT_BY_POS );
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 );
  }
//+-------------------------------------------
도움말 말한다

Expression2 - 루프 종료 조건을 확인합니다. true이면 for 루프 본문 문이 실행됩니다.

등. 나는 모든 것을 고쳤고 아무 것도 변경되지 않았습니다. 또한 i=OrdersTotal() 대신 i=5를 입력하려고 시도했지만 아무 것도 변경되지 않았으며 루프가 작동하지 않습니다.
 
Dimka-novitsek :
도움말 말한다

Expression2 - 루프 종료 조건을 확인합니다. true이면 for 루프 본문 문이 실행됩니다.

등. 나는 모든 것을 고쳤고 아무 것도 변경되지 않았습니다. 또한 i=OrdersTotal() 대신 i=5를 입력하려고 시도했지만 아무 것도 변경되지 않았으며 루프가 작동하지 않습니다.

맞아, 주기가 닿지 않아

 if (OrderSymbol()== Symbol ()&&OrderMagicNumber( )== 1000 ){
 for ( int i= OrdersTotal ();i> 0 ;i--){ Alert ( "i" , i);

당신은 다음과 같이 썼습니다 : "만약 주문의 상징 (어떤 주문? 그들 중 많은 수가 ... 또는 전혀 없음)이 현재의 상징과 같고 그 마법 (누군가의)이 1000과 같으면 시작하십시오. 주기"

그러나 그것은 필요합니다 : "주기를 실행하십시오. 그 안에 : 1) 순서를 선택하십시오 . 2) 기호 = .. 및 마술 = 1000이면 X ++;"

 

실제 계정 의 일부 DC는 "."와 같은 모든 종류의 접두사를 기호 이름에 할당합니다. 또는 "FXF".

이 접두사를 어떻게 대체할 수 있습니까?

나는 이것을 좋아했다:

#define DEF_SPEC "FXF"

string SymbolsTrade[] = {"AUDCAD"DEF_SPEC ... - 작동하지 않음

string SymbolsTrade[] = {"AUDCAD"+DEF_SPEC ... - 그것도 작동하지 않습니다

결과적으로 원하는 AUDCADFXF 대신 FXF만 얻습니다.

구현 방법을 알려주지 않습니까?
 
pusheax :

실제 계정 의 일부 DC는 "."와 같은 모든 종류의 접두사를 기호 이름에 할당합니다. 또는 "FXF".

이 접두사를 어떻게 대체할 수 있습니까?

나는 이것을 좋아했다:

#define DEF_SPEC "FXF"

string SymbolsTrade[] = {"AUDCAD"DEF_SPEC ... - 작동하지 않음

string SymbolsTrade[] = {"AUDCAD"+DEF_SPEC ... - 그것도 작동하지 않습니다

결과적으로 원하는 AUDCADFXF 대신 FXF만 얻습니다.

구현 방법을 알려주지 않습니까?

글쎄, "즉시"옵션이 작동했습니다.

 #define DEF_SPEC "FXF"
string SymbolsTrade[] = { "AUDCAD" , "EURUSD" };

int init()
{
   for ( int i = 0 ; i < ArraySize (SymbolsTrade); i++)
      SymbolsTrade[i] = SymbolsTrade[i] + DEF_SPEC;
 

알겠습니다, 지금 바로 하겠습니다.

또한 조건이 작동하지 않습니다

 OrderSelect (i,SELECT_BY_POS );
if (OrderType( ) ==OP_SELLSTOP) { Y++;} Alert ( "Y" , Y);}
사유: