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...
예
마감된 주문의 누적 이익이 일정 금액 미만인 경우 추가 코드 처리를 방지합니다. 마지막 줄을 다음과 같이 바꿀 수 있습니다.
이건 간단하다 :
EA의 start() 절차 시작 부분에 다음과 같이 배치하면 해당 날짜에 이미 발생한 손실(또는 이익)이 일정 금액을 초과하는 경우 작동하지 않습니다.
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를 초과하는 경우.....
정말 빠른 답변 감사합니다....
최고의 성적
아즈룰...
친애하는 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 경...
죄송합니다 선생님... 제가 충분히 설명을 드리지 못한 것 같습니다.....
내 의도는 특정 통화 쌍 및 MagicNumber에 대해서만 누적 손실에 대한 탭을 유지하기 위한 코드입니다. 수익은 포함하지 않고... 손실만 계산...
혼란을 드려 죄송합니다..
친애하는..
아즈룰...
친애하는 MLADEN 경...
죄송합니다 선생님... 제가 충분히 설명을 드리지 못한 것 같습니다.....
내 의도는 특정 통화 쌍 및 MagicNumber에 대해서만 누적 손실에 대한 탭을 유지하기 위한 코드입니다. 수익은 포함하지 않고... 손실만 계산...
혼란을 드려 죄송합니다..
친애하는..
아즈룰...아즈룰
이익은 음수일 수 있습니다(==손실).
폐쇄된 otrders 목록에는 "이익"을 유지하는 Order() 이익이라는 필드가 있습니다. 그 평화로운 코드는 당신이 필요로 하는 것을 정확히 수행합니다.
친애하는 MLADEN 경,
이론은 이렇습니다.... 만약 오늘이 횡재수 시장이 된다면, 나는 결국 내 자본에 대한 X$ 위험과 수익의 일부를 잃게 될 것입니다(있는 경우).... 그건 보호가 아닙니다. 거래의 매우 나쁜 날에 대해 .....
그 이유는 오늘 거래에서 하루 X$로 위험을 감수할 용의가 있기 때문입니다....
위의 코드는 그 날의 모든 이익(있는 경우)과 내 위험(자본)도 먹어치웁니다...
감사해요
친애하는...
아즈룰...
AZRUL 이익은 음수일 수 있습니다(==손실).
친애하는 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);
}
귀하의 지식은 높이 평가됩니다 ...
당신의 진정으로
아즈룰....
친애하는 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 시간대에 있지만....
너무 많은 질문을 보내서 기분이 상하지 않기를 바랍니다....
친애하는
아즈룰...
아니요.
손실만 추가하려면 추가해야 합니다.
&& (OrderProfit ()+ OrderCommission ()+ OrderSwap ()<0 )
따라서 함수는 다음과 같이 보일 것입니다.
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을 보내주세요. 코딩을 제외하고....
감사해요
친애하는
아즈룰...