유니버설 MA 크로스 EA - 페이지 64

 

안녕하세요, 누군가 이 Ea에 손익분기점 코드를 추가해 주시겠습니까?

가격 이동 x 핍은 플러스 x 핍을 손익분기점으로 이동합니다. 시도했지만 여러 오류가 계속 발생합니다. https://www.mql5.com/en/forum

도움을 주셔서 미리 감사드립니다.

파일:
 

이것이 당신이 찾고있는 것입니까?

Mjack59_59@yahoo.com:
안녕하세요, 누군가 이 Ea에 손익분기점 코드를 추가해 주시겠습니까?

가격 이동 x 핍은 플러스 x 핍을 손익분기점으로 이동합니다. 시도했지만 여러 오류가 계속 발생합니다. https://www.mql5.com/en/forum

도움을 주셔서 미리 감사드립니다.

정확히 당신이 원하는 것이 아닙니다. 당신이 의미하는 바가 명확하지 않기 때문에 추측합니다... 하지만 이것부터 시작해서 알려주세요...

sn

 

5자리 브로커 보스에게는 작동하지 않았나요?

firedave:
나는 모든 이동 평균 교차 전략에 대해 EA를 만들려고 노력하고 보편적으로 만들려고 노력합니다. 따라서 이 EA에 추가할 제안 사항이 있으면 알려주십시오.

공통 설정:

------------------

손절매(기본값 100)

손절매를 설정합니다. 손절매를 사용하지 않으려면 0(영)을 사용하십시오(권장하지 않음).

TakeProfit(기본값 200)

이익실현을 설정하십시오. 열린 대상을 사용하려면 0(영)을 사용하십시오.

후행 정지 설정:

----------------------

버전 6 TrailingStopType(기본값 1)

후행 정지 유형을 설정합니다. 1: 핍의 이익이 TrailingStop과 더 크거나 같으면 후행을 시작합니다. 2: 이익이 거래되는 즉시 추적을 시작합니다. (제안된 경우 다른 유형의 후행 중지를 추가합니다. 최신 제안은 SafeZone 후행 중지 게시물 #99 https://www.mql5.com/en/forum/general )

TrailingStop(기본값 40)

후행 정지를 설정합니다. 후행 정지 기능을 사용하지 않는 경우 0(영)을 사용하십시오.

이동 평균 설정:

------------------------

FastMAP 기간(기본값 10)

빠른 이동 평균 기간.

FastMAType(기본 EMA / 1)

빠른 이동 평균 유형 0:SMA 1:EMA 2:SMMA 3:LWMA

FastMAPrice(기본값 닫기 / 0)

빠른 이동 평균 적용 가격 0:종가 1:시가 2:높은 3:낮은 4:중간 5:일반 6:가중

ver.7.2 FastMAshift(기본값 0)

빠른 이동 평균 이동

SlowMAP 기간(기본값 80)

느린 이동 평균 기간.

SlowMAType(기본 EMA / 1)

느린 이동 평균 유형 0:SMA 1:EMA 2:SMMA 3:LWMA

SlowMAPrice(기본값 닫기 / 0)

느린 이동 평균 적용 가격 0:종가 1:시가 2:높은 3:낮은 4:중간 5:일반 6:가중

ver.7.2 FastMAshift(기본값 0)

느린 이동 평균 이동

최소 교차 거리:

------------------------

버전 2 MinCrossDistance(기본값 0)

FastMA와 SlowMA 사이의 pip 거리를 유효한 교차로 간주하도록 설정합니다. 이 필터를 비활성화하려면 0(영)을 사용하십시오.

ver.7 MaxLookUp(기본값 1)

FastMA와 SlowMA 사이의 최소 거리와 관련하여 진입 조건을 계속 확인하기 위해 십자가 뒤의 막대 수를 설정합니다. 이 기능을 활성화하려면 MinCrosDistance > 0이 필요합니다. 이 기능을 비활성화하려면 0(영)을 사용하십시오.

종료 설정:

--------------

StopAndReverse(기본값 true)

TRUE로 설정하면 신호가 변경될 때 모든 거래를 종료하고 포지션을 반전합니다.

PureSAR(기본값은 false)

TRUE로 설정하면 손절매 - 이익실현 - 후행 손절매를 사용하지 않습니다. 이것은 항상 플레이 설정입니다.

ver.7.2 ExitOnCross (기본값은 false)

TRUE로 설정하면 추가 필터를 고려하지 않고 반대 교차가 있는 경우 모든 거래를 종료합니다. 따라서 순전히 이동 평균 교차를 기반으로 종료하십시오.

세 번째 MA 설정:

------------------

버전 5 UseThirdMA(기본값은 false)

TRUE(및 UseCounterTrend = FALSE)로 설정하면 위는 BUY, 아래는 SELL인 ThirdMA 방향에 따라서만 거래됩니다.

버전 5 UseCounterTrend(기본값은 false)

TRUE로 설정하면 ThirdMA 방향에 반대하더라도 거래를 유지하지만 StopLoss 및 TakeProfit은 다릅니다. 이 기능을 활성화하려면 UseThirdMA = TRUE가 필요합니다.

ver.7 OnlyCounterTrend(기본값은 false)

TRUE로 설정하면 EA가 역추세 거래만 하도록 설정하고, ThirdMA 아래로 교차하면 BUY를 의미하고 ThirdMA 위로 교차하면 SELL을 의미합니다. 이 기능을 활성화하려면 UseCounterTrend = TRUE가 필요합니다.

ver.5 ThirdMAPeriod(기본값 100)

세 번째 이동 평균 기간.

ver.5 ThirdMAType(기본 EMA / 1)

세 번째 이동 평균 유형 0:SMA 1:EMA 2:SMMA 3:LWMA

ver.5 ThirdMAPrice (기본 닫기 / 0)

3이동평균 적용가격 0:종가 1:시가 2:고가 3:저가 4:중앙값 5:일반 6:가중

ver.7.2 ThridMAshift(기본값 0)

세 번째 이동 평균 이동

버전 5 CTStopLoss(기본값 0)

CounterTrend 거래에 대한 손절매를 설정하십시오. 손절매를 사용하지 않으려면 0(영)을 사용하십시오(권장하지 않음).

버전 5 CTakeProfit(기본값 0)

CounterTrend 거래를 위한 이익실현을 설정하십시오. 열린 대상을 사용하려면 0(영)을 사용하십시오.

피벗 필터 설정:

-------------------

ver.8.0 Use.Pivot.Filter(기본값 false)

거래를 필터링하려면 true로 설정하고 S1과 S2 사이에서 느린 MA와 빠른 MA의 교차가 발생하는 경우에만 BUY하고 R1과 R2 사이에서 느린 및 빠른 MA의 교차가 발생하는 경우에만 SELL로 설정합니다.

주문 설정:

--------------

ReverseCondition(기본값은 false)

입력 조건을 반대로 하려면 TRUE를 설정합니다.

ver.3 ConfirmedOnEntry(기본값 true)

TRUE로 설정하면 교차 확인 후 다음 막대에서 거래를 입력/종료합니다. FALSE로 설정하면 십자가가 있는 즉시 거래를 시작/종료합니다.

버전 4 OneEntryPerBar(기본값 true)

TRUE로 설정하면 한 막대에서 한 번만 거래됩니다. FALSE로 설정하면 한 번에 하나의 거래를 하더라도 입력 조건이 여전히 유효한 경우 한 막대에서 두 번 이상 거래합니다.

NumberOfTries(기본값 5)

시스템에서 주문을 거부한 경우의 시도 횟수입니다.

미끄러짐(기본값 5)

미끄러짐 설정.

MagicNumber(기본값 1234)

매직넘버를 생성하는데 사용합니다. 동일한 쌍과 동일한 시간 프레임에서 다른 설정으로 EA를 실행하려는 경우 에만 이 번호를 변경하십시오.

다중 공개 거래 설정:

--------------------------

버전 5 MaxOpenTrade(기본값 2)

한 번에 최대 공개 거래 수. 이 설정은 StopAndReverse / PureSAR = FALSE일 때 사용되므로 반대 신호가 있을 때 EA는 오픈 주문을 닫지 않고 오히려 새로운 거래를 엽니다. 공개 거래 허용 횟수를 설정합니다. StopAndReverse / PureSAR = TRUE인 경우 이 설정은 항상 = 1이며 한 번에 하나의 거래를 의미합니다.

버전 6 MinPriceDistance(기본값 5)

다중 공개 거래가 활성화된 경우(MaxOpenOrder>1 및 OneEntryPerBar=FALSE로 설정) 이 숫자는 동일한 방향의 각 거래 사이의 최소 거리를 결정합니다.

시간 필터 설정:

-------------------

UseHourTrade(기본값은 false)

TRUE로 설정하면 EA가 특정 시간에만 활성화됩니다.

시작 시간(기본값 10)

EA가 활성화되기 시작하는 시간입니다(UseHourTrade = TRUE와 함께 사용).

종료 시간(기본값 11)

EA가 활성을 멈춘 시간(UseHourTrade = TRUE와 함께 사용).

로트 및 자금 관리 설정:

------------------------------------

로트(기본값 1)

거래당 로트 수.

MM(기본값은 false)

TRUE로 설정하면 자금 관리에서 빌드를 사용합니다.

AccountIsMicro(기본값은 false)

마이크로 계정을 사용하는 경우 이것을 TRUE로 설정하십시오.

위험(기본값 10)

MM = TRUE와 함께 사용하여 거래당 위험을 설정합니다.

교차 경고 설정:

--------------------

버전 5 EnableAlert(기본값 true)

이동 평균 교차, 교차 UP 또는 교차 DOWN이 있을 때 경고가 울립니다.

ver.5 SoundFilename(기본값 "alert.wav")

경고의 파일 이름입니다.

백테스트 설정:

------------------

PrintControl(기본값 true)

백테스팅에 대한 주석을 인쇄하십시오.

Show_Settings(기본값 true)

차트에 설정을 표시합니다.

그래도 설정에 문제가 있으면 알려주십시오. 여러 부분 코드에 대해 codersguru와 pengie에게 감사합니다. 이 도움을 바랍니다

신문 :

-----------

version.6 :

- ConfirmedOnEntry 버그 수정.

- 즉시 후행 정지를 추가합니다.

- 다중 공개 거래를 위해 MinPriceDistance를 추가합니다.

version.7 :

- MaxLookUp 기능을 추가하여 MinCrossDistance에 대한 십자가에서 특정 막대 이후 항목을 계속 확인합니다.

- ThirdMA 필터를 사용하는 경우 OnlyCounterTrend 기능을 추가합니다.

version.7.1 :

- MinCrossDistance 버그 수정.

version.7.2 :

- ConfirmedOnEntry = FALSE에 대한 MinCrossDistance 버그 수정.

- MA 시프트 매개변수를 추가합니다.

- ExitOnCross 기능을 추가합니다.

version.7.3 :

- 화면 표시 COMMENT에 수정되었습니다.

version.8.0 :

- 피벗 필터가 추가되었습니다.

version.8.1 :

- Build 206 버그로 인해 일부 코드를 수정했습니다.
 

무효 손절매 / 이익실현

안녕하세요, Serpentsnoir입니다.

이 버전을 5자리 숫자로 테스트했습니다.

손절매=30

테이크프로핏=40

여기에 표시된 대로 오류가 생성되었습니다.

2011.04.27 22:47:44 universalMACrossEA[5 Dig]-V4 EURGBP,M5: sn 디버그 판매 중: Bid,Slippage,aStopLoss,aTakeProfit 0.88554/30.00000/0.88466/0.890

2011.04.27 22:47:44 universalMACrossEA[5 Dig]-V4 EURGBP,M5: sn 디버그 판매 중: ticket,err,count -1/130/5

130번이 유효하지 않은 정지(TP, SL) 문제를 해결하는 방법을 가르쳐 주시겠습니까?

건배

테이킹핍

 

잘못된 정지 손실, 오류 130

StopLoss 및 TakeProfit 수준은 시장에 너무 가깝지 않아야 합니다. MODE_STOPLEVEL 매개변수와 함께 MarketInfo() 함수를 사용하여 정지 레벨 의 최소 거리는 포인트 단위로 얻을 수 있습니다. 잘못되었거나 정규화되지 않은 정지 수준의 경우 오류 130(ERR_INVALID_STOPS)이 생성됩니다.

위의 내용은 Metaquotes 문서에서 가져온 것입니다.

오류 130은 손절매를 Bid/Ask 가격에 너무 가깝게 설정하면 발생합니다. 그것은 일반적으로 문제를 해결하기 위해 손절매를 늘려야 한다는 것을 의미합니다. 또는 가능하다면 손절매를 설정하기 위해 주문을 수정해서는 안 되며 대신 주문에 대한 현재 손절매에 매우 가깝기 때문에 청산해야 합니다.

Mode_Stoplevel이 있는 MarketInfo는 0을 반환할 수 있습니다. 최소한 내 브로커 FXCM에서는 수행되므로 수동으로 설정해야 할 수 있습니다.

 

잘못된 정지 손실, 오류 130

설명 감사합니다 Tzuman.

예를 들어 내가 설정한 경우에도

SL = 200

TP = 150

그것은 여전히 오류 130을 생성하고 내 중개인은 손절매 또는 이익 실현을 위해 최소 10pip만 필요합니다.

저는 MT 프로그래밍을 처음 접하고 여전히 배우고 있습니다. MODE_STOPLEVEL 모니터링 매개변수를 코드에 삽입할 위치를 설명해 주시겠습니까?

건배

 
serpentsnoir:
정확히 당신이 원하는 것이 아닙니다. 나는 당신이 의미하는 바가 명확하지 않기 때문에 추측하고 있습니다 ... 그러나 이것으로 시작하여 알려주십시오 ... sn

안녕하세요, BE 기능이 있는 버전을 다운로드했지만 컴파일할 때 다음 오류가 발생했습니다. "'UseBreakEven' - 비교 표현식이 필요함

확인해 주시겠습니까?

고맙습니다

 
FxCba:
안녕하세요, BE 기능이 있는 버전을 다운로드했지만 컴파일할 때 다음 오류가 발생했습니다. "'UseBreakEven' - 비교 표현식이 필요함

확인해 주시겠습니까?

고맙습니다

부울 대신 플래그에 정수를 사용하는 것을 선호합니다. EA의 작동에는 영향을 미치지 않습니다. 오류를 없애려면 유형을 부울로 변경하십시오.

sn

 
serpentsnoir:
부울 대신 플래그에 정수를 사용하는 것을 선호합니다. EA의 작동에는 영향을 미치지 않습니다. 오류를 없애려면 유형을 부울로 변경하십시오. sn

다음과 같은 줄을 추가하시겠습니까?: " bool UseBreakEven = false ;"

(질문에 대해 죄송하지만 Metatrader 코드를 이해하지 못합니다)

저는 그렇게 해서 에러가 나지 않았습니다.

 

일일 이익 한도는 EA에 추가됩니다.

안녕하세요 여러분,

누군가가 첨부된 UMA cross EA에 아래 기능을 추가할 수 있는지 알고 싶습니다.

extern string DayProfitHelp = "--USD로 DayProfitLimit을 입력하거나 마지막 날 잔액의 백분율로 DayProfitLimitPct를 입력하십시오. 비활성화하려면 둘 다 0으로 설정하십시오.";

외부 이중 DayProfitLimit = 0.0;

외부 이중 DayProfitLimitPct = 0.0;

외부 정수 DayProfitResetHour = 0;

extern bool DayProfitGlobal = FALSE;

기능 은 다른 EA에서 매우 편리하며 기본적으로 중지 시간 전에 "x%"에 도달하면 EA 열기 주문을 중지하는 기능입니다.

또한 후행 기능은 UMAcrossEA에서 제대로 작동하지 않습니다. 누군가가 도움이 될 수 있다면 감사하겠습니다.

대단히 감사합니다

=================================

외부 int SL_pips = 290;

외부 int MA_distance_pips = 20;

외부 정수 MA_period = 16;

외부 int TP_pips = 20;

extern int TradeVolume = 1;

extern string HourTradeHelp = "--EA가 하루 중 특정 기간에만 작동할 경우 설정합니다. ForceClose는 열려 있는 모든 주문을 닫습니다.";

extern bool UseHourTrade = FALSE;

extern int StartHourTrade = 21;

extern int EndHourTrade = 3;

extern bool ForceClose = FALSE;

extern string MinToKeepTradeHelp = "--수명이 MinutesToKeepTrade보다 크면 주문을 종료합니다. 비활성화하려면 0을 설정하십시오.";

extern int MinutesToKeepTrade = 0;

extern string DayProfitHelp = "--USD로 DayProfitLimit을 입력하거나 마지막 날 잔액의 백분율로 DayProfitLimitPct를 입력하십시오. 비활성화하려면 둘 다 0으로 설정하십시오.";

외부 이중 DayProfitLimit = 0.0;

외부 이중 DayProfitLimitPct = 0.0;

외부 정수 DayProfitResetHour = 0;

extern bool DayProfitGlobal = FALSE;

외부 정수 ModifyIntervalMin = 1;

외부 정수 MagicNumber = 2265;

extern bool 헤지=거짓;

int g_ord_total_172;

int g_ticket_176;

int g_ticket_180;

int g_분_184;

부울 g_bool_188;

부울 gi_192;

부울 gi_196;

부울 gi_200;

부울 gi_204;

두 배 g_price_208;

이중 gd_216;

더블 g_price_224;

이중 gd_232;

이중 gd_240;

이중 gd_248;

이중 gd_256;

이중 gd_264;

이중 gd_272;

이중 gd_280;

더블 g_ima_288;

이중 gd_296;

이중 gd_304;

이중 gd_312;

이중 g_lots_320;

무효 초기화() {

gd_240 = MarketInfo(Symbol(), MODE_STOPLEVEL);

gd_256 = gd_240 * 포인트;

gd_248 = (gd_240 + 1.0) * 포인트;

gd_216 = SL_pips * 포인트;

gd_232 = MA_distance_pips * 포인트;

gd_280 = TP_pips * 포인트;

g_minute_184 = 분();

}

정수 시작() {

이중 ld_8;

이중 ld_16;

if (계정 균형() - gd_304 != 0.0) ld_8 = 100.0 * (gd_304 / (계정 균형() - gd_304));

그렇지 않으면 ld_8 = 0;

if (AccountBalance() - gd_304 != 0.0) ld_16 = 100.0 * ((AccountBalance() - gd_304 + gd_312) / (AccountBalance() - gd_304)) - 100.0;

그렇지 않으면 ld_16 = 0;

gd_296 = 묻기 - 입찰;

gd_304 = GetDailyProfit();

g_lots_320 = 제비();

if (DayProfitLimitPct > 0.0) gd_312 = (AccountBalance() - gd_304) * (DayProfitLimitPct / 100.0);

그렇지 않으면 gd_312 = DayProfitLimit;

g_bool_188 = !(UseHourTrade && !IsTradeTime(StartHourTrade, EndHourTrade));

if (g_bool_188 && GlobalVariableGet("gISEAstop") == 1.0) g_bool_188 = FALSE;

string ls_0 = "기호: " + Symbol()

+ "\n확산: " + DoubleToStr(MarketInfo(Symbol(), MODE_SPREAD) / 10.0, 1) + " 핍"

+ "\n일일 손익: $" + DoubleToStr(gd_304, 2) + " (" + DoubleToStr(ld_8, 2) + "%)"

+ "\n한계 손익: $" + DoubleToStr(gd_312, 2) + " (" + DoubleToStr(ld_16, 2) + "%)"

+ "\n현재 손익: $" + DoubleToStr(AccountProfit(), 2)

+ "\n정지 레벨: " + DoubleToStr(gd_240 / 10.0, 1) + " 핍"

+ "\n볼륨: " + DoubleToStr(g_lots_320, 1) + " ($" + DoubleToStr(g_lots_320 * MarketInfo(Symbol(), MODE_LOTSIZE), 2) + ")";

if (gd_312 > 0.0 && gd_304 + AccountProfit() >= gd_312) {

댓글(ls_0

+ "\n\n일일 수익 달성... 내일 만나요... 잘자 :-)");

RemoveAllOrders(1);

리턴(0);

}

g_ord_total_172 = 주문 총계();

gi_192 = 거짓;

gi_196 = 거짓;

gi_200 = 거짓;

gi_204 = 거짓;

(int l_ord_total_24 = g_ord_total_172; l_ord_total_24 >= 0; l_ord_total_24--) {

if (OrderSelect(l_ord_total_24, SELECT_BY_POS) == TRUE && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {

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

gi_200 = 참;

Close_B(OrderTicket(), OrderLots());

}

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

gi_204 = 참;

Close_S(OrderTicket(), OrderLots());

}

(주문 유형() == OP_BUYLIMIT) {

gd_264 = NormalizeDouble(OrderOpenPrice(), 숫자);

g_ticket_176 = 주문 티켓();

gi_192 = 참;

}

(주문 유형() == OP_SELLLIMIT) {

gd_272 = NormalizeDouble(OrderOpenPrice(), 숫자);

g_ticket_180 = OrderTicket();

gi_196 = 참;

}

}

}

if (g_bool_188) {

g_ima_288 = iMA(NULL, 0, MA_period, 0, MODE_LWMA, PRICE_TYPICAL, 0);

수정_주문();

Open_order();

} 또 다른 {

파일: