제로 라인을 넘을 때 Bullspower 표시기에 대한 소리 경고를 작성하려고합니다. 저는 MQL에 대한 경험이 없지만 다른 여러 지표의 일부 코드를 함께 넣습니다. 코드를 컴파일할 때 오류가 없습니다. 표시기 경고가 작동하지 않지만 Bullbears가 0선을 넘을 때 이 경고음을 수정하거나 새 코드를 입력하는 데 도움을 주시겠습니까?
안녕하세요, 가격이 일정 수준에 도달했을 때 거래를 종료하는 방법을 알고 싶습니다. 예를 들어 MA 라인 위의 55포인트입니다. 나는 OrderSend의 TakeProfit 부분에 MA를 포함시키려고 했지만 테스터는 "invalid something" 오류 메시지와 함께 내 EA를 거부합니다. 고맙습니다.
Sendra: 안녕하세요, 가격이 일정 수준에 도달했을 때 거래를 종료하는 방법을 알고 싶습니다. 예를 들어 MA 라인 위의 55포인트입니다. 나는 OrderSend의 TakeProfit 부분에 MA를 포함시키려고 했지만 테스터는 "invalid something" 오류 메시지와 함께 내 EA를 거부합니다. 고맙습니다.
귀하의 코드를 시도했지만 대신 더 많은 부정 결과를 얻었습니다. 이유는 묻지 마세요. 저도 답을 모릅니다. 참고로 저는 아직 코딩에서 뺑소니 단계에 있습니다. 하지만 어쨌든 고맙게도 당신의 코드는 나에게 충분한 결과와 함께 내 자신을 작성할 수 있는 충분한 영감을 주었습니다.
Codersguru 도와주세요
코더스구루
제로 라인을 넘을 때 Bullspower 표시기에 대한 소리 경고를 작성하려고합니다. 저는 MQL에 대한 경험이 없지만 다른 여러 지표의 일부 코드를 함께 넣습니다. 코드를 컴파일할 때 오류가 없습니다. 표시기 경고가 작동하지 않지만 Bullbears가 0선을 넘을 때 이 경고음을 수정하거나 새 코드를 입력하는 데 도움을 주시겠습니까?
thx 미리 많이
//+----------------------------------------------- -------------------+
//| |
//| |
//| |
//| |
//+----------------------------------------------- -------------------+
#재산권 "forex-tsd"
#속성 링크 "https://www.forex-tsd.com"
#속성 표시기_분리_창
#속성 표시기_버퍼 2
#property indicator_color1 라임
#property indicator_color2 크림슨
#속성 표시기_레벨1 0
이중 ExtMapBuffer1[];
이중 ExtMapBuffer2[];
더블 발불[];
이중 밸브베어[];
//+----------------------------------------------- -------------------+
//| 커스텀 인디케이터 초기화 기능 |
//+----------------------------------------------- -------------------+
정수 초기화()
{
표시 버퍼(3);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexDrawBegin(0,2);
SetIndexLabel(0,"ExtMapBuffer1");
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexStyle(1, DRAW_HISTOGRAM, STYLE_SOLID, 4);
SetIndexDrawBegin(1,2);
SetIndexLabel(1,"ExtMapBuffer2");
//---- 표시기
//----
리턴(0);
}
//+----------------------------------------------- -------------------+
//| 고객 표시기 초기화 해제 기능 |
//+----------------------------------------------- -------------------+
정수 초기화()
{
//---- TODO: 여기에 코드 추가
//----
리턴(0);
}
//+----------------------------------------------- -------------------+
//| 사용자 지정 표시기 반복 기능 |
//+----------------------------------------------- -------------------+
정수 시작()
{
int shift,counted_bars=IndicatorCounted();
더블 valbear[], valbull[];
//---- 가능한 오류 확인
if(counted_bars<0) return(-1);
//---- 마지막으로 계산된 막대가 다시 계산됩니다.
if(counted_bars>0) counted_bars--;
shift=바-1;
동안(시프트>=0)
{
valbull[shift]=iBullsPower(NULL, 0, 13,PRICE_CLOSE,0);
valbear[shift]=iBearsPower(NULL, 0, 13,PRICE_CLOSE,0);
if (valbull[shift]>0)
{
ExtMapBuffer1[시프트]=발불[시프트];
ExtMapBuffer2[시프트]=0;
}
또 다른
{
ExtMapBuffer2[시프트]=발불[시프트];
ExtMapBuffer1[시프트]=0;
}
옮기다--;//
}
//---- 경고 모듈
#define SIGNAL_BAR 1
//---- 마지막 막대 시간이 있는 정적 변수
//---- 및 마지막 경고 방향이 저장됩니다.
정적 정수 PrevSignal = 0, PrevTime = 0;
//---- 분석하고자 선택한 막대가 0 막대가 아닌 경우,
// 경고를 확인할 의미가 없습니다.
//---- 여러번. 새로운 막대가 형성되기 시작하지 않으면 종료하십시오.
if(SIGNAL_BAR > 0 && 시간[0] <= 이전 시간)
리턴(0);
//---- 이 막대가 선택되었음을 표시합니다.
이전 시간 = 시간[0];
if(이전 신호 <= 0)
{
if(발불[SIGNAL_BAR] > 0 )
{
이전 신호 = 1;
Alert("BullChannel_positiv(", Symbol(), ", ", Period(), ") - 구매!!!");
}
}
if(이전 신호 >= 0)
{
if(발불[SIGNAL_BAR] < 0 )
{
PrevSignal = -1;
Alert("BearChannel_negativ(", Symbol(), ", ", Period(), ") - SELL!!!");
}
}
//---- 경고 모듈 종료
//----
리턴(0);
}
//+----------------------------------------------- -------------------+
기능을 사용하여 열린 주문과 보류 중인 주문 을 구별하는 방법은 무엇입니까?
기능을 사용하여 열린 주문과 보류 중인 주문을 구별하는 방법은 무엇입니까?
감사해요.
기능을 사용하여 열린 주문과 보류 중인 주문을 구별하는 방법은 무엇입니까? 감사해요.
OrderType() 확인 :
OrderType() == OP_BUY //주문 구매(열림)
OrderType() == OP_SELL //주문 판매(열림)
OrderType() == OP_BUYLIMIT //구매 제한 주문(보류 중)
OrderType() == OP_SELLLIMIT //판매 제한 주문(보류 중)
OrderType() == OP_BUYSTOP //구매 중지 주문(보류 중)
OrderType() == OP_SELLSTOP //판매 중지 주문(보류 중)
EA의 iMAOnArray
안녕 여러분,
지표(예: CCI, Force, RSI)의 이동 평균 교차점을 기반으로 EMA를 수행하려고 합니다. 그러나 배열을 선언하고 iMAOnArray 함수 를 실행하여 변수를 만드는 방법을 이해할 수 없습니다.
예를 들어, 아래 코드에서 차트에 대한 RSI 데이터를 버퍼에 넣은 다음 데이터를 활용하여 거래를 트리거할 이동 평균을 생성하려고 합니다. 내가 무엇을 잘못하고 있지?
의견이나 제안에 감사드립니다.
가을
이중 RSI[];
ArrayResize(RSI, 막대);
ArraySetAsSeries(RSI, 참);
for(int i=막대; i>=0; i--)
{
RSI = (iRSI(NULL,0,RSIPeriod,RSIPrice,i));
}
이중 Green0 = iMAOnArray(RSI,0,GreenPeriod,0,GreenPrice,0);
여보세요
경고와 함께 단계 추진력 이 있는 사람이 있습니까?
좋은 지표가 될 것 같아요
감사해요
문안 인사!
레벨별 거래 마감
안녕하세요, 가격이 일정 수준에 도달했을 때 거래를 종료하는 방법을 알고 싶습니다. 예를 들어 MA 라인 위의 55포인트입니다. 나는 OrderSend의 TakeProfit 부분에 MA를 포함시키려고 했지만 테스터는 "invalid something" 오류 메시지와 함께 내 EA를 거부합니다. 고맙습니다.
안녕하세요, 가격이 일정 수준에 도달했을 때 거래를 종료하는 방법을 알고 싶습니다. 예를 들어 MA 라인 위의 55포인트입니다. 나는 OrderSend의 TakeProfit 부분에 MA를 포함시키려고 했지만 테스터는 "invalid something" 오류 메시지와 함께 내 EA를 거부합니다. 고맙습니다.
우선 이동 평균을 구하십시오.
이중 MA = iMA(...);
그런 다음 다음과 같이 TakeProfit을 계산합니다.
이중 TP = MA + (55*포인트); // 또는 TP = MA-(55*포인트); 매도의 경우.
효과가있다!!
고마워요, CodersGuru. 작동합니다. 그러나 그것은 또한 저를 생각하게 만듭니다. 만약 내가 고정적이지 않은 특정 수준으로 이익 실현을 할 수 있다면, 내 손절매로 똑같이 할 수 있습니다(trailingstop을 사용하지 않고).
그리고 나는 시도했다.
그것은 나쁜 결과와 함께 작동했습니다. 그래서, 나는 trailingstop과 관련이 있다고 생각합니다. 그 맞습니까? (참고로 저는 아직 trailingstop을 코딩하는 방법을 배우지 않았습니다.)
감사합니다.
내부 후행 정지
고마워요, CodersGuru. 작동합니다. 그러나 그것은 또한 저를 생각하게 만듭니다. 만약 내가 고정적이지 않은 특정 수준으로 이익실현을 할 수 있다면, 내 손절매로 똑같이 할 수 있습니다(trailingstop을 사용하지 않고).
그리고 나는 시도했다.
그것은 나쁜 결과와 함께 작동했습니다. 그래서, 나는 trailingstop과 관련이 있다고 생각합니다. 그 맞습니까? (참고로 저는 아직 trailingstop을 코딩하는 방법을 배우지 않았습니다.)
감사합니다.나는 내부 후행 정지에 대해 다음과 같이 했습니다. (이것은 긴 주문의 예입니다) 작동하는 것 같습니다. 도움이 되었기를 바랍니다.
extern int Trailing_Stop=20;
정적 이중 Trailing_Long;
bool Read_Long_Open;
if (장기 진입 결정 삽입)
{
여기에서 Ordersend() 함수
Read_Long_Open=참;
}
if (Read_Long_Open==true)
{
if(주문 선택(T_1L, SELECT_BY_TICKET)==true)
{
Trailing_Long=OrderOpenPrice();
Print(" Trailing_Long =",Trailing_Long);
Read_Long_Open=거짓;
}
}
if (Read_Long_Open==false)
{
if (Trailing_Long < 입찰가)
{
Trailing_Long=입찰가;
Print("조정된 Trailing_Long =",Trailing_Long);
}
}
if (입찰가 <= Trailing_Long-Trailing_Stop*Point)
{
주문 닫기() 함수
Print("장기 주문 마감");
}
감사해요
안녕, 울프
귀하의 코드를 시도했지만 대신 더 많은 부정 결과를 얻었습니다. 이유는 묻지 마세요. 저도 답을 모릅니다. 참고로 저는 아직 코딩에서 뺑소니 단계에 있습니다. 하지만 어쨌든 고맙게도 당신의 코드는 나에게 충분한 결과와 함께 내 자신을 작성할 수 있는 충분한 영감을 주었습니다.
감사합니다.