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

 

...

삭제됨 mladen

이유: 무엇이 잘못될 수 있는지 보여주는 것은 의미가 없습니다.

 

감사해요

고마워....... 로저

 

코드 도움이 필요합니다..

감사합니다...

 

도와주세요

여러분, 안녕하세요,

특히 막대가 닫힌 경우 이 표시기가 과거 기록을 다시 그리지 않도록 도와줄 수 있습니까? 표시기는 촛불이 닫힌 후 실시간 거래에서 때때로 2-3개의 막대를 다시 그립니다. 가능하면 경고가 추가됩니다.

 

코드 도움이 필요합니다..

회원님들 안녕하세요.

저는 프로그래머는 아니지만 누군가 이 문제를 도와줄 수 있다면 정말 감사하겠습니다.

다음을 수행하도록 이 코드를 어떻게 다시 작성합니까?

if (총 미결 주문 = 0)

그 다음에

로트 = Type1Lot( order_type );

if (총 미결 주문 = 1)

그 다음에

로트 = Type2Lot(order_type);

if (총 미결 주문 > 2)

그 다음에

로트 = Type3Lot(주문 유형);

감사합니다.

평가하다

 

더 나은 코딩 방법이 있습니까?

차트에 스윙 고점/저점을 표시하는 인디를 코딩했으며 계속하기 전에 이들 각각의 마지막을 알아야 합니다. 이것은 이 두 가지 가격을 찾으려는 시도입니다(따라서 도움이 필요합니다).

대부분의 경우 이것이 작동하지만 오늘은 마지막 스윙 하이가 실제로 두 번째 마지막 스윙 하이라고 말하고 있었습니다.

누군가 이것을 보고 이 부분을 코딩하는 더 좋은 방법이 있는지 확인할 수 있습니까?

도움을 주셔서 감사합니다.

int highbar,lowbar,i,n;

이중 컬로우=0, curhigh=0;

(i=200;i>=1;i--)

{

if (높음<높음&&높음<높음&&높음&&높음<높음)

{

curhigh=높음;

하이바=i+2;

}

if (낮음>낮음 && 낮음>낮음 && 낮음>낮음 && 낮음>낮음)

{

curlow=낮음;

낮은 막대 = i+2;

}

}

//---- 마지막 프랙탈 이후에 더 높거나 낮은 캔들이 있는지 확인 ----------

n=MathMax(하이바,로우바);

for (int x=n-1;x>=0;x--)

{

if (High[x]> curhigh)

{

curhigh=높음[x];

하이바=x;

}

if (낮음[x]< 컬)

{

curlow=낮음[x];

낮은 막대 = x;

}

}

들여쓰기가 제대로 붙여지지 않은 것 같습니다. 죄송합니다.

 
forexarchitect:
회원님들 안녕하세요.

저는 프로그래머는 아니지만 누군가 이 문제를 도와줄 수 있다면 정말 감사하겠습니다.

다음을 수행하도록 이 코드를 어떻게 다시 작성합니까?

if (총 미결 주문 = 0)

그 다음에

로트 = Type1Lot(주문 유형);

if (총 미결 주문 = 1)

그 다음에

로트 = Type2Lot(order_type);

if (총 미결 주문 > 2)

그 다음에

로트 = Type3Lot(주문 유형);

감사합니다.

평가하다

나는 전문 코더는 아니지만 모든 주문을 반복해서 살펴보고 사양에 맞는 주문을 계산해야 한다고 생각합니다. 그런 다음 다른 주문 유형 에 대해 다른 if 문을 사용하십시오. 예.

int total=OrdersTotal(),totalBuy,totalSell;

for (int q=0; q<total; q++ )

{

OrderSelect(q,SELECT_BY_TICKET,MODE_TRADES);

if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)

totalBuy++;

else if (OrderMagicNumber() == Magic && OrderType() == OP_SELL)

totalSell++;

}

여기에서 매직 번호로 계산할 티켓을 선택하고 Short 및 Long 번호도 계산합니다. 위의 코드를 예로 사용할 수 있습니다.

 

50 및 100 사이코 레벨에 지정가 주문

이봐, 난 내 코드에 대한 약간의 도움을 찾고 있었어요. 이것은 통화 쌍 의 50 및 100 라운드 수준에서 시장 지정가 주문을 하기 위해 사용하는 코드입니까? 현재 Ask/Bid의 위아래 50 및 100 레벨에서 주문하고 싶습니다.

if (Point == 0.00001) Poin = 0.0001; //6 digits

else if (Point == 0.001) Poin = 0.01; //3 digits (for Yen based pairs)

else Poin = Point; //Normal

for(double q=Ask*Poin,q<Ask+100*Poin,q++)

{

if(MathMod(q,100) == 0 || MathMod(q,50) == 0)

{

\\ Place limit order

}

for(double q=Bid*Poin,q>Bid-100*Poin,q--)

{

if(MathMod(q,100) == 0 || MathMod(q,50) == 0)

{

\\ Place limit order

}

도움을 주시면 감사하겠습니다.

 

막대 색상 표시기

안녕하세요, 누군가 MT4 표시기에 대해 도움을 줄 수 있습니까?

할 수 있는지 확실하지 않지만 막대를 다시 색칠해야 합니다.

R1 = 지난 20개 막대에 대한 가장 낮은 값 + (2*ATR(10))

R2 = 지난 20개 막대의 최고 값 - (2*ATR(10))

종가가 R1보다 크면 막대를 .... 밝은 파란색으로 색칠하십시오.

이전 막대의 종가가 R2 미만이면 막대를 다음과 같이 색칠합니다.... FireBrick

감사해요

 

여전히 2개 이상의 주문을 여는 EA의 코드 예제를 찾고 있습니다.

나는 한 번에 2개의 주문만 열고 싶습니다. 1은 tp가 있고 1은 tp가 없고 조건이 반대 방향으로 바뀔 때까지 해당 방향으로 다른 주문을 열지 마십시오. 그런 다음 모두 닫고 반대로 반복하십시오.

열심히 코딩하고 있지만...지금까지는 실패했습니다.

가장 큰 문제는 1 포지션이 캔들 스틱의 종가에서 열리고 2nd가 NEXT 캔들 스틱의 종가에서 열립니다. 나는 또한 때때로 2개 이상의 오픈 포지션을 얻고 1위가 TP에 도달할 때마다 새로운 포지션을 얻습니다. 모두 매우 나쁩니다.

여기에 구매 주문 코드가 있고 판매는 기본적으로 동일합니다 ...

모든 팁이 도움이 될 것입니다. 코드를 입력할 의향이 있습니다.

이렇게 하는 EA라도 예를 들자면..

나는 이 아이디어가 매우 중요 하며 자금 관리 목적을 위해 다양한 EA에 통합되어야 한다고 생각합니다.

감사 합니다

만약 ( ) {

Closebuy = 사실;

MAcrossDown = 참;

MAcrossUP=거짓;

OrdertotalCloseBuy = OrdersTotal();

정수 AttemptsTriedCloseBuy = 0;

bool OrderCloseBuy = 거짓;

bool PositionClosedBuy = False;

if(주문 합계() > 0 ){

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

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

for (int i = OrdertotalCloseBuy-1, i >= 0, i --) {

PositionClosedBuy = 거짓;

시도 시도 닫기 구매 = 0;

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

동안 (!PositionClosedBuy && AttemptsTriedCloseBuy < CloseposnAttempts) {

AttemptsTriedCloseBuy = AttemptsTriedCloseBuy + 1;

OrderCloseBuy = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, LimeGreen);

절전(주문 사이 일시 중지 * 1000);

if(OrderCloseBuy == True) { // 포지션이 성공적으로 마감되었습니다.

PositionClosedBuy = 참;

// if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");

} else if( 주문 == False && AttemptsTried >= CloseposnAttempts ) {

Print( AttemptsTried + " 시장가 주문 마감 시도 " +

OrderTicket() + " 실패. 오류 [ " + GetLastError() + " ]" );

// if (SignalMail) SendMail( AttemptsTried, " 시장 매수 주문 마감 시도 실패" );

} // 종료일 경우, 순서:

} // While 루프 종료, AccountAvailable:

}//을 위한

}//주문 유형인 경우

}//주문 합계인 경우

수면(1000);

if(OrdersTotal() == 0 && Closebuy == True && Sell_Complete_Wait4Cross_Up == False) {

SellTicket1 = 거짓;

SellTicket1 = OrderSend(Symbol(), OP_SELL, lot, Bid, Slippage, StopLoss, Bid - TakeProfit * 포인트, "SELL(#" + MagicNumber + ")", MagicNumber, 0, Red);

절전(주문 사이 일시 중지 * 1000);

Sell_Complete_Wait4Cross_Up = 참;

Buy_Complete_Wait4Cross_Down = 거짓;

if (티켓 && SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open 1st Sell");

수면(1000);

SellTicket2 = OrderSend(Symbol(), OP_SELL, lot, Bid, Slippage, StopLoss, 0, "2nd SELL(#" + MagicNumber + ")", MagicNumber, 0, 핑크);

절전(주문 사이 일시 중지 * 1000);

if (Ticket2 && SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open 2nd Sell");

if(OrdersTotal() == 2 && MAcrossDown == True) {Sell_Complete_Wait4Cross_Up = True; Buy_Complete_Wait4Cross_Down = False;}

}//주문 보내기

} //클로즈바이

사유: