누가 로봇을 도울 수 있습니까? 로봇이 작동하지 않는 이유는 무엇입니까? - 페이지 2

 
Alexey Volchanskiy :

언어 규칙에 따라 기본값이 있는 매개변수를 삼킬 수 없습니다. 화살표의 색상을 설정해야 하는 경우 모든 매개변수를 색상 왼쪽에 씁니다. B 미끄러짐 3은 충분하지 않습니다. 5 자리이면 따옴표가있을 것입니다. 50을 썼습니다. 그리고 SL과 TP의 값은 0이 아닌 값으로 설정해야합니다. Aleksey Vakhrushev 는 이미 여기에 대해 썼습니다. .


실수:

'OrderSend'의 반환 값을 확인해야 합니다.
 
GIM :

실수:

'OrderSend'의 반환 값을 확인해야 합니다.
이것은 단지 경고일 뿐입니다. 파일이 컴파일됩니다.
 

좋은 오후, 도와주세요 어드바이저는 판매용으로만 열립니다.


외부 이중 로트=0.1;
extern int FastMAPeriod=14;
extern int FastMAMethod=0; // 0-SMA, 1-EMA, 2-SMMA, 4-LWMA
extern int FastMAPrice=0; // 0-종가, 1-시가, 2-고가, 3-저, 4-중앙값, 5-일반, 6-가중
extern int SlowMAPeriod=42;
extern int SlowMAMethod=0; // 0-SMA, 1-EMA, 2-SMMA, 4-LWMA
extern int SlowMAPrice=0; // 0-종가, 1-시가, 2-고가, 3-저, 4-중앙값, 5-일반, 6-가중
외부 정수 TP=0; // 이익을 취하다
외부 정수 SL=0; //스톱로스

int BuyTicket,SellTicket;



정수 시작(){

더블 fast_ma1=iMA(NULL,0,FastMAPeriod,0,FastMAMethod,FastMAPrice,1);
이중 slow_ma1=iMA(NULL,0,SlowMAPeriod,0,SlowMAMethod,SlowMAPrice,1);
더블 fast_ma2=iMA(NULL,0,FastMAPeriod,0,FastMAMethod,FastMAPrice,2);
이중 slow_ma2=iMA(NULL,0,SlowMAPeriod,0,SlowMAMethod,SlowMAPrice,2);


if(fast_ma1>slow_ma1 && !(fast_ma2>slow_ma2)){
if(SellTicket!=0){ //SellTicket이 0과 같지 않으면 True ;

SellTicket=0;
}
if(BuyTicket==0){ //// BuyTicket이 0이면 True ;
BuyTicket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,SL=Ask-SL*Point,Ask+TP*Point,NULL,0,0, CLR_NONE );
}
}
if(fast_ma1<slow_ma1 && !(fast_ma2<slow_ma2)){
if(BuyTicket!=0){ //BuyTicket이 0이 아니면 True ;
티켓 구매 = 0;
}
if(SellTicket==0){ // SellTicket이 0이면 참
SellTicket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid-SL*Point,Bid+TP*Point,NULL,0,0,CLR_NONE);
}
}

리턴(0);
}

 
Alexey Kozitsyn :
이것은 단지 경고일 뿐입니다. 파일이 컴파일됩니다.
글쎄, 여전히 거래가 열리지 않을 것입니다 ...
 
GIM :
글쎄, 여전히 거래가 열리지 않을 것입니다 ...
글쎄, 분명히 그것은 운명이 아닙니다 ... 아마도 잡지를 조사하여 그가 쓰는 것을 볼 가치가 있지만 ... 글쎄, 이것은 옵션으로 그렇습니다.
 
Alexey Kozitsyn :
글쎄, 분명히 그것은 운명이 아닙니다 ... 아마도 잡지를 조사하여 그가 쓰는 것을 볼 가치가 있지만 ... 글쎄, 이것은 옵션으로 그렇습니다.
고맙습니다! 계속 노력하겠습니다))
 
AdikAmir :

좋은 오후, 도와주세요. 어드바이저는 판매용으로만 열립니다.


외부 이중 로트=0.1;
extern int FastMAPeriod=14;
extern int FastMAMethod=0; // 0-SMA, 1-EMA, 2-SMMA, 4-LWMA
extern int FastMAPrice=0; // 0-종가, 1-시가, 2-고가, 3-저, 4-중앙값, 5-일반, 6-가중
extern int SlowMAPeriod=42;
extern int SlowMAMethod=0; // 0-SMA, 1-EMA, 2-SMMA, 4-LWMA
extern int SlowMAPrice=0; // 0-종가, 1-시가, 2-고가, 3-저, 4-중앙값, 5-일반, 6-가중
외부 정수 TP=0; // 이익을 취하다
외부 정수 SL=0; //스톱로스

int BuyTicket,SellTicket;



정수 시작(){

더블 fast_ma1=iMA(NULL,0,FastMAPeriod,0,FastMAMethod,FastMAPrice,1);
이중 slow_ma1=iMA(NULL,0,SlowMAPeriod,0,SlowMAMethod,SlowMAPrice,1);
더블 fast_ma2=iMA(NULL,0,FastMAPeriod,0,FastMAMethod,FastMAPrice,2);
이중 slow_ma2=iMA(NULL,0,SlowMAPeriod,0,SlowMAMethod,SlowMAPrice,2);


if(fast_ma1>slow_ma1 && !(fast_ma2>slow_ma2)){
if(SellTicket!=0){ //SellTicket이 0이 아니면 True ;

티켓 판매 = 0;
}
if(BuyTicket==0){ //// BuyTicket이 0이면 True ;
BuyTicket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,SL=Ask-SL*Point,Ask+TP*Point,NULL,0,0, CLR_NONE );
}
}
if(fast_ma1<slow_ma1 && !(fast_ma2<slow_ma2)){
if(BuyTicket!=0){ //BuyTicket이 0이 아니면 True ;
티켓 구매 = 0;
}
if(SellTicket==0){ // SellTicket이 0이면 참
SellTicket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid-SL*Point,Bid+TP*Point,NULL,0,0,CLR_NONE);
}
}

리턴(0);
}

한 번도 본 적 없는 이상한 코드.

BuyTicket 및 SellTicket 변수는 새 틱이 도착할 때마다 0이 되거나 초기화되지 않았기 때문에 무엇인지 명확하지 않습니다.

if(fast_ma1>slow_ma1 && !(fast_ma2>slow_ma2)) 구성은 인간의 언어로 번역될 때 전혀 명확하지 않습니다. 이 조건은 다음과 같습니다.

fast_ma1이 slow_ma1보다 크고 fast_ma2가 slow_ma2보다 크지 않은 경우. 운영자! 부정을 의미하지 않으면 다음과 같이 작성할 수 있습니다. if(fast_ma1>slow_ma1 && (fast_ma2<slow_ma2))

fast_ma1>slow_ma1 = true(true) 및 fast_ma2>slow_ma2 = false(false) 표현식일 때 조건이 충족됩니다.

....
if ( OrdersTotal ()== 0 )
{
   if (условие на покупку)
  {
    ticet = OrderSend ( Symbol (),OP_BUY,.....);
     if (ticet== 0 ) Print ( "ERROR" );
  }
   if (условие на продажу)
  {
    ticet = OrderSend ( Symbol (),OP_SELL,.....);    
     if (ticet== 0 ) Print ( "ERROR" );
  }

}
//Простейший код для примера.
 
Vitalii Ananev :

한 번도 본 적 없는 이상한 코드.

BuyTicket 및 SellTicket 변수는 새 틱이 도착할 때마다 0이 되거나 초기화되지 않았기 때문에 무엇인지 명확하지 않습니다.

if(fast_ma1>slow_ma1 && !(fast_ma2>slow_ma2)) 구성은 인간의 언어로 번역될 때 전혀 명확하지 않습니다. 이 조건은 다음과 같습니다.

fast_ma1이 slow_ma1보다 크고 fast_ma2가 slow_ma2보다 크지 않은 경우. 운영자! 부정을 의미하지 않으면 다음과 같이 작성할 수 있습니다. if(fast_ma1>slow_ma1 && (fast_ma2<slow_ma2))

fast_ma1>slow_ma1 = true(true) 및 fast_ma2>slow_ma2 = false(false) 표현식일 때 조건이 충족됩니다.

어쨌든 귀하의 코드를 입력했는데 Sell의 포지션은 열리지 않습니다.
 
AdikAmir :
어쨌든 귀하의 코드를 입력했는데 Sell의 포지션은 열리지 않습니다.

외부 이중 로트=0.1;
extern int FastMAPeriod=5;
extern int FastMAMethod=0; // 0-SMA, 1-EMA, 2-SMMA, 4-LWMA
extern int FastMAPrice=0; // 0-종가, 1-시가, 2-고가, 3-저, 4-중앙값, 5-일반, 6-가중
extern int SlowMAPeriod=75;
extern int SlowMAMethod=3; // 0-SMA, 1-EMA, 2-SMMA, 4-LWMA
extern int SlowMAPrice=3; // 0-종가, 1-시가, 2-고가, 3-저, 4-중앙값, 5-일반, 6-가중
외부 정수 TP=500; // 이익을 취하다
외부 int SL=250; //스톱로스
이중 티켓;

정수 시작(){

더블 fast_ma1=iMA(NULL,0,FastMAPeriod,0,FastMAMethod,FastMAPrice,1);
이중 slow_ma1=iMA(NULL,0,SlowMAPeriod,0,SlowMAMethod,SlowMAPrice,1);
더블 fast_ma2=iMA(NULL,0,FastMAPeriod,0,FastMAMethod,FastMAPrice,2);
이중 slow_ma2=iMA(NULL,0,SlowMAPeriod,0,SlowMAMethod,SlowMAPrice,2);

if (OrdersTotal()==0)
{
if (fast_ma1>slow_ma1 && (fast_ma2<slow_ma2))
{ 티켓 = OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-SL*Point,Ask+TP*Point,NULL,0,0, CLR_NONE );
if (티켓==0) Print("오류");
}
if (slow_ma1>fast_ma1 && (slow_ma2<fast_ma2))
{
티켓 = OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid-SL*Point,Bid+TP*Point,NULL,0,0,CLR_NONE);
if (티켓==0) Print("오류");
}

}

반환(0);
}




 
SL / TP를 계산할 때 기호를 변경해야 함
ticet = OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*Point,Bid-TP*Point,NULL,0,0, CLR_NONE );