나는 무료 mql4 고문을 작성할 것입니다 - 페이지 7

 
안녕하세요, 저는 아이디어가 있습니다. 여기에 개인적으로 말할 수 있고 가능한 한 편리하게 적어둘 수 있습니다.
 
안녕하세요, Expert Advisor를 개선하는 데 도움을 주시겠습니까?
 
Andrey Luxe :

이 분야에서 경험을 쌓기 위해 당신의 흥미로운 아이디어와 전략에 대해 25명의 조언자를 무료로 쓸 것입니다.

19명의 고문이 남음

나는 그러한 문제가 있습니다. 어드바이저가 이미 존재하고 잘 작동합니다. 문제는 후행 정지 블록에 있습니다. 어떤 이유로 작동하지 않아 경매에 부쳐지지 않습니다. 여기 고문이 있습니다. 후행에 대한 아이디어가 있습니까? 그리고 어떻게 든 그것 없이는 코트가 아닙니다.

이시모쿠 - MACD.mq4 |

//| 까지 |

//| http://www.forex-tradexperts-to.narod.ru |

//+----------------------------------------------- --------------------+

#재산권 "TO"

#속성 링크 "http://www.forex-tradexperts-to.narod.ru"

#include <WinUser32.mqh>


extern string Parameters="이치모쿠";

extern int tenkan_sen=3;

extern int kijun_sen=48;

외부 int senkou_span_b=52;

extern string Parameters="이동 평균";

extern int MapPeriod=4;

외부 int ma_method=1;

외부 정수 적용_가격=3;

외부 문자열 매개변수=" MACD";

외부 int FastEMA=22;

extern int SlowEMA=52;

외부 정수 SignalEMA=9;

extern string Parameters="전문가 고문";

외부 정수 TP=200;

외부 int SL=500;

extern int 미끄러짐 = 3;

외부 이중 로트=0.1;

extern bool Addition1/*(TENKANSEN rev. KIJUNSEN)*/ =true;

extern bool Add2/*(TENKANSEN rem Ma)*/=true;

extern 부울 후행 = true;

extern 이중 trailingStop=200;

extern int zashita=1;


부울 구매1=거짓,구매2=거짓,구매3=거짓,구매4=거짓;

부울 판매1=거짓,판매2=거짓,판매3=거짓,판매4=거짓,판매22=거짓,구매22=거짓;

정수 티켓 = 0;

정수 나;

날짜 시간 t1=0,t2=1,t3=1,t4=1,t5=1,t7=1,t8=1;

정수 초기화()

{

리턴(0);

}

정수 초기화()

{

리턴(0);

}


정수 시작()

{

t1=시간[0];


이중 MACDRED1=iMACD(NULL,0,FastEMA,SlowEMA,SignalEMA,PRICE_CLOSE,MODE_MAIN,1);

이중 MACDRED2=iMACD(NULL,0,FastEMA,SlowEMA,SignalEMA,PRICE_CLOSE,MODE_MAIN,2);

이중 MACDBLUE1=iMACD(NULL,0,FastEMA,SlowEMA,SignalEMA,PRICE_CLOSE,MODE_SIGNAL,1);

이중 MACDBLUE2=iMACD(NULL,0,FastEMA,SlowEMA,SignalEMA,PRICE_CLOSE,MODE_SIGNAL,2);

이중 IshRed1=iIchimoku(NULL,0,tenkan_sen,kijun_sen,senkou_span_b,MODE_TENKANSEN,1);

이중 IshRed2=iIchimoku(NULL,0,tenkan_sen,kijun_sen,senkou_span_b,MODE_TENKANSEN,2);

이중 IshBlue1=iIchimoku(NULL,0,tenkan_sen,kijun_sen,senkou_span_b,MODE_KIJUNSEN,1);

더블 IshBlue2=iIchimoku(NULL,0,tenkan_sen,kijun_sen,senkou_span_b,MODE_KIJUNSEN,2);

이중 MA1=iMA(NULL,0,MaPeriod,0,ma_method,적용_가격,1);

이중 MA2=iMA(NULL,0,MaPeriod,0,ma_method,적용_가격,2);

if(MACDRED1>MACDBLUE1 && MACDRED2<MACDBLUE2 && t3!=t1)

{ // MACD BUY 신호

buy1=true;sell1=false;t3=시간[0];

}

if(MACDRED1<MACDBLUE1 && MACDRED2>MACDBLUE2 && t3!=t1)

{ // MACD 매도 신호

Sell1=true;buy1=false;t3=시간[0];

}

if(IshRed1>MA1 && IshRed2<=MA2 && t4!=t1)

{ // Ichimoku Fast에 대한 신호가 BUY에서 MA를 교차

buy2=true;sell2=false;t4=시간[0];

}

if(IshRed1<MA1 && IshRed2>=MA2 && t4!=t1)

{ // Ichimoku Fast에 대한 신호는 SELL에서 MA를 교차합니다.

판매2=참;구매2=거짓;t4=시간[0];

}

if(IshRed1>IshBlue1 && IshRed2<IshBlue2 && t5!=t1)

{ // Ichimoku에 신호가 빠르면 BUY에 느리게 교차합니다.

buy3=true;sell3=false;t5=시간[0];

}

if(IshRed1<IshBlue1 && IshRed2>IshBlue2 && t5!=t1)

{ // Ichimoku에 대한 신호 Fast는 SELL로 느리게 교차합니다.

Sell3=true;buy3=false;t5=시간[0];

}

if(Add1==true && buy3==true && buy4==true && t1!=t8)

{ //추가 열기

PlaySound("Alert.wav");

int ret=MessageBox("구매 주문을 추가하시겠습니까?","Question",MB_YESNO|MB_ICONQUESTION);

if(ret==6){ticket=OrderSend(Symbol(),OP_BUY,lot,Ask,slippage,Bid-SL*Point,Ask+TP*Point,NULL,0,0,Blue);if(ticket>0 )PlaySound("ok.wav");if(ticket<0)Alert("주문이 설정되지 않았습니다!!! 오류 - "+GetLastError()+"수동으로 설정");}

t8=시간[0];구매3=거짓;구매4=거짓;

}

if(추가1==참 && 판매3==참 && 판매4==참 && t1!=t7)

{ //추가 열기

PlaySound("Alert.wav");

int ret2=MessageBox("판매 주문을 추가하시겠습니까?","질문",MB_YESNO|MB_ICONQUESTION);

if(ret2==6){ticket=OrderSend(Symbol(),OP_SELL,lot,Bid,slippage,Ask-SL*Point,Bid+TP*Point,NULL,0,0,Red);if(ticket>0 )PlaySound("ok.wav");if(ticket<0)Alert("주문이 설정되지 않았습니다!!! 오류 - "+GetLastError()+"수동으로 설정");}

t7=시간[0];sell3=거짓;sell4=거짓;

}

for(i=OrdersTotal()-1;i>=0;i--)

{

주문 선택(i,SELECT_BY_POS,MODE_TRADES);

if(주문유형()==OP_BUY)

{

구매1=거짓;구매2=거짓;구매22=참;

부서지다;

}

}

if(Add2==true && buy22 && IshRed1>MA1 && IshRed2<=MA2 && t4!=t1)

{ // Ma 및 Tenkan_sen이 구매에 추가

PlaySound("Alert.wav");

int ret3=MessageBox("구매 주문을 추가하시겠습니까?","질문",MB_YESNO|MB_ICONQUESTION);

if(ret3==6){ticket=OrderSend(Symbol(),OP_BUY,lot,Ask,slippage,Bid-SL*Point,Ask+TP*Point,NULL,0,0,Blue);if(ticket>0 )PlaySound("ok.wav");if(ticket<0)Alert("주문이 설정되지 않았습니다!!! 오류 - "+GetLastError()+"수동으로 설정");}

t4=시간[0];구매22=거짓;

}

if(Add2==true && Sell22 && IshRed1<MA1 && IshRed2>=MA2 && t4!=t1)

{ // 판매 시 Ma 및 Tenkan_sen 추가

PlaySound("Alert.wav");

int ret4=MessageBox("판매 주문을 추가하시겠습니까?","질문",MB_YESNO|MB_ICONQUESTION);

if(ret4==6){ticket=OrderSend(Symbol(),OP_SELL,lot,Bid,slippage,Ask-SL*Point,Bid+TP*Point,NULL,0,0,Red);if(ticket>0 )PlaySound("ok.wav");if(ticket<0)Alert("주문이 설정되지 않았습니다!!! 오류 - "+GetLastError()+"수동으로 설정");}

t4=시간[0];sell22=거짓;

}

if(구매1==참 && 구매2==참 && t1!=t2)

{ //초기 주문 열기

for(i=OrdersTotal()-1;i>=0;i--)

{

주문 선택(i,SELECT_BY_POS,MODE_TRADES);

if(OrderType()==OP_SELL)OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Gold);

}

PlaySound("Alert.wav");

ticket=OrderSend(Symbol(),OP_BUY,lot,Ask,slippage,Bid-SL*Point,Ask+TP*Point,NULL,0,0,Blue);

if(티켓>0)PlaySound("ok.wav");

if(ticket<0)Alert("주문이 완료되지 않았습니다!!! 오류 - "+GetLastError()+"수동으로 주문하세요");

t2=시간[0];구매1=거짓;구매2=거짓;구매4=참;

}

for(i=OrdersTotal()-1;i>=0;i--)

{

주문 선택(i,SELECT_BY_POS,MODE_TRADES);

if(주문 유형()==OP_SELL)

{

Sell1=거짓;sell2=거짓;sell22=참;

부서지다;

}

}

if(판매1==참 && 판매2==참 && t1!=t2)

{ //초기 주문 열기

for(i=OrdersTotal()-1;i>=0;i--)

{

주문 선택(i,SELECT_BY_POS,MODE_TRADES);

if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Gold);

}

PlaySound("Alert.wav");

ticket=OrderSend(Symbol(),OP_SELL,lot,Bid,slippage,Ask+SL*Point,Bid-TP*Point,NULL,0,0,Red);

if(티켓>0)PlaySound("ok.wav");

if(ticket<0)Alert("주문이 완료되지 않았습니다!!! 오류 - "+GetLastError()+"수동으로 주문하세요");

t2=시간[0];sell1=false;sell2=false;sell4=true;buy22=false;

}

//후행 정지

이중 SL, TP, 공개 가격, 이익;

int ticketOrder,zamok,유형;

문자열 통신;

for(i=OrdersTotal();i>=0;i--)

{

주문 선택(i, SELECT_BY_POS, MODE_TRADES);

if(trailing==true && OrderProfit()/MarketInfo(Symbol(),MODE_TICKVALUE)>0 && MathFloor(OrderProfit()/MarketInfo(Symbol(),MODE_TICKVALUE)/trailingStop)!=0 && (OrderProfit()/MarketInfo( Symbol(),MODE_TICKVALUE))>=trailingStop*MathFloor(OrderProfit()/MarketInfo(Symbol(),MODE_TICKVALUE)/trailingStop))

{

if(OrderType()==0){SL=Bid-trailingStop*Point;if(SL==OrderOpenPrice())SL+=zashita*Point;}

if(OrderType()==1){SL=Ask+trailingStop*Point;if(SL==OrderOpenPrice())SL-=zashita*Point;}

TP=OrderTakeProfit();

if(OrderType()==0)if(SL>=OrderStopLoss()+trailingStop*Point)OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0);

if(OrderType()==1)if(SL<=OrderStopLoss()-trailingStop*Point)OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0);

}

}

반환(0);

}

 

나는 모든 것에 대답하지 않을 것이지만 이것은 확실히 잼입니다.

for (i= OrdersTotal ();i>= 0 ;i--)

마지막 주문은 OrdersTotal()-1 주문입니다.

 
안녕하세요, Ichimoku 및 MACD용으로 미리 만들어진 Expert Advisor를 이해하는 데 도움을 주십시오. EA는 작동하지만 어떤 이유로 조건이 발생할 때 후행 정지를 설정하지 않습니다. MQL4에 강하지 않아서 무엇을 바꿔야 할지 감이 잡히지 않습니다. 후행 정지 블록에 오류가 있을 가능성이 높습니다. 미리 감사드립니다. 이 기능이 없으면 거래에 상당한 단점이 됩니다.
파일:
 

multiadvisor 무료로 작성/추가할 수 있습니까?

공백이 있습니다.

 

안녕하세요, 여러분과 관련하여 어드바이저에 T/P 및 Magic_Number 등록을 도와줄 사람을 묻습니다. 충실히, 티모시.

 

안녕하세요

그런 조각을 어떻게 쓰겠습니까?

이중; // //

더블 b; // a와 b는 숫자, 표시기 판독값 , 500초당 틱 수 등 절대적으로 모든 값을 사용할 수 있습니다.

더블X; // 편차 값 +-X

만약

(a+x 및 ax) 값 필드에 해당(b+x 및 bx)

{행동}

또 다른

{반환 0}

 
trader781 :

안녕하세요

그런 조각을 어떻게 쓰겠습니까?

이중; //

더블 b; // a와 b는 숫자, 표시기 판독값, 500초당 틱 수 등 절대적으로 모든 값을 사용할 수 있습니다.

더블X; // 편차 값 +-X

만약

(a+x 및 ax) 값 필드에 해당(b+x 및 bx)

{행동}

또 다른

{반환 0}

x가 모든 경우에 동일한 값이면 본질적으로 두 숫자와 b를 비교하는 것입니다. 여기 인터벌 안타에 대한 이야기는 없습니다.

예를 들어, a = 10, b = 11이라고 합시다. 즉, 12에서 8까지의 간격이 13에서 9까지의 간격 내에 포함되기를 원하십니까?

 
Alexey Kozitsyn :

x가 모든 경우에 동일한 값이면 본질적으로 두 숫자와 b를 비교하는 것입니다. 여기 인터벌 안타에 대한 이야기는 없습니다.

예를 들어, a = 10, b = 11이라고 합시다. 즉, 12에서 8까지의 간격이 13에서 9까지의 간격 내에 포함되기를 원하십니까?

모든 것은 맞다