アスク! - ページ 31 1...242526272829303132333435363738...182 新しいコメント iscuba11 2006.08.30 14:20 #301 if (FirstRun==1) { FirstRun=0; prevtime=Time[0]; } if ((prevtime == Time[0]) && (CurTime()-prevtime)>MaxTradeTime) { NewBar=0; } else { prevtime 見つけた!」。 私たちは、私たちの理解不足の分野で、私たちよりも多くの知識と知恵を持っている他の人々の助けを借りて学ぶことができます。ありがとうございました。 デイブ <<< iscuba11 2006.08.30 14:33 #302 for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--) OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES); if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0)) { if(OrderOpenPrice()-Ask>=TrailingStop*Point) { if(OrderStopLoss()>Ask+Point*15||OrderStopLoss()==0) OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //Modify stop loss and take profit } return(0); } if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0)) { if(Bid-OrderOpenPrice()>=TrailingStop*Point) { if(OrderStopLoss()<Bid-Point*15 ||OrderStopLoss()==0) OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Modify stop loss and take profit } return(0); } return(0); } } 今、正しいフォーマットで、非常に寛大なコーダーの1人は、私が上記のこのSLとTPの問題を解決するのを助けてくれますか?私の最初のリクエストに戻ります。私のスリーププログラムは、様々な時間にEAを停止させます。EAはスリープモードになる前に、40-50pipのストップロス、100のテイクプロフィットで オープントレードを作成しました。EAがスリープ状態になる直前に、各オープンチケットのストップロスを15pipに、テイクプロフィットを25pipに変更したいのです。ストップロスはトレーリングストップではなく、現在の取引価格(テイクプロフィットも同様)より下(買い)または上(売り)のハードストップにしたいです。あなたの専門知識を貸してください、そして私の一日を作ってください! Ask! 出口戦略ステップ・ストップとトレーリング・ストップの比較 どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 削除済み 2006.08.30 14:39 #303 トレイリングストップは、以下の関数を 使用します。わかりやすく書かれていると思います。時々、プログラミングオタクがコードを書くことがありますが、それはミリ秒単位で見れば効率的かもしれませんが、読んだりデバッグしたりするのがとても大変な作業になります。 void TrailingAlls(int start,int stop) { int profit; double stoptrade; double stopcal; if(stop==0) return; int trade; for(trade=OrdersTotal()-1;trade>=0;trade--) { if(!OrderSelect(trade,SELECT_BY_POS,MODE_TRADES)) continue; if(OrderSymbol()!=Symbol()||OrderMagicNumber()!=MagicNumber) continue; if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber) { if(OrderType()==OP_BUY) { profit=NormalizeDouble((Bid-OrderOpenPrice())/Point,0); if(profit<start) continue; stoptrade=OrderStopLoss(); stopcal=Bid-(stop*Point); if(stoptrade==0||(stoptrade!=0&&stopcal>stoptrade)) OrderModify(OrderTicket(),OrderOpenPrice(),stopcal,OrderTakeProfit(),0,Blue); }//Long if(OrderType()==OP_SELL) { profit=NormalizeDouble((OrderOpenPrice()-Ask)/Point,0); if(profit<start) continue; stoptrade=OrderStopLoss(); stopcal=Ask+(stop*Point); if(stoptrade==0||(stoptrade!=0&&stopcal<stoptrade)) OrderModify(OrderTicket(),OrderOpenPrice(),stopcal,OrderTakeProfit(),0,Red); }//Shrt } }//for } それを次のようにしてスタートで呼び出します。 TrailingAlls(TrailStartPips,TrailStopPips)。 コーディングヘルプ...アラートの代わりにインジケータをフィルタリングする方法を教えてください。 出口戦略ステップ・ストップとトレーリング・ストップの比較 How to close trades iscuba11 2006.08.30 14:50 #304 Majiさん、私のコードでは(間違っているのですが)。 私はトレーリングストップを望んでいるわけではありません。 私はただ、各オープンチケットが、現在の通貨価格から 15ピップのハードストップロスと25ピップのハードテイクプロフィットを持つように修正されることを望んでいます。 私は、通貨記号に関連する未決済を検索し、各開封取引のストップロスとテイクプロフィットを修正する必要があります。 それが必要なすべてです。 昨夜は余談になり、トレーリングストップの話になったのですが、私とフェニックスの間で誤解がありました。 このそれほど難しくない機能を達成するために、どうか私を助けてください。 Dave <<< 削除済み 2006.08.30 15:15 #305 デイブ その変更を行うための材料は、私がお渡ししたルーチンの中にあると思います。 そうでなければ、あなたのコードを投稿するか、私にメールを送ってください。時々、他の人のコードを読むのはとても難しいので、もしかしたら時間のかかる作業かもしれません。その場合、私は手をあげます。 がんばってください。 iscuba11 2006.08.30 15:22 #306 投稿番号309は、私のPHPのコードです。 オープントレードをハードストップロス15、ハードテイクプロフィット 25に変更するだけです。あなたのようなプロがこのコードを修正するのはそれほど難しいことではありません。 Dave << 削除済み 2006.08.30 15:34 #307 デイヴ 私が言ったように、そのような編集をするのは非常に時間がかかります。私は昼休みに遊んでいるのですが、ここで試してみてください。もしうまくいかなかったら、自己責任でお願いします。テストはしていませんので・・・。 これをメインプログラムの中で、スリープを指示する直前に呼び出してください。 がんばってください。 void ChangeStop(int takeprofit,int stop) { double profit; double stopcal; if(stop==0) return; int trade; for(trade=OrdersTotal()-1;trade>=0;trade--) { if(!OrderSelect(trade,SELECT_BY_POS,MODE_TRADES)) continue; if(OrderSymbol()!=Symbol()||OrderMagicNumber()!=MagicNumber) continue; if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber) { if(OrderType()==OP_BUY) { profit=Ask+(takeprofit*point); stopcal=Bid-(stop*Point); OrderModify(OrderTicket(),OrderOpenPrice(),stopcal,profit,0,Blue); }//Long if(OrderType()==OP_SELL) { profit=Bid-(takeprofit*point); stopcal=Ask+(stop*Point); OrderModify(OrderTicket(),OrderOpenPrice(),stopcal,profit,0,Red); }//Shrt } }//for } コーディングヘルプ...アラートの代わりにインジケータをフィルタリングする方法を教えてください。 Ask! 出口戦略ステップ・ストップとトレーリング・ストップの比較 iscuba11 2006.08.30 15:45 #308 これのどこが修正されるのでしょうか? 当初のストップロスは40で、テイクプロフィットは100でした。 スリープモードの一環として、既存のオープン オーダーのストップロスは15に、テイクプロフィットは25に変更される予定です。 オープンオーダーチケット: スリープモード前。 スリープモード前 ストップロス-40 スリープモード前 テイクプロフィット-100 スリープモード後 ストップロス修正-15 スリープモード後 テイクプロフィット修正-25 注文の設定を初期化するのではなく、すでに発注され、まだ有効な既存の注文を修正 するのです。 とにかく助けてくれてありがとうございます。 なぜこんなに簡単なことが難しく見えるのでしょうか? デイブ << 削除済み 2006.08.30 16:08 #309 デイブ 難しいことではありません。MQをもう少し勉強する必要があります。私が提供したコードをチェックしてみてください。パラメータ、stopとtakeprofitはあなたが使いたい数字であるべきです。 全てはそこにあります、あなたはそれをどう使うかを考えなければなりません。 iscuba11 2006.08.30 17:09 #310 タオルを投げる。 エラーが出るんです。 フェニックスが提供してくれたものを使うことにしています。この言語がアメリカで学べる学校があれば、確かに私の人生は楽になるでしょう。 残念ながら、ないのです。 マジさん、Phoenixさん、ご意見ありがとうございました。 デイブ <<< 1...242526272829303132333435363738...182 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
FirstRun=0;
prevtime=Time[0];
}
if ((prevtime == Time[0]) && (CurTime()-prevtime)>MaxTradeTime) {
NewBar=0;
}
else {
prevtime見つけた!」。 私たちは、私たちの理解不足の分野で、私たちよりも多くの知識と知恵を持っている他の人々の助けを借りて学ぶことができます。ありがとうございました。
for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)
OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);
if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))
{
if(OrderOpenPrice()-Ask>=TrailingStop*Point)
{
if(OrderStopLoss()>Ask+Point*15||OrderStopLoss()==0)
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //Modify stop loss and take profit
}
return(0);
}
if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))
{
if(Bid-OrderOpenPrice()>=TrailingStop*Point)
{
if(OrderStopLoss()<Bid-Point*15 ||OrderStopLoss()==0)
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Modify stop loss and take profit
}
return(0);
}
return(0);
}
}今、正しいフォーマットで、非常に寛大なコーダーの1人は、私が上記のこのSLとTPの問題を解決するのを助けてくれますか?私の最初のリクエストに戻ります。私のスリーププログラムは、様々な時間にEAを停止させます。EAはスリープモードになる前に、40-50pipのストップロス、100のテイクプロフィットで オープントレードを作成しました。EAがスリープ状態になる直前に、各オープンチケットのストップロスを15pipに、テイクプロフィットを25pipに変更したいのです。ストップロスはトレーリングストップではなく、現在の取引価格(テイクプロフィットも同様)より下(買い)または上(売り)のハードストップにしたいです。あなたの専門知識を貸してください、そして私の一日を作ってください!
トレイリングストップは、以下の関数を 使用します。わかりやすく書かれていると思います。時々、プログラミングオタクがコードを書くことがありますが、それはミリ秒単位で見れば効率的かもしれませんが、読んだりデバッグしたりするのがとても大変な作業になります。
void TrailingAlls(int start,int stop)
{
int profit;
double stoptrade;
double stopcal;
if(stop==0)
return;
int trade;
for(trade=OrdersTotal()-1;trade>=0;trade--)
{
if(!OrderSelect(trade,SELECT_BY_POS,MODE_TRADES))
continue;
if(OrderSymbol()!=Symbol()||OrderMagicNumber()!=MagicNumber)
continue;
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
if(OrderType()==OP_BUY)
{
profit=NormalizeDouble((Bid-OrderOpenPrice())/Point,0);
if(profit<start)
continue;
stoptrade=OrderStopLoss();
stopcal=Bid-(stop*Point);
if(stoptrade==0||(stoptrade!=0&&stopcal>stoptrade))
OrderModify(OrderTicket(),OrderOpenPrice(),stopcal,OrderTakeProfit(),0,Blue);
}//Long
if(OrderType()==OP_SELL)
{
profit=NormalizeDouble((OrderOpenPrice()-Ask)/Point,0);
if(profit<start)
continue;
stoptrade=OrderStopLoss();
stopcal=Ask+(stop*Point);
if(stoptrade==0||(stoptrade!=0&&stopcal<stoptrade))
OrderModify(OrderTicket(),OrderOpenPrice(),stopcal,OrderTakeProfit(),0,Red);
}//Shrt
}
}//for
}
それを次のようにしてスタートで呼び出します。
TrailingAlls(TrailStartPips,TrailStopPips)。
Majiさん、私のコードでは(間違っているのですが)。 私はトレーリングストップを望んでいるわけではありません。 私はただ、各オープンチケットが、現在の通貨価格から 15ピップのハードストップロスと25ピップのハードテイクプロフィットを持つように修正されることを望んでいます。
私は、通貨記号に関連する未決済を検索し、各開封取引のストップロスとテイクプロフィットを修正する必要があります。 それが必要なすべてです。
昨夜は余談になり、トレーリングストップの話になったのですが、私とフェニックスの間で誤解がありました。
このそれほど難しくない機能を達成するために、どうか私を助けてください。
デイブ
その変更を行うための材料は、私がお渡ししたルーチンの中にあると思います。
そうでなければ、あなたのコードを投稿するか、私にメールを送ってください。時々、他の人のコードを読むのはとても難しいので、もしかしたら時間のかかる作業かもしれません。その場合、私は手をあげます。
がんばってください。
投稿番号309は、私のPHPのコードです。
オープントレードをハードストップロス15、ハードテイクプロフィット 25に変更するだけです。あなたのようなプロがこのコードを修正するのはそれほど難しいことではありません。
デイヴ
私が言ったように、そのような編集をするのは非常に時間がかかります。私は昼休みに遊んでいるのですが、ここで試してみてください。もしうまくいかなかったら、自己責任でお願いします。テストはしていませんので・・・。
これをメインプログラムの中で、スリープを指示する直前に呼び出してください。
がんばってください。
void ChangeStop(int takeprofit,int stop)
{
double profit;
double stopcal;
if(stop==0)
return;
int trade;
for(trade=OrdersTotal()-1;trade>=0;trade--)
{
if(!OrderSelect(trade,SELECT_BY_POS,MODE_TRADES))
continue;
if(OrderSymbol()!=Symbol()||OrderMagicNumber()!=MagicNumber)
continue;
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
if(OrderType()==OP_BUY)
{
profit=Ask+(takeprofit*point);
stopcal=Bid-(stop*Point);
OrderModify(OrderTicket(),OrderOpenPrice(),stopcal,profit,0,Blue);
}//Long
if(OrderType()==OP_SELL)
{
profit=Bid-(takeprofit*point);
stopcal=Ask+(stop*Point);
OrderModify(OrderTicket(),OrderOpenPrice(),stopcal,profit,0,Red);
}//Shrt
}
}//for
}
これのどこが修正されるのでしょうか? 当初のストップロスは40で、テイクプロフィットは100でした。 スリープモードの一環として、既存のオープン オーダーのストップロスは15に、テイクプロフィットは25に変更される予定です。
オープンオーダーチケット: スリープモード前。
スリープモード前 ストップロス-40 スリープモード前 テイクプロフィット-100 スリープモード後 ストップロス修正-15 スリープモード後 テイクプロフィット修正-25
注文の設定を初期化するのではなく、すでに発注され、まだ有効な既存の注文を修正 するのです。
とにかく助けてくれてありがとうございます。 なぜこんなに簡単なことが難しく見えるのでしょうか?
デイブ
難しいことではありません。MQをもう少し勉強する必要があります。私が提供したコードをチェックしてみてください。パラメータ、stopとtakeprofitはあなたが使いたい数字であるべきです。
全てはそこにあります、あなたはそれをどう使うかを考えなければなりません。
タオルを投げる。 エラーが出るんです。 フェニックスが提供してくれたものを使うことにしています。この言語がアメリカで学べる学校があれば、確かに私の人生は楽になるでしょう。 残念ながら、ないのです。
マジさん、Phoenixさん、ご意見ありがとうございました。