どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 582

 
Twilight:

こんにちは。


Comment("test"+test2,testJPY);

Comment("testJPY[1] = ",testJPY[1]);
なんとかして、試してみてください。
 
r772ra:

こんな感じです、試してみてください。


いや、あなたは課題を理解していないのです。

状況に応じて、変数名か変数値のどちらかを渡す必要があります。

 

1つの 変数で あてがわれる 複数の価値観


斯くあるべし

int N=(1;2;5;9;15;19)

 
abeiks:

可能 でしょうか? には、1つの変数を割り当てることができます。 1つの変数に変換するのですか?


斯くあるべし

int N=(1;2;5;9;15;19)

それから、どの値を使うか、どう考えればいいのでしょうか?

それとも、配列を宣言するということですか?すると、int N[6] = {1, 2, 5, 9, 15, 19}となります。

このような配列は使わないので、間違っていたら、詳しい方に訂正してもらいますが・・・。


 
AlexeyVik:
それから、どの値を使えばいいのか、どう考えればいいのでしょうか?

それとも、配列を宣言するということですか?すると、int N[6] = {1, 2, 5, 9, 15, 19}となります。

このような配列は使っていません。もし間違っていたら、どなたか訂正してください...。



ありがとう ございます テスト リミット として月の特定の日に 取引 することに使おうと思って います。if(Day()==N[6])!

 

こんにちは!助けてください...

グラフ上にボックスを作成し、その中に同じグラフのセグメントを配置するには、セグメントの開始時刻と終了時刻を知る必要があります。

ありがとうございます...

 

こんにちは、マーチンゲールアドバイザーを追加したいのですが、負けトレードの場合、次のトレードは前のものに比べて2倍のロットで開かれるようにすることはできますか?

//+------------------------------------------------------------------+

//| Test3.mq4

//| ポポフ ウラジミール

//| http://vk.com/id143715412 |

//+------------------------------------------------------------------+

#property copyright"Popov Vladimir"(ポポフ・ウラジーミル)。

#プロパティリンク "http://vk.com/id143715412"


extern double Lots = 0.1;

extern int TakeProfit = 130;

extern int StopLoss = 80;

extern int Slippage = 5;

extern string comment = "Tma bot";

extern int Magic = 123;

extern string Indi = "インジケーターデータ";

extern string TimeFrame = "現在の時間枠";

extern int HalfLength = 20;

extern int Price = PRICE_CLOSE;

extern double ATRMultiplier = 2.0;

extern inttern ATRPeriod = 100;

extern bool Interpolate = true;

extern inttern インデント = 5;


extern inttern KPeriod =5;

extern int DPeriod =3;

extern inttern スローイング =3;



Double PriceHigh, PriceLow, SL, TP, PriceMiddle, PriceBuy, StochasticHigh, StochasticLow, PriceSell;

double HighesBuffer[];

double LowesBuffer[];

int ticket1, ticket2;


//+------------------------------------------------------------------+

//| エキスパート初期化関数

//+------------------------------------------------------------------+

int init()

{


if (Digits == 3 || Digits == 5)

{

TakeProfit *= 10;

StopLoss *= 10;

スリッページ *= 10;

}





return(0)です。

}

//+------------------------------------------------------------------+

//| 専門家による初期化関数

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0)です。

}

//+------------------------------------------------------------------+

//| エキスパートスタート機能

//+------------------------------------------------------------------+

int start()

{

PriceHigh = iCustom (Symbol (), 0, "Time", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 0)です。

PriceLow = iCustom (Symbol (), 0, "Time", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 0)です。

PriceMiddle = iCustom (Symbol (), 0, "Time", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 0, 0)です。

ダブルロット、Lot;

if (Bid >= PriceHigh && CountSell() == 0)

{

SL = NormalizeDouble(Bid+StopLoss*Point, Digits)です。

TP = NormalizeDouble(Bid-TakeProfit*Point, Digits)です。

ticket1 = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, comment, Magic, 0, Red)です。

if (ticket1 > 0)

{

if(OrderSelect(ticket1, SELECT_BY_TICKET, MODE_TRADES) == true)

OrderModify(ticket1, OrderOpenPrice(), SL, TP, 0);

PriceBuy = NormalizeDouble(OrderOpenPrice() + Indent*Point, Digits);

}

ticket2 = OrderSend(Symbol(), OP_BUYSTOP, Lots, PriceBuy, Slippage, 0, 0, comment, Magic, 0, Green)です。

if (ticket2 > 0)

{

if (OrderSelect(ticket2, SELECT_BY_TICKET, MODE_TRADES)==true)

{

SL = NormalizeDouble(PriceBuy - StopLoss * Point, Digits)。

TP = NormalizeDouble(PriceBuy + TakeProfit * Point, Digits)。

OrderModify(ticket2, OrderOpenPrice(), SL, TP, 0)です。

}

}

}


if(Ask <= PriceLow && Ask <= StochasticLow && CountBuy() == 0)

{

SL = NormalizeDouble(Ask-StopLoss*Point, Digits)です。

TP = NormalizeDouble(Ask+TakeProfit*Point, Digits)です。

ticket1 = OrderSend(Symbol(), OP_BUY, Lots, Bid, Slippage, 0, 0, comment, Magic, 0, Blue)です。

if (ticket1 > 0)

{

if(OrderSelect(ticket1, SELECT_BY_TICKET, MODE_TRADES) == true)

OrderModify(ticket1, OrderOpenPrice(), SL, TP, 0);

PriceSell = NormalizeDouble(OrderOpenPrice() - Indent*Point, Digits)です。

}

ticket2 = OrderSend(Symbol(), OP_SELLSTOP, Lots, PriceSell, Slippage, 0, 0, comment, Magic, 0, Orange)です。

if (ticket2 > 0)

{

if (OrderSelect(ticket2, SELECT_BY_TICKET, MODE_TRADES)==true)

{

SL = NormalizeDouble(PriceSell + StopLoss * Point, Digits)。

TP = NormalizeDouble(PriceSell - TakeProfit * Point, Digits)。

OrderModify(ticket2, 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(), Ask, Slippage, Black)です。

}

}

}

if (Bid >= 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(), Bid, Slippage, Green)です。

}

}

}

return(0)です。

}

//+------------------------------------------------------------------+


int CountBuy()

{

int count = 0;

for (int tr = OrdersTotal()-1; tr >= 0; tr --)

{

OrderSelect(tr, SELECT_BY_POS);

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)

{

if (OrderType() == OP_BUY)

count++です。

}

}

を返す(カウント)。

}


//+------------------------------------------------------------------+


int CountSell()

{

int count = 0;

for (int tr= OrdersTotal()-1; tr >= 0; tr --)

{

OrderSelect(tr, SELECT_BY_POS);

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)

{

if (OrderType() == OP_SELL)

count++です。

}

}

を返す(カウント)。

}

 
2つのカスタムインジケーターが あり、両方ともヒストグラムのインジケーターで、両方とも別のウィンドウに表示されています。このインジケーターのコードはないと思います。インジケータ名やそのコードを貼り付けて、その分割(分数)を示すインジケータを得るためのテンプレート(スケルトン)がありそうな気がするのですが。どなたかご存知ですか?
 
AlexeyVik:
それから、どの値を使うか、どう考えればいいのでしょうか?

それとも、配列を宣言するということですか?すると、int N[6] = {1, 2, 5, 9, 15, 19}となります。

そんな配列は使わない、何か勘違いしていたら友達が訂正してくれるから...。



int N[6] = {1, 2, 5, 9, 15, 19};

if(Day()==N[6])の場合!

しかしこの 提案はうまくいかなかった -アレイ アウト 範囲で. ..EAに重大な エラーが発生したため、テストパスが停止しました。

 
abeiks:

int N[6] = {1, 2, 5, 9, 15, 19};

if(Day()==N[6])の場合!

しかし、 これはうまくいかなかった -アレイ アウト 範囲で. ..EAに重大なエラーが発生したため、テストパスが停止しました。

配列について少し読めば、配列のインデックス付けは 0から始まり、1次元まで、つまりあなたの場合は0から5まで、ということが理解できるはずです。