코딩 도움말 - 페이지 290

 
mladen:
이건 간단하다 :

EA의 start() 절차 시작 부분에 다음과 같이 배치하면 해당 날짜에 이미 발생한 손실(또는 이익)이 일정 금액을 초과하는 경우 작동하지 않습니다.

double totalProfit=0;

for (int i =OrdersHistoryTotal()-1; i>=0; i--)

{

if (!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue;

if (OrderSymbol() != Symbol()) continue;

if (OrderMagicNumber() != someMagicNumber) continue;

if (iBarShift(Symbol(),PERIOD_D1,OrderCloseTime())==0)

if (OrderType()==OP_BUY || OrderType()==OP_SELL)

totalProfit += OrderProfit()+OrderCommission()+OrderSwap();

}

if (totalProfit < someProfitLossLimit) return(0);

[/PHP]

친애하는 MLADEN님....

위의 코드에 대해 많이 감사합니다. .... IOU 2 크레딧.....

[PHP]

더블 totalProfit=0;

(int i =OrdersHistoryTotal()-1; i>=0; i--)

{

(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) 계속하면;

if (OrderSymbol() == Symbol()) 계속;

if (OrderMagicNumber() == someMagicNumber) 계속;

if (iBarShift(Symbol(),PERIOD_D1,OrderCloseTime())==0)

if (OrderType()==OP_BUY || OrderType()==OP_SELL)

totalProfit += OrderProfit()+OrderCommission()+OrderSwap();

}

if (totalProfit < someProfitLossLimit) return(0);

확인하기 위해..... 이 코드는 특정 통화 쌍 및 MagicNumber....에서 더 이상 주문을 방지할 수 있습니까? 오늘의 누적 손실이 someProfitLossLimit를 초과하는 경우.....

정말 빠른 답변 감사합니다....

최고의 성적

아즈룰...

 
12BPRO:
친애하는 MLADEN 경....

위의 코드에 대해 많이 감사합니다. .... IOU 2 크레딧.....

double totalProfit=0;

for (int i =OrdersHistoryTotal()-1; i>=0; i--)

{

if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;

if (OrderSymbol() == Symbol()) continue;

if (OrderMagicNumber() == someMagicNumber) continue;

if (iBarShift(Symbol(),PERIOD_D1,OrderCloseTime())==0)

if (OrderType()==OP_BUY || OrderType()==OP_SELL)

totalProfit += OrderProfit()+OrderCommission()+OrderSwap();

}

if (totalProfit < someProfitLossLimit) return(0);

[/PHP]

Just to check..... will this code prevent any more orders from a specific currency pair and MagicNumber.... if today's ACCUMULATED LOSS exceed someProfitLossLimit....

Thanks for the very-very fast reply....

best regrads

AZRUL...

마감된 주문의 누적 이익이 일정 금액 미만인 경우 추가 코드 처리를 방지합니다. 마지막 줄을 다음과 같이 바꿀 수 있습니다.

[PHP]if (totalProfit < 0 && totalProfit < someProfitLossLimit) return(0);

누적 "이익"이 음수인 경우(손실이 있는 경우)에만 이루어지도록 하기 위해

 
mladen:

마감된 주문의 누적 이익이 일정 금액 미만인 경우 추가 코드 처리를 방지합니다. 마지막 줄을 다음과 같이 바꿀 수 있습니다.

if (totalProfit < 0 && totalProfit < someProfitLossLimit) return(0);
누적 "이익"이 음수인 경우(손실이 있는 경우)에만 이루어지도록 하기 위해

친애하는 MLADEN 경...

죄송합니다 선생님... 제가 충분히 설명을 드리지 못한 것 같습니다.....

내 의도는 특정 통화 쌍 및 MagicNumber에 대해서만 누적 손실에 대한 탭을 유지하기 위한 코드입니다. 수익은 포함하지 않고... 손실만 계산...

혼란을 드려 죄송합니다..

친애하는..

아즈룰...

 
12BPRO:
친애하는 MLADEN 경...

죄송합니다 선생님... 제가 충분히 설명을 드리지 못한 것 같습니다.....

내 의도는 특정 통화 쌍 및 MagicNumber에 대해서만 누적 손실에 대한 탭을 유지하기 위한 코드입니다. 수익은 포함하지 않고... 손실만 계산...

혼란을 드려 죄송합니다..

친애하는..

아즈룰...

아즈룰

이익은 음수일 수 있습니다(==손실). 폐쇄된 otrders 목록에는 "이익"을 유지하는 Order() 이익이라는 필드가 있습니다. 그 평화로운 코드는 당신이 필요로 하는 것을 정확히 수행합니다.

 

친애하는 MLADEN 경,

이론은 이렇습니다.... 만약 오늘이 횡재수 시장이 된다면, 나는 결국 내 자본에 대한 X$ 위험과 수익의 일부를 잃게 될 것입니다(있는 경우).... 그건 보호가 아닙니다. 거래의 매우 나쁜 날에 대해 .....

그 이유는 오늘 거래에서 하루 X$로 위험을 감수할 용의가 있기 때문입니다....

위의 코드는 그 날의 모든 이익(있는 경우)과 내 위험(자본)도 먹어치웁니다...

감사해요

친애하는...

아즈룰...

 
mladen:
AZRUL 이익은 음수일 수 있습니다(==손실). 폐쇄된 otrders 목록에는 "이익"을 유지하는 Order() 이익이라는 필드가 있습니다. 그 평화로운 코드는 당신이 필요로 하는 것을 정확히 수행합니다.

친애하는 MLADEN 경...

위의 제안에 대해 알려 주셔서 감사합니다 ...

나는 노력하고 어떤 결과를 찾을 것이다....

친애하는

아즈룰...

 

친애하는 MLADEN 경,

다음 코드가 트릭을 수행합니까?

특정 통화 쌍 및 MagicNumber에 대해서만 ACCUMULATED LOSS에 대한 탭 유지.... 수익은 포함하지 않음... 손실만 계산...

extern double LossAmount = -500.00

...............

int start()

if(LossRisk()<=LossAmount)

return(0);

...............

void LossRisk()

double totalLoss=0;

{

for (int i =OrdersHistoryTotal()-1; i>=0; i--)

{

if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;

if (OrderSymbol() == Symbol()) continue;

if (OrderMagicNumber() == someMagicNumber) continue;

if (iBarShift(Symbol(),PERIOD_D1,OrderCloseTime())==0)

if (OrderType()==OP_BUY || OrderType()==OP_SELL)

totalLoss -= OrderProfit()+OrderCommission()+OrderSwap();

}

return(totalLoss);

}

귀하의 지식은 높이 평가됩니다 ...

당신의 진정으로

아즈룰....

 
12BPRO:
친애하는 MLADEN 경,

다음 코드가 트릭을 수행합니까?

특정 통화 쌍 및 MagicNumber에 대해서만 ACCUMULATED LOSS에 대한 탭 유지.... 수익은 포함하지 않음... 손실만 계산...

extern double LossAmount = -500.00

...............

int start()

if(LossRisk()<=LossAmount)

return(0);

...............

void LossRisk()

double totalLoss=0;

{

for (int i =OrdersHistoryTotal()-1; i>=0; i--)

{

if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;

if (OrderSymbol() == Symbol()) continue;

if (OrderMagicNumber() == someMagicNumber) continue;

if (iBarShift(Symbol(),PERIOD_D1,OrderCloseTime())==0)

if (OrderType()==OP_BUY || OrderType()==OP_SELL)

totalLoss -= OrderProfit()+OrderCommission()+OrderSwap();

}

return(totalLoss);

}

[/PHP]

Your Knowledge is highly appreciated...

yours truly

AZRUL....

아니, 그렇지 않을 것이다

손실만 추가하려면 추가해야 합니다.

&& (OrderProfit ()+ OrderCommission ()+ OrderSwap ()<0 )

따라서 함수는 다음과 같이 보일 것입니다.

[PHP]손실 위험 무효화()

이중 총 손실 = 0;

{

(int i =OrdersHistoryTotal()-1; i>=0; i--)

{

(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) 계속하면;

if (OrderSymbol() == Symbol()) 계속;

if (OrderMagicNumber() == someMagicNumber) 계속;

if (iBarShift(Symbol(),PERIOD_D1,OrderCloseTime())==0)

if (OrderType()==OP_BUY || OrderType()==OP_SELL && (OrderProfit()+OrderCommission()+OrderSwap())<0)

totalLoss += OrderProfit()+OrderCommission()+OrderSwap();

}

반환(총 손실);

}

 

친애하는 MLADEN 경....

현재 M15 시간대에서 실행되는 EA에서 이 코드를 사용하고 있습니다...

그것은 M15 기간 이후에 새로운 주문을 열 것입니다 ...

bool AddP()

{int _num=0; int _ot=0;

for (int j=0;j<OrdersTotal();j++)

{if(OrderSelect(j,SELECT_BY_POS)==true && OrderSymbol()==Symbol() && OrderType()<3 && ((OrderMagicNumber()==Magic) || Magic==0))

{

_num++;if(OrderOpenTime()>_ot) _ot=OrderOpenTime();

}

}

if(_num==0) return(true);

if(_num>0 && ((Time[0]-_ot))>0)

return(true);

else return(false);

}

이전 주문 이후 5분마다 주문하도록 이 코드를 변경할 수 있습니까?

비록 내가 M15 시간대에 있지만....

너무 많은 질문을 보내서 기분이 상하지 않기를 바랍니다....

친애하는

아즈룰...

 
mladen:
아니요.

손실만 추가하려면 추가해야 합니다.

&& (OrderProfit ()+ OrderCommission ()+ OrderSwap ()<0 )

따라서 함수는 다음과 같이 보일 것입니다.

void LossRisk()

double totalLoss=0;

{

for (int i =OrdersHistoryTotal()-1; i>=0; i--)

{

if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;

if (OrderSymbol() == Symbol()) continue;

if (OrderMagicNumber() == someMagicNumber) continue;

if (iBarShift(Symbol(),PERIOD_D1,OrderCloseTime())==0)

if (OrderType()==OP_BUY || OrderType()==OP_SELL && (OrderProfit()+OrderCommission()+OrderSwap())<0)

totalLoss += OrderProfit()+OrderCommission()+OrderSwap();

}

return(totalLoss);

}

친애하는 MLADEN 경,

당신은 여기에서 일을 처리하는 방법을 알고 있습니다 ....

귀하의 답변을 받게 되어 매우 기쁩니다.

내가 보답으로 할 수 있는 일이 있다면 저에게 PM을 보내주세요. 코딩을 제외하고....

감사해요

친애하는

아즈룰...