コーディングの方法は? - ページ 187 1...180181182183184185186187188189190191192193194...347 新しいコメント dedreko 2009.06.27 19:49 #1861 はい、3ステップにしたいです 例 15歩進んで10歩戻る 30秒後に15秒戻る 45ドルに到達して15ドル戻す または、ストップロスで 決済する。 写真を撮って、もっとうまく説明できるようにします。 dedreko 2009.06.28 06:53 #1862 fosgate_r: これは私にとって新しいものです。だから、負けトレードの終了は、常にそれが右バウンスバックするまで待つ必要がありますか? バウンスバックしない場合はどうなんでしょうか? 最初のSLでクローズするのでしょうか? 今までにありがとう、私はすでにそれを作った、今この損失保護で良い結果を得るために最適化しようとしています。 SPACECHIMP 2009.06.30 01:27 #1863 私は、例えばRSIインジケータのように、線をプロットするための情報を見つけようとしています...私は、同じインジケータに線としてプロットしたい2つの数字を持っています。 私はそれがある種の配列を含むことを知っているが、私はコードのグループがこれを実現するために見つけるのに苦労しています。 Arshed Qureshi 2009.06.30 04:28 #1864 インジケーターバッファー SPACECHIMP: MQL4.comでは、MQL4.comを利用した様々なサービスを提供しています。 こちらの記事をご覧ください 初心者のためのMQL4言語。カスタム・インジケータ(パート1) - MQL4 Articles 削除済み 2009.06.30 06:54 #1865 smb1970: こんにちは、皆さん。ジョージ・スミスのForex Made-EZをご存知の方がいらっしゃるかどうかわかりません。 現在、彼の作品を見直しているのですが、彼が使っているオスカーオシレーターのインジケータをコード化した人がいるのでしょうか? 計算式は A = 過去8本の最高値(この1本を含む) B = 過去8本の安値(この1本を含む) C = 現在のバーの終値 X = 前回のオシレータ値(オスカー) 今日のオシレーターは、(C-B)を(A-B)で割って100を掛けたものになります。 次に、この大まかな数値(Yと呼ぶ)を次のように「平滑化」します。 最終的なオシレータの数値 = ((X÷3) × 2) + (Y÷3). もし、どなたかこれをコード化したことのある方、またはコード化できる方がいらっしゃいましたら、ぜひ教えてください。 スティーブ 私はこれを自分でコーディングしてみました。これが私が考えているようになるかどうか、どなたかコメントをお願いします。数値は、手動で計算した場合の数値と全く一致しないようです。また、インジケータを配置した時点からしか起動しません。過去の値も表示してほしいです。 #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 レッド //---- バッファ double ExtMapBuffer1[]です。 //+------------------------------------------------------------------+ //| カスタムインジケータ 初期化関数 //+------------------------------------------------------------------+ int init() { //---- インジケータ SetIndexStyle(0,DRAW_LINE)を設定します。 SetIndexBuffer(0,ExtMapBuffer1)を設定します。 文字列short_name = "Oscar Indicator"; IndicatorShortName(short_name)。 //---- return(1); } //+------------------------------------------------------------------+ //| カストマーインジケーター初期化関数 //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| カスタムインジケータイテレーション関数 //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); //エラーの可能性をチェック if (counted_bars<0) return(-1); //---- 最後にカウントされたバーが再カウントされる if (counted_bars>0) counted_bars--; int pos=Bars-counted_bars; //---- メイン計算ループ double x; x=50; while(pos>=0) { double a, b, c, y, osc; //A=過去8本のバーの最高値(このバーを含む) a=High //let B = 過去8本のバーのうち最も低い安値(このバーを含む) b=Low; //let C = 現在のバーの終値 c = Close[pos]; //let X = 直前のオシレーターの数値 (オスカー) //今日のオシレーターは、(C-B)を(A-B)の100倍で割った値です。 Y=((C-B)/(A-B))*100; //次に、この大まかな数値(Yとします)を次のように「平滑化」します。 //最終的な振動子数=((X÷3)×2)+(Y÷3)。 osc=((x/3)*2)+(y/3)となります。 ExtMapBuffer1[pos]= osc ; pos--; } return(0); } よろしくお願いします。 ありがとうございます。 [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 ICustom機能 どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - Ricx 2009.06.30 08:05 #1866 聞く...MODE_TRADES こんにちは、どなたかMODE_TRADESの使用例を教えていただけませんか? ありがとうございます。 Mladen Rakic 2009.06.30 08:34 #1867 smb1970さんへ - これがそうです。 //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Red #property indicator_maximum 100 #property indicator_minimum 0 // // // // // extern int OscPeriod = 8; extern int OscPrice = PRICE_CLOSE; double oscBuffer[]; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ // // // // // int init() { SetIndexBuffer(0,oscBuffer); IndicatorShortName("Osc ("+OscPeriod+")"); return(0); } int deinit() { return(0); } int start() { int counted_bars=IndicatorCounted(); int i,limit; if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; // // // // // for(i=limit; i>=0; i--) { double price = iMA(NULL,0,1,0,MODE_SMA,OscPrice,i); double high = High[ArrayMaximum(High,OscPeriod,i)]; double low = Low[ArrayMinimum(Low,OscPeriod,i)]; // // // // // if (high!=low) double raw = 100.00*(price-low)/(high-low); else raw = 0.00; oscBuffer= oscBuffer*2.0/3.0 + raw/3.0; } return(0); } しかし、画像も見てください。上が "Oscar" 下が stochastic(8) の Ema(5) で、もっと簡単に言うと、下が Stochastic(8,5,1) でシグナルラインは exponential にセットされています。つまり、"Oscar" は、単純に stochastic のシグナルラインということになります。 ファイル: oscar.gif 21 kb How to code? エリート指標 :) 戦略を求める人は?たくさん、しかも無料で)。 削除済み 2009.06.30 11:01 #1868 ありがとうございます!(笑 mladenさん、ありがとうございます!とても便利なだけでなく、とてもわかりやすいですね。 削除済み 2009.07.02 11:22 #1869 新米がコーディングでお困りです :-) こんにちは、皆さん。 私はここにいくつかの異種の助けを必要としている 。 私は、異なる指標間の一致を探すいくつかのコードを持っています。 今のところ、1回目の「買い」の取引はできますが、1回だけの取引はできません...最大8回の取引をエントリーしています。 そして、相場が不利になると、不利になったにもかかわらず、再度売買を行う「コンティンジェンシー・トレード」をエントリーしています。 どなたか、正しいコードがどのようなものであるかを教えていただけると大変 助かります。 これらの画像が表示されるかどうかわからないが、念のため私も添付ファイルとして持っている。 以下は、取引を実行することになっている私の欠陥のあるコードです... while (execute_trade ==5) {if ( OrdersTotal() == buy_trade1 ) //buy_trade1 = 1...this stopped it after one order have been placed... but doesn't work yet ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point).execute_trade=0;;。 execute_trade=0; if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)) Print("私のチケットは: " , ticket); { buy1 = OrderOpenPrice(); //1番目の注文の価格をこの変数に取り込む // Comment("order #1open price is ", OrderOpenPrice() + " + buy1 + " less than " + (buy1-0.0030)); if (buy1>=(buy1-0.0030))。 { //if ( OrdersTotal() <= buy_trade1 ) //1つ注文を出したら停止する。 ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point)。 //execute_trade=0。 } } else Print("OrderSelectは",GetLastError())のエラーを返しました。 } How do I capture How to code? How do I control 削除済み 2009.07.02 12:27 #1870 新米がコーディングで困っています こんにちは、皆さん。 私はここでいくつかの異種の助けを必要としています。私は、異なる指標間の一致を探すいくつかのコードを持っています。このような場合、どのようにすればよいのでしょうか?今のところ1回目の "買い "の取引はできますが、1回の取引だけでなく、最大8回の取引をエントリーしています。そして、相場が不利になると、不利になったにもかかわらず、再度売買を行う「コンティンジェンシー・トレード」をエントリーしています。どなたか、正しいコードがどのようなものであるかを教えていただけると大変助かります。 これらの画像が表示されるかどうかはわかりませんが、念のため、私はまた、添付ファイルとしてそれらを持っています。 画像1 写真2 以下は、取引を実行することになっている私の欠陥のあるコードです... while (execute_trade ==5) {if ( OrdersTotal() == buy_trade1 ) //buy_trade1 = 1...this stops it after one order have been placed... but doesn't work yet ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+ TakeProfit*Point)とする。 execute_trade=0; if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)) Print("私のチケットは: " , ticket); { buy1 = OrderOpenPrice(); //1番目の注文の価格をこの変数に取り込む // Comment("order #1open price is ", OrderOpenPrice() + " + buy1 + " less than " + (buy1-0.0030)); if (buy1>=(buy1-0.0030))。 { //if ( OrdersTotal() <= buy_trade1 ) //1つ注文を出したら停止する。 ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+ TakeProfit*Point)とする。 //execute_trade=0。 } } その他 Print("OrderSelectは",GetLastError())のエラーを返しました。 } ファイル: the_perfect_buy_and_sell.jpg 118 kb contingency_trades_2.jpg 156 kb How do I capture How to code? How do I control 1...180181182183184185186187188189190191192193194...347 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
はい、3ステップにしたいです
例
15歩進んで10歩戻る
30秒後に15秒戻る
45ドルに到達して15ドル戻す
または、ストップロスで 決済する。
写真を撮って、もっとうまく説明できるようにします。
これは私にとって新しいものです。
だから、負けトレードの終了は、常にそれが右バウンスバックするまで待つ必要がありますか?
バウンスバックしない場合はどうなんでしょうか?
最初のSLでクローズするのでしょうか?今までにありがとう、私はすでにそれを作った、今この損失保護で良い結果を得るために最適化しようとしています。
私は、例えばRSIインジケータのように、線をプロットするための情報を見つけようとしています...私は、同じインジケータに線としてプロットしたい2つの数字を持っています。
私はそれがある種の配列を含むことを知っているが、私はコードのグループがこれを実現するために見つけるのに苦労しています。
インジケーターバッファー
MQL4.comでは、MQL4.comを利用した様々なサービスを提供しています。
こちらの記事をご覧ください
初心者のためのMQL4言語。カスタム・インジケータ(パート1) - MQL4 Articles
こんにちは、皆さん。
ジョージ・スミスのForex Made-EZをご存知の方がいらっしゃるかどうかわかりません。
現在、彼の作品を見直しているのですが、彼が使っているオスカーオシレーターのインジケータをコード化した人がいるのでしょうか?
計算式は
A = 過去8本の最高値(この1本を含む)
B = 過去8本の安値(この1本を含む)
C = 現在のバーの終値
X = 前回のオシレータ値(オスカー)
今日のオシレーターは、(C-B)を(A-B)で割って100を掛けたものになります。
次に、この大まかな数値(Yと呼ぶ)を次のように「平滑化」します。
最終的なオシレータの数値 = ((X÷3) × 2) + (Y÷3).
もし、どなたかこれをコード化したことのある方、またはコード化できる方がいらっしゃいましたら、ぜひ教えてください。
スティーブ私はこれを自分でコーディングしてみました。これが私が考えているようになるかどうか、どなたかコメントをお願いします。数値は、手動で計算した場合の数値と全く一致しないようです。また、インジケータを配置した時点からしか起動しません。過去の値も表示してほしいです。
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 レッド
//---- バッファ
double ExtMapBuffer1[]です。
//+------------------------------------------------------------------+
//| カスタムインジケータ 初期化関数
//+------------------------------------------------------------------+
int init()
{
//---- インジケータ
SetIndexStyle(0,DRAW_LINE)を設定します。
SetIndexBuffer(0,ExtMapBuffer1)を設定します。
文字列short_name = "Oscar Indicator";
IndicatorShortName(short_name)。
//----
return(1);
}
//+------------------------------------------------------------------+
//| カストマーインジケーター初期化関数
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| カスタムインジケータイテレーション関数
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//エラーの可能性をチェック
if (counted_bars<0) return(-1);
//---- 最後にカウントされたバーが再カウントされる
if (counted_bars>0) counted_bars--;
int pos=Bars-counted_bars;
//---- メイン計算ループ
double x;
x=50;
while(pos>=0)
{
double a, b, c, y, osc;
//A=過去8本のバーの最高値(このバーを含む)
a=High
//let B = 過去8本のバーのうち最も低い安値(このバーを含む)
b=Low;
//let C = 現在のバーの終値
c = Close[pos];
//let X = 直前のオシレーターの数値 (オスカー)
//今日のオシレーターは、(C-B)を(A-B)の100倍で割った値です。
Y=((C-B)/(A-B))*100;
//次に、この大まかな数値(Yとします)を次のように「平滑化」します。
//最終的な振動子数=((X÷3)×2)+(Y÷3)。
osc=((x/3)*2)+(y/3)となります。
ExtMapBuffer1[pos]= osc ;
pos--;
}
return(0);
}
よろしくお願いします。
ありがとうございます。
聞く...MODE_TRADES
こんにちは、どなたかMODE_TRADESの使用例を教えていただけませんか?
ありがとうございます。
smb1970さんへ - これがそうです。
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
#property indicator_maximum 100
#property indicator_minimum 0
//
//
//
//
//
extern int OscPeriod = 8;
extern int OscPrice = PRICE_CLOSE;
double oscBuffer[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
//
//
//
//
//
int init()
{
SetIndexBuffer(0,oscBuffer);
IndicatorShortName("Osc ("+OscPeriod+")");
return(0);
}
int deinit() { return(0); }
int start()
{
int counted_bars=IndicatorCounted();
int i,limit;
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//
//
//
//
//
for(i=limit; i>=0; i--)
{
double price = iMA(NULL,0,1,0,MODE_SMA,OscPrice,i);
double high = High[ArrayMaximum(High,OscPeriod,i)];
double low = Low[ArrayMinimum(Low,OscPeriod,i)];
//
//
//
//
//
if (high!=low)
double raw = 100.00*(price-low)/(high-low);
else raw = 0.00;
oscBuffer= oscBuffer*2.0/3.0 + raw/3.0;
}
return(0);
}しかし、画像も見てください。上が "Oscar" 下が stochastic(8) の Ema(5) で、もっと簡単に言うと、下が Stochastic(8,5,1) でシグナルラインは exponential にセットされています。つまり、"Oscar" は、単純に stochastic のシグナルラインということになります。
ありがとうございます!(笑
mladenさん、ありがとうございます!とても便利なだけでなく、とてもわかりやすいですね。
新米がコーディングでお困りです :-)
こんにちは、皆さん。
私はここにいくつかの異種の助けを必要としている 。 私は、異なる指標間の一致を探すいくつかのコードを持っています。 今のところ、1回目の「買い」の取引はできますが、1回だけの取引はできません...最大8回の取引をエントリーしています。 そして、相場が不利になると、不利になったにもかかわらず、再度売買を行う「コンティンジェンシー・トレード」をエントリーしています。 どなたか、正しいコードがどのようなものであるかを教えていただけると大変 助かります。
これらの画像が表示されるかどうかわからないが、念のため私も添付ファイルとして持っている。
以下は、取引を実行することになっている私の欠陥のあるコードです...
while (execute_trade ==5)
{if ( OrdersTotal() == buy_trade1 ) //buy_trade1 = 1...this stopped it after one order have been placed... but doesn't work yet
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point).execute_trade=0;;。
execute_trade=0;
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
Print("私のチケットは: " , ticket);
{
buy1 = OrderOpenPrice(); //1番目の注文の価格をこの変数に取り込む
// Comment("order #1open price is ", OrderOpenPrice() + " + buy1 + " less than " + (buy1-0.0030));
if (buy1>=(buy1-0.0030))。
{
//if ( OrdersTotal() <= buy_trade1 ) //1つ注文を出したら停止する。
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point)。
//execute_trade=0。
}
} else
Print("OrderSelectは",GetLastError())のエラーを返しました。
}
新米がコーディングで困っています
こんにちは、皆さん。
私はここでいくつかの異種の助けを必要としています。私は、異なる指標間の一致を探すいくつかのコードを持っています。このような場合、どのようにすればよいのでしょうか?今のところ1回目の "買い "の取引はできますが、1回の取引だけでなく、最大8回の取引をエントリーしています。そして、相場が不利になると、不利になったにもかかわらず、再度売買を行う「コンティンジェンシー・トレード」をエントリーしています。どなたか、正しいコードがどのようなものであるかを教えていただけると大変助かります。
これらの画像が表示されるかどうかはわかりませんが、念のため、私はまた、添付ファイルとしてそれらを持っています。
画像1
写真2
以下は、取引を実行することになっている私の欠陥のあるコードです...
while (execute_trade ==5)
{if ( OrdersTotal() == buy_trade1 ) //buy_trade1 = 1...this stops it after one order have been placed... but doesn't work yet
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+ TakeProfit*Point)とする。
execute_trade=0;
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
Print("私のチケットは: " , ticket);
{
buy1 = OrderOpenPrice(); //1番目の注文の価格をこの変数に取り込む
// Comment("order #1open price is ", OrderOpenPrice() + " + buy1 + " less than " + (buy1-0.0030));
if (buy1>=(buy1-0.0030))。
{
//if ( OrdersTotal() <= buy_trade1 ) //1つ注文を出したら停止する。
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+ TakeProfit*Point)とする。
//execute_trade=0。
}
}
その他
Print("OrderSelectは",GetLastError())のエラーを返しました。
}