코딩하는 방법? - 페이지 268

 

또 다른 문제

그래서 Cross == 1 대신 MA_04_1H > MA_14_1H 로 Crossed 함수 를 수정했습니다... 그리고 일반적으로 문제가 해결되었습니다... 하지만 구매, 닫기, 구매, 닫기, 구매, 닫기, 판매, 닫기,... -0.17,-0.18,-0.21,-0.15 등과 같은 센트 단위의 잔액을 먹고 있습니다.

이제 나는 실제로 더 작은 로트를 사서 이익을 내면 교차가 발생할 때까지 해당 주문을 닫고 새로운 더 큰 주문을 여는 것을 실제로 구현하려고 노력하고 있지만 위의 문제는 해결할 수 없는 것 같습니다. .

그 작은 쓸모없는 거래를 걸러내는 방법을 아는 사람이 있습니까?

 

이 코드에는 fl이 필요합니다.

안녕 ,

나는 이 코드를 위한 afl이 필요하다

#속성 표시기_분리_창

#속성 표시기_버퍼 8

#속성 표시기_색상1 C'0x66,0xB3,0xFF'

#property indicator_color2 다저블루

#property indicator_color3 C'0x00,0x67,0xCE'

#property indicator_color4 흰색

#속성 표시기_색상5 C'0xFF,0x33,0x33'

#속성 표시기_색상6 C'0xC4,0x00,0x00'

#속성 표시기_색상7 C'0x8C,0x00,0x00'

#속성 표시기_색상8 C'0x82,0x24,0x00'

extern int 기간 = 30;

extern 부울 invert_strength = FALSE;

외부 문자열 CurrencyPair = "";

extern string NOTE0 = "통화쌍을 대문자로 입력";

extern string NOTE1 = "EURUSD와 유사";

extern string NOTE2 = "현재 기호를 비워 둡니다";

extern string NOTE3 = "미니 계정이 있는 경우";

extern string NOTE4 = "\"m\" 추가, 예: EURUSDm ";

이중 g_ibuf_132[];

이중 g_ibuf_136[];

이중 g_ibuf_140[];

이중 g_ibuf_144[];

이중 g_ibuf_148[];

이중 g_ibuf_152[];

이중 g_ibuf_156[];

이중 g_ibuf_160[];

이중 gda_unused_164[];

정수 초기화() {

SetIndexBuffer(0, g_ibuf_132);

SetIndexBuffer(1, g_ibuf_136);

SetIndexBuffer(2, g_ibuf_140);

SetIndexBuffer(3, g_ibuf_144);

SetIndexBuffer(4, g_ibuf_148);

SetIndexBuffer(5, g_ibuf_152);

SetIndexBuffer(6, g_ibuf_156);

SetIndexBuffer(7, g_ibuf_160);

SetIndexStyle(0, DRAW_HISTOGRAM, EMPTY, 5, C'0x66,0xB3,0xFF');

SetIndexStyle(1, DRAW_HISTOGRAM, EMPTY, 5, 다저블루);

SetIndexStyle(2, DRAW_HISTOGRAM, EMPTY, 5, C'0x00,0x67,0xCE');

SetIndexStyle(3, DRAW_HISTOGRAM, EMPTY, 5, 흰색);

SetIndexStyle(4, DRAW_HISTOGRAM, EMPTY, 5, C'0xFF,0x33,0x33');

SetIndexStyle(5, DRAW_HISTOGRAM, EMPTY, 5, C'0xC4,0x00,0x00');

SetIndexStyle(6, DRAW_HISTOGRAM, EMPTY, 5, C'0x8C,0x00,0x00');

SetIndexStyle(7, DRAW_HISTOGRAM, EMPTY, 5, C'0x82,0x24,0x00');

(int li_0 = 0; li_0 < 8; li_0++) SetIndexLabel(li_0, NULL);

if (CurrencyPair == "") CurrencyPair = Symbol();

if ( iClose (CurrencyPair, 0, 0) == 0.0) CurrencyPair = Symbol();

IndicatorShortName(CurrencyPair + "(" + 마침표 + ")");

반환 (1);

}

정수 초기화() {

리턴(0);

}

정수 시작() {

이중 ld_8;

int li_0 = IndicatorCounted();

if (li_0 < 0) return (-1);

if (li_0 > 0) li_0--;

(int li_4 = 막대 - li_0, li_4 >= 0, li_4--) {

ld_8 = iRSI(통화쌍, 0, 주기, PRICE_CLOSE, li_4);

if (invert_strength == TRUE) ld_8 -= 2.0 * (ld_8 - 50.0);

if (ld_8 <= 45.0) {

if (ld_8 42.0) drawblock(0, 0, 0, 0, 5, 0, 0, 0, li_4);

또 다른 {

if (ld_8 38.0) drawblock(0, 0, 0, 0, 0, 5, 0, 0, li_4);

또 다른 {

if (ld_8 35.0) drawblock(0, 0, 0, 0, 0, 0, 5, 0, li_4);

else drawblock(0, 0, 0, 0, 0, 0, 0, 5, li_4);

}

}

} 또 다른 {

if (ld_8 >= 55.0) {

if (ld_8 > 55.0 && ld_8 < 57.0) drawblock(5, 0, 0, 0, 0, 0, 0, 0, li_4);

또 다른 {

if (ld_8 >= 58.0 && ld_8 < 60.0) drawblock(0, 5, 0, 0, 0, 0, 0, 0, li_4);

else drawblock(0, 0, 5, 0, 0, 0, 0, 0, li_4);

}

} else drawblock(0, 0, 0, 5, 0, 0, 0, 0, li_4);

}

}

리턴(0);

}

무효 drawblock(int ai_0, int ai_4, int ai_8, int ai_12, int ai_16, int ai_20, int ai_24, int ai_28, int ai_32) {

g_ibuf_132[ai_32] = ai_0;

g_ibuf_136[ai_32] = ai_4;

g_ibuf_140[ai_32] = ai_8;

g_ibuf_144[ai_32] = ai_12;

g_ibuf_148[ai_32] = ai_16;

g_ibuf_152[ai_32] = ai_20;

g_ibuf_156[ai_32] = ai_24;

g_ibuf_160[ai_32] = ai_28;

}

또는 나에게 이것 뒤에 논리를 설명하십시오

감사해요

 

구매, 닫기, 구매, 닫기 또는 판매, 닫기, 판매, 닫기를 하지 않는 방법...

제발... 저 수익성 없는 거래를 피하는 방법을 알고 싶습니다...

 

긴급 도움. 지표를 EA(Auto Trader)로 변환

저는 프로그래머이지만 mql4 프로그래밍 의 초보자입니다.

지표 관련 EA(Auto Trader)를 만들려고 합니다.

인디케이터를 부착했습니다. 이 표시기는 좋은 추세 신호를 제공합니다.

이제 추세 신호에 대해 자동 거래자를 만들고 싶습니다.

연산:

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

DOWN SIGNAL이면 SELL 주문을 열고 이전 BUY 주문을 닫습니다.

UP SIGNAL이면 BUY 주문을 열고 이전 SELL 주문을 닫습니다.

계속하다 ....

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

이 지표와 관련하여 자동 거래에서 수동 거래를 원합니다.

아무도 나를 도울 수 있습니까 ?? 시도했지만 결과를 얻지 못했습니다

나는 그것이 좋은 자동차 상인이 될 것이라고 생각합니다. 도와주세요.

파일:
 

간단한 질문, 답을 찾을 수 없습니다 ...

아무도 이것이 작동하는 이유를 말해 줄 수 있습니까?

가격 = MarketInfo("GBPJPY",MODE_ASK);

(심볼이 문자열 배열이고 9번째 항목이 "GBPJPY"인 경우):

가격 = MarketInfo(symbol[9],MODE_ASK);

??

 
TomthebombNL:
아무도 이것이 작동하는 이유를 말해 줄 수 있습니까?

가격 = MarketInfo("GBPJPY",MODE_ASK);

(심볼이 문자열 배열이고 9번째 항목이 "GBPJPY"인 경우):

가격 = MarketInfo(symbol[9],MODE_ASK);

??

당신이 제시한 정보에서 나는 이것이 작동해야 한다고 100% 확신합니다. 사실, 나는 그것을 증명하기 위해 간단한 테스트를 했습니다. 코드에 잘못된 다른 것이 있어야 합니다.

 
codersguru:
던,

코드를 뒤집는 가장 쉬운 방법(판매에서 구매 및 구매에서 판매)은 다음과 같이 변경됩니다.

if(signal0 < signal1 ) GlobalVariableSet("TM0",1);

if(signal0 > signal1) GlobalVariableSet("TM0",0);[/CODE]

To:

[CODE]if(signal0 > signal1 ) GlobalVariableSet("TM0",1);

if(signal0 < signal1) GlobalVariableSet("TM0",0);

멋진! 이 정보를 주셔서 감사합니다.

 

배열을 문자열로 정의하지 않았을 가능성이 큽니다.

 

"GBPJPY"가 배열의 9번째 요소인 경우 mql 표기법의 인덱스는 9가 아닌 8이므로(mql 표기법에서 배열의 첫 번째 요소는 인덱스 0을 가짐) 이 경우 다음 형식을 사용해야 합니다.

price = MarketInfo(symbol[8],MODE_ASK);

그게 문제가 아닐까요?

TomthebombNL:
아무도 이것이 작동하는 이유를 말해 줄 수 있습니까?

가격 = MarketInfo("GBPJPY",MODE_ASK);

(심볼이 문자열 배열이고 9번째 항목이 "GBPJPY"인 경우):

가격 = MarketInfo(symbol[9],MODE_ASK);

??
 

나는 그것을 설명하기 위해 엉망이 된 번호를 올바르게 얻었습니다. 그것은 10 번째 항목이고 그것을 얻기 위해 기호 [9]를 사용했습니다. 이상하게도 다음과 같이 작동합니다.

높음 = iHigh(기호[9], ...)

그것은 나에게 높은 것을 제공합니다. 내 선언은 다음과 같습니다.

string symbol[] 아니면 string[] symbol[] 과 같아야 합니까?

Alert(symbol[9])를 사용하여 인쇄하려고 하면 빈 공간도 제공되며, 꽤 이상한 문제가 발생합니다. 하지만 어쨌든 제안해 주셔서 감사합니다.

이것은 내 코드입니다. 저는 alpari 5자리 브로커를 사용합니다(알림은 어떤 이유로 0을 표시함).

두 배 높은, 낮은, 가격, 거리, 접시;

int i,j,티켓,워드;

문자열 기호[];

문자열 zoekplaatssymbol;

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

//| 전문가 초기화 기능 |

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

정수 초기화()

{

//----

//----

리턴(0);

}

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

//| 전문가 초기화 해제 기능 |

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

정수 초기화()

{

//----

//----

리턴(0);

}

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

//| 전문가 시작 기능 |

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

정수 시작()

{

//----

더블 USD=0.0;

이중 chf=0.0;

더블 유로=0.0;

이중 gbp=0.0;

더블 오디=0.0;

더블 캐드=0.0;

이중 jpy=0.0;

이중 nzd=0.0;

기호[21] = {"USDCHF", "EURUSD", "GBPUSD", "USDJPY", "AUDUSD", "USDCAD", "EURGBP", "EURCHF", "EURJPY", "GBPJPY", "GBPCHF", "유로", "NZDUSD", "CHFJPY",

"EURCAD", "AUDCAD", "AUDJPY", "CADJPY", "EURNZD", "AUDNZD", "NZDJPY"};

정수 합계=OrdersTotal();

//zoekplaatssymbol = 기호[9];

// 보호 = zoekplaats(zoekplaatssymbol);

가격 = MarketInfo(symbol[9],MODE_ASK);

경고(가격);

}

사유: