externdouble TakeProfit = 35;
externdouble StopLoss = 25;
externdouble Lots = 0.1;
int NumberOfBarOpenLastPos(string sym="", int tf=0, int op=-1, int mn=-1) {
datetime oot;
int i, k=OrdersTotal();
if (sym=="") sym=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sym) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (oot<OrderOpenTime()) oot=OrderOpenTime();
}
}
}
}
}
}
return(iBarShift(sym, tf, oot, True));
}
int NumberOfBarCloseLastPos(string sy="0", int tf=0, int op=-1, int mn=-1) {
datetime t;
int i, k=OrdersHistoryTotal();
if (sy=="" || sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) t=OrderCloseTime();
}
}
}
}
}
}
return(iBarShift(sy, tf, t, True));
}
int start()
{
int ticket;
if(Bars<100)
{
Print("bars less than 100");
return(0);
}
if(TakeProfit<10)
{
Print("TakeProfit less than 10");
return(0);
}
if ((NumberOfBarOpenLastPos()>0||NumberOfBarOpenLastPos()==-1)&&(NumberOfBarCloseLastPos()>0||NumberOfBarCloseLastPos()==-1))
{
if(AccountFreeMargin()<(1000*Lots))
{
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if(Bid>High[1])
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"test",16384,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
elsePrint("Error opening BUY order : ",GetLastError());
return(0);
}
if(Bid<Low[1])
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"test",16384,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
elsePrint("Error opening SELL order : ",GetLastError());
return(0);
}
return(0);
}
}
スケールを計算するために、チャートの垂直スケールでの価格制限を知る方法はありますか(F8で見つかる、楽器の価格ではありません)。
ストラテジーテスターでExpert Advisorを動かしていますが、ポジションを開くことができません。雑誌には、EURUSD,M5: OrderSend error 131と書かれています。このEAを何度開いても、もう1ポジションも開かなかった。このような問題が発生した方がいらっしゃいましたら、アドバイスをお願いします。 ありがとうございました。
を使って正規化してみてください。
おそらく正規化されたロットはないでしょう、で正規化する。
あらゆるDTの制約を考慮し...
使っていない場合は別ですが...。では、「痛い...。:)
フォーラムの皆さん、こんにちは。
祖父母からハネムーンデーと聞いて。ハッピーホリデー
そして、私と一緒に...Drknnは、インジケーターの読み取りを 処理することは可能だと言っています。
ある期間のA / Dと同額のOBVを合計し、両者で割ることは可能か(分子にはOBVを使用)。
分母はA/D+係数で設定に出力されます。
真ん中がゼロ、ボーダーが浮いている。
Sum-NO TOTAL.絶対値による各運動。
そして、ユダヤに逆転の発想で挑む
Konichiua to all!ローソク足で一度だけ、異なるテイクオーバーで3つの注文をオープンさせるには?アリガトウございます。
異なるTake Pointを持つ3オーダーSendを作成するか、この関数を3回までループさせ(forまたはwhile)、各反復で異なるTake Pointを作成する。
異なるポイントで3回送信する - 最初の注文を3回開く :(
この関数を3回(forまたはwhile)ループさせると、各反復で異なるテイクを持つ - 最初の注文の束を開く :(
ハードでない場合は、どのように行うかを示すために?
ターゲットが異なる3つのオーダーを送信する - 最初のオーダーを3回開く :(
この関数を3回(forまたはwhile)ループさせると、各反復で異なるテイクを持つ - 最初の注文の束を開く :(
あまり複雑でなければ、やり方を教えてください。
未決済注文はカウントされますか?
以下は、あるEAのコードです。必要です。
1) ストップ高25、テイクオーバー15、35、50で一度に1つだけでなく3つのディールをオープンした。
2) テイク(35)で2回目の注文を決済した後、最後のポジション(テイク50)をブレイクイーブンレベルまで通過させたこと