친애하는 전문가 여러분, 두 개의 사용자 지정 표시기 가 있으며 둘 다 히스토리컬입니다. 둘 다 별도의 창에 있습니다. 판독값은 정수로 표시됩니다. 몫을 표시할 지표를 만드는 방법(하나의 판독값을 두 번째 판독값으로 나눕니다). 이러한 작업은 예를 들어 Bill Williams 표시기(MFI)에서 수행되며 양초 크기 판독값을 틱 볼륨 판독값으로 나눕니다. 샘플에 대한 코드는 어디에도 없습니다. 지표의 이름이나 코드를 삽입하여 분할(몫)을 표시하는 지표를 얻을 수 있는 일종의 템플릿(골격)이 있다고 생각합니다. 누가 나에게 말해.
안녕하세요.
어떻게든 시도해 보세요.
어떻게든 시도해 보세요.
아니요, 당신은 작업을 이해하지 못했습니다.
상황에 따라 변수 이름이나 변수 값을 전달하는 방법이 필요합니다.
하나 의 변수 가능 양수인 여러 값 ?
그런 것
정수N=(1;2;5;9;15;19)
하나 의 변수 가능 양수인 여러 값 ?
그런 것
정수N=(1;2;5;9;15;19)
아니면 배열을 선언하려고 했습니까? 그런 다음 int N[6] = {1, 2, 5, 9, 15, 19};
나는 그런 배열을 사용하지 않습니다. 내가 뭔가를 잘못하면 아는 사람들이 수정할 것입니다 ...
그리고 어떤 값을 사용할지 어떻게 알아낼까요?
아니면 배열을 선언하려고 했습니까? 그런 다음 int N[6] = {1, 2, 5, 9, 15, 19};
나는 그런 배열을 사용하지 않습니다. 내가 뭔가를 잘못하면 아는 사람들이 수정할 것입니다 ...
고맙습니다! 사용하는 것 같아요 테스트 제한으로 거래 특정 날짜에. if(일()==N[6]) ! 무역 ;
안녕하세요 도와주세요...
세그먼트의 시작 및 종료 시간을 알고 있는 동일한 그래프의 세그먼트를 배치할 수 있는 차트에 창을 어떻게 만들 수 있습니까?
감사해요...
안녕하세요, 마팅게일로 EA를 보완할 수 있도록 도와주세요. 거래가 실패할 경우 다음 거래가 이전 거래에 비해 두 배의 로트로 열릴 것입니다.
//+----------------------------------------------- --------------------+
//| 테스트3.mq4 |
//| 포포프 블라디미르 |
//| http://vk.com/id143715412 |
//+----------------------------------------------- --------------------+
#property copyright "블라디미르 포포프"
#속성 링크 "http://vk.com/id143715412"
extern 이중 랏 = 0.1;
외부 정수 TakeProfit = 130;
extern int 손절매 = 80;
extern int 미끄러짐 = 5;
extern string comment = "Tma 봇";
외부 정수 매직 = 123;
extern string Indi = "표시 데이터";
extern string TimeFrame = "현재 시간 프레임";
extern int HalfLength = 20;
extern int 가격 = PRICE_CLOSE;
외부 이중 ATRMultiplier = 2.0;
extern int ATRPPeriod = 100;
extern bool 보간 = true;
extern int 들여쓰기 = 5;
extern int KPeriod = 5;
외부 intDPeriod=3;
extern int 감속 = 3;
이중 PriceHigh, PriceLow, SL, TP, PriceMiddle, PriceBuy, StochasticHigh, StochasticLow, PriceSell;
더블하이버퍼[];
이중 LowesBuffer[];
int 티켓1, 티켓2;
//+----------------------------------------------- --------------------+
//| 전문가 초기화 기능 |
//+----------------------------------------------- --------------------+
정수 초기화()
{
if (숫자 == 3 || 숫자 == 5)
{
이익을 취하십시오 *= 10;
손절매 *= 10;
미끄러짐 *= 10;
}
리턴(0);
}
//+----------------------------------------------- --------------------+
//| 전문가 초기화 해제 기능 |
//+----------------------------------------------- --------------------+
정수 초기화()
{
//----
//----
리턴(0);
}
//+----------------------------------------------- --------------------+
//| 전문가 시작 기능 |
//+----------------------------------------------- --------------------+
정수 시작()
{
PriceHigh = iCustom(Symbol(), 0, "시간", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPPeriod, Interpolate, 1, 0);
PriceLow = iCustom(Symbol(), 0, "시간", TimeFrame, HalfLength, 가격, ATRMultiplier, ATRPPeriod, Interpolate, 2, 0);
PriceMiddle = iCustom(Symbol(), 0, "시간", TimeFrame, HalfLength, 가격, ATRMultiplier, ATRPPeriod, Interpolate, 0, 0);
이중 제비, 제비;
if (입찰가 >= PriceHigh && CountSell() == 0)
{
SL = NormalizeDouble(Bid+StopLoss*Point, Digits);
TP = NormalizeDouble(Bid-TakeProfit*Point, Digits);
ticket1 = OrderSend(Symbol(), OP_SELL, 랏, 비드, 슬리피지, 0, 0, 코멘트, 매직, 0, 레드);
만약 (티켓1 > 0)
{
if(OrderSelect(티켓1, SELECT_BY_TICKET, MODE_TRADES) == true)
OrderModify(티켓1, OrderOpenPrice(), SL, TP, 0);
PriceBuy = NormalizeDouble(OrderOpenPrice() + 들여쓰기*포인트, 자릿수);
}
ticket2 = OrderSend(Symbol(), OP_BUYSTOP, lot, PriceBuy, Slippage, 0, 0, comment, Magic, 0, Green);
만약 (티켓2 > 0)
{
if (OrderSelect(ticket2, SELECT_BY_TICKET, MODE_TRADES)==true)
{
SL = NormalizeDouble(PriceBuy - 손절매 * 포인트, 자릿수);
TP = NormalizeDouble(PriceBuy + TakeProfit * 포인트, 자릿수);
OrderModify(티켓 2, OrderOpenPrice(), SL, TP, 0);
}
}
}
if(문의 <= PriceLow && Ask <= StochasticLow && CountBuy() == 0)
{
SL = NormalizeDouble(Ask-StopLoss*Point, Digits);
TP = NormalizeDouble(Ask+TakeProfit*Point, Digits);
ticket1 = OrderSend(Symbol(), OP_BUY, 랏, 비드, 슬리피지, 0, 0, 코멘트, 매직, 0, 블루);
만약 (티켓1 > 0)
{
if(OrderSelect(티켓1, SELECT_BY_TICKET, MODE_TRADES) == true)
OrderModify(티켓1, OrderOpenPrice(), SL, TP, 0);
PriceSell = NormalizeDouble(OrderOpenPrice() - 들여쓰기*포인트, 자릿수);
}
ticket2 = OrderSend(Symbol(), OP_SELLSTOP, lot, PriceSell, Slippage, 0, 0, comment, Magic, 0, Orange);
만약 (티켓2 > 0)
{
if (OrderSelect(ticket2, SELECT_BY_TICKET, MODE_TRADES)==true)
{
SL = NormalizeDouble(PriceSell + StopLoss * 포인트, 자릿수);
TP = NormalizeDouble(PriceSell - TakeProfit * 포인트, 자릿수);
OrderModify(티켓 2, OrderOpenPrice(), SL, TP, 0);
}
}
}
if (Ask <= PriceMiddle && CountSell() > 0)
{
for(int i=OrdersTotal()-1; i >=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
{
if (OrderMagicNumber() == Magic && OrderType() == OP_SELL)
OrderClose(OrderTicket(), OrderLots(), 묻기, 미끄러짐, 검정);
}
}
}
if (입찰가 >= PriceMiddle && CountBuy() > 0)
{
for(i=OrdersTotal()-1; i >=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
{
if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)
OrderClose(OrderTicket(), OrderLots(), 입찰, 미끄러짐, 녹색);
}
}
}
리턴(0);
}
//+----------------------------------------------- --------------------+
정수 CountBuy()
{
정수 개수 = 0;
(int tr = OrdersTotal()-1; tr >= 0; tr --)
{
주문 선택(tr, SELECT_BY_POS);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
if (OrderType() == OP_BUY)
카운트++;
}
}
리턴(카운트);
}
//+----------------------------------------------- --------------------+
정수 CountSell()
{
정수 개수 = 0;
(int tr= OrdersTotal()-1; tr >= 0; tr --)
{
주문 선택(tr, SELECT_BY_POS);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
if (OrderType() == OP_SELL)
카운트++;
}
}
반환(카운트);
}
그리고 어떤 값을 사용할지 어떻게 알아낼까요?
아니면 배열을 선언하려고 했습니까? 그런 다음 int N[6] = {1, 2, 5, 9, 15, 19};
나는 그러한 배열을 사용하지 않습니다. 내가 뭔가를 잘못하면 아는 사람들이 수정할 것입니다 ...
정수 N[6] = {1, 2, 5, 9, 15, 19};
if(일()==N[6]) ! 무역 ;
그러나 이 제안 은 작동하지 않았습니다 - 배열 밖으로 ~의 범위 ... EA의 심각한 오류 로 인해 테스트 통과가 중지되었습니다.
정수 N[6] = {1, 2, 5, 9, 15, 19};
if(일()==N[6]) ! 무역 ;
그러나 이 제안 은 작동하지 않았습니다 - 배열 밖으로 ~의 범위 ... EA의 심각한 오류로 인해 테스트 통과가 중지되었습니다.