저는 외환 거래가 처음이고 이 포럼도 처음입니다. 처음으로 10포인트 3 EA 스크립트에서 확장된 EuroX2_sl을 배우고 있습니다. 몇 가지 포워드 테스트를 한 후, 이 EA는 오픈 포지션을 잘 했지만 시장이 역전할 때 필요한 만큼 포지션을 잘 닫지 못했습니다. 아마도 코드에 문제가 있는 것 같습니다(저는 프로그래머가 아닙니다). 문제를 해결하려면 여러분의 도움이 필요합니다. 어떤 부분이 잘못되었을 수 있는지 확인해 주시겠습니까?
상태:
1. 지표 조건이 존재할 때 OPEN BUY. 즉: 확률적
2. OPEN SELL 표시가 있을 때 CLOSE BUY. 즉: 확률적
3. OPEN SELL 지표 조건(위의 2번)이 존재합니다. 즉 : 확률적
4. CLOSE SELL 표시 조건(위의 1번)이 존재합니다. 즉 : 확률적
OPEN 위치는 괜찮다고 생각하지만 문제는 표시기가 있어도 CLOSE( BUY 또는 SELL )되지 않았기 때문에 CLOSE POSITION에 있습니다.
CodersGuru에게 : 10 포인트 3 EA에 대한 도움이 필요합니다....
안녕하세요 CodersGuru입니다.
저는 외환 거래가 처음이고 이 포럼도 처음입니다. 처음으로 10포인트 3 EA 스크립트에서 확장된 EuroX2_sl을 배우고 있습니다. 몇 가지 포워드 테스트를 한 후, 이 EA는 오픈 포지션을 잘 했지만 시장이 역전할 때 필요한 만큼 포지션을 잘 닫지 못했습니다. 아마도 코드에 문제가 있는 것 같습니다(저는 프로그래머가 아닙니다). 문제를 해결하려면 여러분의 도움이 필요합니다. 어떤 부분이 잘못되었을 수 있는지 확인해 주시겠습니까?
상태:
1. 지표 조건이 존재할 때 OPEN BUY. 즉: 확률적
2. OPEN SELL 표시가 있을 때 CLOSE BUY. 즉: 확률적
3. OPEN SELL 지표 조건(위의 2번)이 존재합니다. 즉 : 확률적
4. CLOSE SELL 표시 조건(위의 1번)이 존재합니다. 즉 : 확률적
OPEN 위치는 괜찮다고 생각하지만 문제는 표시기가 있어도 CLOSE( BUY 또는 SELL )되지 않았기 때문에 CLOSE POSITION에 있습니다.
내가 한 코드는 다음과 같습니다.
-------- EuroX2_sl의 스크립트 일부가 10포인트에서 3으로 확장되었습니다.
// 시장에 올바르게 진입하는 것이 중요하며,
// 하지만 올바르게 종료하는 것이 더 중요합니다...
for(cnt=0;cnt<전체;cnt++)
{
주문 선택(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && // 열린 위치 확인
주문 유형()<=OP_BUY &&
주문 유형()>=OP_SELL &&
주문 유형()>=OP_BUY &&
OrderSymbol()==Symbol()) // 기호 확인
{
//+----------------------------------------------- ---------------
if(OrderType()==OP_BUY) // 롱 포지션 오픈
{
//+----------------------------------------------- --------------------
//+ 닫기 위치에 대한 조건
//+----------------------------------------------- --------------------
//+--------------- 매수 포지션 닫기 ----------------------------
if ( Stoch_Main_M15_Cu < Stoch_Sig_M15_Cu )
//+----------------------------------------------- -------------------
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet) ; // 닫기 위치
리턴(0); // 출구
}
//+----------------------------------------------- ------------------------
// 후행 정지 확인
if(TrailingStop>0){
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
리턴(0);
}
}
}
}
//+---------------매도 포지션 닫기 -------------------------- ---
else // 숏 포지션으로 이동
{ //+ 제거하지 않음
if(OrderType()==OP_SELL) // 숏 포지션 오픈
{
}
// 닫아야 하나?
//+----------------------------------------------- --------------------------
if ( Stoch_Main_M15_Cu > Stoch_Sig_M15_Cu )
//+----------------------------------------------- ------------------------------
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,바이올렛) ; // 닫기 위치
리턴(0); // 출구
}
//+----------------------------------------
// 후행 정지 확인
if(TrailingStop>0){
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
리턴(0);
}
}
}
}
}
}
-------------------------------------------------- ----------
고맙습니다,
FX그룹
다른 통화 쌍 창에서 데이터 읽기
내 EA는 "GBPJPY" 창에 있지만 "USDJPY"와 같은 다른 창에서 ObjectDescription()을 찾아야 합니다. (불행히도 iCustom()에서 값을 반환하지 않는 Pivot 표시기입니다.)
ObjectDescription()과 같은 기능을 사용할 수 있도록 다른 (현재가 아닌) 쌍 창을 참조하는 방법을 아는 사람이 있습니까?
아니면 MQ4가 허용하지 않습니까?
고맙습니다
유로
한 통화의 이익을 다른 통화와 어떻게 분리합니까?
color color_of_pipsprofit;
color_of_pipsprofit = White;
int m,totalbuy;
totalbuy=OrdersTotal();
for(m=0;m<totalbuy;m++)
OrderSelect(m, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == Reference)
{
pips_profit=OrderProfit();
}
if(pips_profit >= 0)
{
color_of_pipsprofit = Lime;
}
else {color_of_pipsprofit = Red;
}
int n,totalsell;
totalsell=OrdersTotal();
for(n=0;n<totalsell;n++)
OrderSelect(n, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == Reference)
{
pips=OrderProfit();
}
if(pips_profit >= 0)
{
color_of_pipsprofit = Lime;
}
else {color_of_pipsprofit = Red;
}
ObjectCreate("pips_profit", OBJ_LABEL, 0, 0, 0);
ObjectSetText("pips_profit",DoubleToStr(pips_profit,2),14, "Verdana", color_of_pipsprofit);
ObjectSet("pips_profit", OBJPROP_CORNER, 3);
ObjectSet("pips_profit", OBJPROP_XDISTANCE, 35);
ObjectSet("pips_profit", OBJPROP_YDISTANCE, 20);
}이 코딩을 만들었지만 거래되는 다른 통화에서 한 통화의 이익을 분리할 수 없습니다. 내 코드에 무엇이 부족합니까 ??
검토하시기 바랍니다. 당신의 도움을 주셔서 감사합니다!
데이브
이익
다음 코드를 시도해 보세요.
{
int total = OrdersTotal();
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNumber)
{
Print(Profit(OrderType(),OrderSymbol(),OrderOpenPrice());
}
}
return(0);
}
double Profit(int type, string currency, double open)
{
if(type==OP_BUY) return((MarketInfo(currency,MODE_BID) - open) / MarketInfo(currency,MODE_POINT) ); //case buy
if(type ==OP_SELL) return((open - MarketInfo(currency,MODE_ASK)) / MarketInfo(currency,MODE_POINT)); //case buy
return(-1);
}[/php]
[php]
color color_of_pipsprofit;
color_of_pipsprofit = White;
int m,totalbuy;
totalbuy=OrdersTotal();
for(m=0;m<totalbuy;m++)
OrderSelect(m, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == Reference)
{
pips_profit=OrderProfit();
}
if(pips_profit >= 0)
{
color_of_pipsprofit = Lime;
}
else {color_of_pipsprofit = Red;
}
int n,totalsell;
totalsell=OrdersTotal();
for(n=0;n<totalsell;n++)
OrderSelect(n, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == Reference)
{
pips=OrderProfit();
}
if(pips_profit >= 0)
{
color_of_pipsprofit = Lime;
}
else {color_of_pipsprofit = Red;
}
ObjectCreate("pips_profit", OBJ_LABEL, 0, 0, 0);
ObjectSetText("pips_profit",DoubleToStr(pips_profit,2),14, "Verdana", color_of_pipsprofit);
ObjectSet("pips_profit", OBJPROP_CORNER, 3);
ObjectSet("pips_profit", OBJPROP_XDISTANCE, 35);
ObjectSet("pips_profit", OBJPROP_YDISTANCE, 20);
}I created this coding, but I cannot isolate the profits of one currency from other currencies being traded. What am I lacking in my code??
Please review. Thanks for your help!
Dave다음 코드를 시도해 보세요.
{
int total = OrdersTotal();
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNumber)
{
Print(Profit(OrderType(),OrderSymbol(),OrderOpenPrice());
}
}
return(0);
}
double Profit(int type, string currency, double open)
{
if(type==OP_BUY) return((MarketInfo(currency,MODE_BID) - open) / MarketInfo(currency,MODE_POINT) ); //case buy
if(type ==OP_SELL) return((open - MarketInfo(currency,MODE_ASK)) / MarketInfo(currency,MODE_POINT)); //case buy
return(-1);
}안녕하세요 코더입니다.
이것은 내가 필요로 하는 것이 아니었습니다. 내가 찾고 있는 것을 설명하기 위해 그래프 그림을 첨부합니다. 이익을 표시하도록 코딩을 수정할 수 있습니까? 그렇다면 이익 금액에서 색상을 변경할 수 있습니다. 나는 단지 각 특정 통화에 대한 이익을 찾고 있습니다.
표시기 부착
안녕하세요 코더스구루
연결된 표시기가 중개인 서버 시간 이 아닌 gmt 자정에 열려 있음을 표시하기를 원합니다. 이것이 가능합니까?
많은 감사 몬티
코드 도움말
코드를 단계별로 실행할 수 있습니까? 잘못된 값이 표시되고(아래 "계정" 참조) 올바르게 채워지지만 이유를 모르겠습니다.
정수 계정 = 123456;
if (계정 != AccountNumber())
{
Comment("이 계정으로는 이 프로그램을 사용할 수 없습니다.");
리턴(0);
}
또 다른
{
Comment("프로그램에 오신 것을 환영합니다");
}
간단한 질문
전문가 고문은 init() 및 deinit() 함수 없이 정상적으로 실행됩니까?
전문 고문은 init() 및 deinit() 함수 없이 정상적으로 실행됩니까?
예,
시작 기능 만 필요합니다.
칼렌조,
질문이 있습니다:
헤징:
내가 찾고 있어요:
if (OrderOpenPrice() = = 입찰(또는 요청)
개봉 가격 은 새 가격과 같아야 합니다.
나는 같은 쌍 EURUSD로 헤지합니다.
시가가 매도이고 가격이 1.3580이라면,
구매 가격은 동일해야 합니다.
감사해요. 다음은 코드입니다.
비.
//--------------------------------------------------------
if(구매==0)
{
새로 고침 비율();
OrderSend(Symbol_1,OP_BUY,lotsi,MarketInfo(Symbol_1,MODE_ASK),...
새로 고침 비율();
if (OrderOpenPrice() == 입찰)
{
OrderSend(Symbol_1,OP_SELL,lotsi,MarketInfo(Symbol_1,MODE_BID),...
}