コーディングの方法は? - ページ 230 1...223224225226227228229230231232233234235236237...347 新しいコメント xx3xxx 2010.04.09 04:06 #2291 2010年のチャートを見る ストキャスティクスの リーグ戦のことです。 ストキャスティックチャートを初期の頃に使っていたように -- 2010年のチャートにも適用できるのか -- 彼らは本物のトレーダーです、バッド、あなたは彼の課題を持つことができます -- 私はノンバンディングルベーグ積分数学プログラミングに取り組んでいます -- 映画「彼女は私のリーグの外」を覚えています --- 良い仕事は良い報酬を意味します ------。 コードを読むと、2010年の現在の投資スタイルより少し洗練されていない。 William Snyder 2010.04.09 04:11 #2292 scottyb: コンパイル時に発生する呪われたカッコの不具合について、可能な限りのコンボを試しました。何時間もこの問題に取り組んできましたが、解決には至りませんでした。私は、スクリプトを台無しにするコードのセクションに釘付けになりました。どなたか、何が問題なのかアドバイスください(私がバカであることは別として)。 void ScanForClosure (){int cash = OrderProfit() + OrderSwap() + OrderCommission()int MacdCurrent、MacdPrevious、SignalCurrent;int SignalPrevious, MaCurrent, MaPrevious;int total2 = OrdersTotal();int numords2 = 0;bool type = false;int trd2 = 0;MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)。MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0); MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1); SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1);ArrayResize(lastOrders,5).ArrayInitialize(lastOrders,5)。ArrayInitialize(lastOrders,0)。//for(int cnt=0; cnt<total2; cnt++){OrderSelect(cnt, SELECT_BY_POS);if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) ;{if ((オーダータイプ()==OP_BUY)&&(MacdCurrent>0)){。(MacdCurrent>0)&&&。(MacdCurrent<SignalCurrent)&&(キャッシュ>0)&&(キャッシュ>0)(キャッシュ>0)&&(MacdPrevious>SignalCurrent)(MacdPrevious>SignalPrevious) && MacdCurrent>(MACDCloseLevel*Point));{CloseOrder(1);}if ((オーダータイプ()==OP_SELL)&&(キャッシュ>0)&&(キャッシュ>0))(キャッシュ > 0)&& (MacdCurrent<0 ) && (キャッシュ > 0) && (MacdCurrent>サイン)(MacdCurrent>SignalCurrent)&&&。(MacdPrevious<SignalPrevious)&&&。(MathAbs(MacdCurrent))>(MACDCloseLevel*Point));{CloseOrder(2);}}}} Scottyさん、こんにちは。 macdの サンプルよりコピーしています。 if(OrderType()==OP_BUY) { if(MacdCurrent>0 && cash > 0 && MacdCurrentSignalPrevious && MacdCurrent>(MACDCloseLevel*Point)) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet)。 return(0); } それ以外 { if(MacdCurrent 0 && MacdCurrent>SignalCurrent &&) MacdPrevious(MACDCloseLevel*Point)) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // クローズ位置 return(0); } リーガル ツール William Snyder 2010.04.09 04:24 #2293 forextrend: このコードでは、なぜ間違ったパラメータ数のエラーが発生するのでしょうか?for(int i = 0;i < 3;i++) { kline = iStochastic(NULL,TimeFrame1, Period(), 4, 3, 3, MODE_SMA, 1, MODE_MAIN, i); dline = iStochastic(NULL,TimeFrame1, Period(), 4, 3, 3, MODE_SMA, 1, MODE_SIGNAL, i); こうあるべき int counted_bars = IndicatorCounted(); int limit,i; if(counted_bars<0)戻り値(-1)。 if(counted_bars>0) counted_bars--; limit = Bars - counted_bars; for(int i=limit; i>=0; i--) { kline = iStochastic(NULL,TimeFrame1, 4, 3, 3, MODE_SMA, 1, MODE_MAIN, i); dline = iStochastic(NULL,TimeFrame1, 4, 3, 3, MODE_SMA, 1, MODE_SIGNAL, i)となります。 リーガル ツール scottyb 2010.04.09 06:06 #2294 ありがとうございます。 その投稿された例では、すべてのオープンチケットをスキャンするのでしょうか? 私はそれが2つ(単一の買いと単一の売り)、おそらく毎回同じものをスキャンするだけだと思います:/私はこのMt4プログラミングに非常に新しいですが、私はそれが起こるだろうと確信しています。 scottyb 2010.04.09 09:18 #2295 わかった 10時間も同じ問題を見つめていて、解決できないとは驚きです。 もう一回見てみたんだ。 目が覚めたら、5分で直ってた。 このMT4のコードは非常にタイトなようだ。 その求めているものを正確にコーディングする必要があるようです(他の10ヶ国語で全く同じことができ、動作するかどうかは別として)。 私は、World of Warcraftのボットを作って、キャラクターをゲーム内で勝手に走らせ、物を殺すようにしましたが、MT4で単純な売買ルーチンを作ろうとすると、苦労します。 とにかく、私の教訓は、ifの行に書くことを制限することです。 私のような苦労をする人が少しでも減ればと思います。 OrderSelect(cnt, SELECT_BY_POS); if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if (オーダータイプ()==OP_BUY) if (利益>0) if (MacdCurrent<SignalCurrent) if (MacdCurrent>0)の場合 if (MacdPrevious>SignalPrevious)もしも、(MacdCurrent>SignalPrevious) if (MacdCurrent>(MACDCloseLevel*Point)) { CloseOrder(1); } if (オーダータイプ()==OP_SELL) if ((MacdCurrent<0 )) if (利益 >0 ) if (MacdCurrent>SignalCurrent) if (MacdPrevious<SignalPrevious) if (MathAbs(MacdCurrent) >(MACDCloseLevel*Point)) 初めての方からの基本的な質問 [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 コーディングのヘルプ purplxd 2010.04.14 03:00 #2296 コードアシスト - フラクタル こんにちは。 私が取り組んでいるシステムの一部として、以下のことを行うために必要なコードについて、いくつかの助けを探しています。 有効なロングif。 (最も古いものから最も新しいものまで1-xで番号付け) -> フラクタルダウン2よりも高いフラクタルポイントダウン1 -> フラクタル・アップ1が形成され、ブレイク・ロングの可能性がある状態を作り出すが、しかし -> フラクタル・ダウン3がフラクタル・ダウン2より高くなければならない。 -- トレンドの転換が確認できる。アッパーフラクタルを ブレイクアップした場合、有効なTRUEとなる。新しい下位フラクタルが形成された場合、それが新しいブレイクポイントとなるunless前のフラクタルダウンより下位のフラクタルダウンがある場合。下方のフラクタルは、高値を更新しているはずである。 ショート検証の場合は、その逆となる。 乾杯 アーロン purplxd 2010.04.14 03:06 #2297 もう少しうまく説明できるかもしれません。 つまり、価格が上昇トレンドにあり、上部フラクタルが 形成されます。価格が下落し、底値のフラクタルが形成されます。さらに下落を続け、下部のフラクタルが形成されます。 その後、価格が上昇し、新たに下降し、上部のフラクタルが形成されます。 相場は後退し、再び底値のフラクタルが形成されますが、これは前回の底値のフラクタルより高い位置にあります。 このとき、価格は前回の上段フラクタルをブレイクし、有効なブレイクロング条件となります。 PS 新たな下降線と上限線が形成されたが、下降線が引き続き高値を更新している場合、新たなブレイクポイントは直近の上限線となる。 PPS 下部のフラクタルが形成され始めたら、条件はリセットされ、上記の条件またはその逆条件でブレイクのショートを検証し続ける。 乾杯 アーロン Nopik 2010.04.14 03:48 #2298 また、具体的にどのようなプログラミングのお手伝いが必要でしょうか?システム全体のプログラミングが必要ですか? purplxd 2010.04.14 03:52 #2299 そのロジックの部分だけ。 ValidBuy = FALSEというboolがあるとします。 という条件ロジックが発生したら、それをTRUEに設定します。 配列の値を比較するのは配列だと思うのですが、配列のコーディングに関してはそれほど得意ではありません。 ありがとうございました。 Aaron Nopik 2010.04.14 05:30 #2300 配列を使う必要はありません。ただ、与えられたフラクタルのレベルを求める関数を 作成し、以下のように呼び出すことができます。 double fractal = FindFractal( 0, MODE_LOWER );[/CODE] first parameter being number of fractal (0-last, 1-one before last, etc.) and second parameter telling if you want upper or lower fractal. Then, you can code like this: [CODE]double last_lower_fractal = FindFractal( 0, MODE_LOWER ); double previous_lower_fractal = FindFractal( 1, MODE_LOWER ); if( last_lower_fractal > previous_lower_fractal ) { //we have found that most recent lower fractal is higher than its predecessor, do rest of your logic here. } How to code? ifractals [ARCHIVE!] Any rookie question, 1...223224225226227228229230231232233234235236237...347 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
2010年のチャートを見る
ストキャスティクスの リーグ戦のことです。
ストキャスティックチャートを初期の頃に使っていたように -- 2010年のチャートにも適用できるのか -- 彼らは本物のトレーダーです、バッド、あなたは彼の課題を持つことができます -- 私はノンバンディングルベーグ積分数学プログラミングに取り組んでいます -- 映画「彼女は私のリーグの外」を覚えています --- 良い仕事は良い報酬を意味します ------。
コードを読むと、2010年の現在の投資スタイルより少し洗練されていない。
コンパイル時に発生する呪われたカッコの不具合について、可能な限りのコンボを試しました。何時間もこの問題に取り組んできましたが、解決には至りませんでした。私は、スクリプトを台無しにするコードのセクションに釘付けになりました。どなたか、何が問題なのかアドバイスください(私がバカであることは別として)。
void ScanForClosure ()
{
int cash = OrderProfit() + OrderSwap() + OrderCommission()
int MacdCurrent、MacdPrevious、SignalCurrent;
int SignalPrevious, MaCurrent, MaPrevious;
int total2 = OrdersTotal();
int numords2 = 0;
bool type = false;
int trd2 = 0;
MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)。
MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0); MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1); SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);
MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1);
ArrayResize(lastOrders,5).ArrayInitialize(lastOrders,5)。
ArrayInitialize(lastOrders,0)。
//
for(int cnt=0; cnt<total2; cnt++)
{
OrderSelect(cnt, SELECT_BY_POS);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) ;
{
if ((オーダータイプ()==OP_BUY)&&(MacdCurrent>0)){。
(MacdCurrent>0)&&&。
(MacdCurrent<SignalCurrent)&&(キャッシュ>0)&&(キャッシュ>0)
(キャッシュ>0)&&(MacdPrevious>SignalCurrent)
(MacdPrevious>SignalPrevious) && MacdCurrent>(MACDCloseLevel*Point));
{
CloseOrder(1);
}
if ((オーダータイプ()==OP_SELL)&&(キャッシュ>0)&&(キャッシュ>0))
(キャッシュ > 0)&& (MacdCurrent<0 ) && (キャッシュ > 0) && (MacdCurrent>サイン)
(MacdCurrent>SignalCurrent)&&&。
(MacdPrevious<SignalPrevious)&&&。
(MathAbs(MacdCurrent))>(MACDCloseLevel*Point));
{
CloseOrder(2);
}
}
}
}Scottyさん、こんにちは。
macdの サンプルよりコピーしています。
if(OrderType()==OP_BUY)
{
if(MacdCurrent>0 && cash > 0 && MacdCurrentSignalPrevious &&
MacdCurrent>(MACDCloseLevel*Point))
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet)。
return(0);
}
それ以外
{
if(MacdCurrent 0 && MacdCurrent>SignalCurrent &&)
MacdPrevious(MACDCloseLevel*Point))
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // クローズ位置
return(0);
}
リーガル
ツール
このコードでは、なぜ間違ったパラメータ数のエラーが発生するのでしょうか?
for(int i = 0;i < 3;i++)
{
kline = iStochastic(NULL,TimeFrame1, Period(), 4, 3, 3, MODE_SMA, 1, MODE_MAIN, i);
dline = iStochastic(NULL,TimeFrame1, Period(), 4, 3, 3, MODE_SMA, 1, MODE_SIGNAL, i);
こうあるべき
int counted_bars = IndicatorCounted();
int limit,i;
if(counted_bars<0)戻り値(-1)。
if(counted_bars>0) counted_bars--;
limit = Bars - counted_bars;
for(int i=limit; i>=0; i--)
{
kline = iStochastic(NULL,TimeFrame1, 4, 3, 3, MODE_SMA, 1, MODE_MAIN, i);
dline = iStochastic(NULL,TimeFrame1, 4, 3, 3, MODE_SMA, 1, MODE_SIGNAL, i)となります。
リーガル
ツール
ありがとうございます。 その投稿された例では、すべてのオープンチケットをスキャンするのでしょうか? 私はそれが2つ(単一の買いと単一の売り)、おそらく毎回同じものをスキャンするだけだと思います:/私はこのMt4プログラミングに非常に新しいですが、私はそれが起こるだろうと確信しています。
わかった
10時間も同じ問題を見つめていて、解決できないとは驚きです。 もう一回見てみたんだ。 目が覚めたら、5分で直ってた。 このMT4のコードは非常にタイトなようだ。 その求めているものを正確にコーディングする必要があるようです(他の10ヶ国語で全く同じことができ、動作するかどうかは別として)。
私は、World of Warcraftのボットを作って、キャラクターをゲーム内で勝手に走らせ、物を殺すようにしましたが、MT4で単純な売買ルーチンを作ろうとすると、苦労します。
とにかく、私の教訓は、ifの行に書くことを制限することです。 私のような苦労をする人が少しでも減ればと思います。
OrderSelect(cnt, SELECT_BY_POS);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
if (オーダータイプ()==OP_BUY)
if (利益>0)
if (MacdCurrent<SignalCurrent)
if (MacdCurrent>0)の場合
if (MacdPrevious>SignalPrevious)もしも、(MacdCurrent>SignalPrevious)
if (MacdCurrent>(MACDCloseLevel*Point))
{
CloseOrder(1);
}
if (オーダータイプ()==OP_SELL)
if ((MacdCurrent<0 ))
if (利益 >0 )
if (MacdCurrent>SignalCurrent)
if (MacdPrevious<SignalPrevious)
if (MathAbs(MacdCurrent) >(MACDCloseLevel*Point))
コードアシスト - フラクタル
こんにちは。
私が取り組んでいるシステムの一部として、以下のことを行うために必要なコードについて、いくつかの助けを探しています。
有効なロングif。
(最も古いものから最も新しいものまで1-xで番号付け)
-> フラクタルダウン2よりも高いフラクタルポイントダウン1
-> フラクタル・アップ1が形成され、ブレイク・ロングの可能性がある状態を作り出すが、しかし
-> フラクタル・ダウン3がフラクタル・ダウン2より高くなければならない。
-- トレンドの転換が確認できる。アッパーフラクタルを ブレイクアップした場合、有効なTRUEとなる。新しい下位フラクタルが形成された場合、それが新しいブレイクポイントとなるunless前のフラクタルダウンより下位のフラクタルダウンがある場合。下方のフラクタルは、高値を更新しているはずである。
ショート検証の場合は、その逆となる。
乾杯
アーロン
もう少しうまく説明できるかもしれません。
つまり、価格が上昇トレンドにあり、上部フラクタルが 形成されます。価格が下落し、底値のフラクタルが形成されます。さらに下落を続け、下部のフラクタルが形成されます。
その後、価格が上昇し、新たに下降し、上部のフラクタルが形成されます。
相場は後退し、再び底値のフラクタルが形成されますが、これは前回の底値のフラクタルより高い位置にあります。
このとき、価格は前回の上段フラクタルをブレイクし、有効なブレイクロング条件となります。
PS 新たな下降線と上限線が形成されたが、下降線が引き続き高値を更新している場合、新たなブレイクポイントは直近の上限線となる。
PPS 下部のフラクタルが形成され始めたら、条件はリセットされ、上記の条件またはその逆条件でブレイクのショートを検証し続ける。
乾杯
アーロン
また、具体的にどのようなプログラミングのお手伝いが必要でしょうか?システム全体のプログラミングが必要ですか?
そのロジックの部分だけ。
ValidBuy = FALSEというboolがあるとします。
という条件ロジックが発生したら、それをTRUEに設定します。
配列の値を比較するのは配列だと思うのですが、配列のコーディングに関してはそれほど得意ではありません。
ありがとうございました。
Aaron
配列を使う必要はありません。ただ、与えられたフラクタルのレベルを求める関数を 作成し、以下のように呼び出すことができます。
first parameter being number of fractal (0-last, 1-one before last, etc.) and second parameter telling if you want upper or lower fractal.
Then, you can code like this:
[CODE]double last_lower_fractal = FindFractal( 0, MODE_LOWER );
double previous_lower_fractal = FindFractal( 1, MODE_LOWER );
if( last_lower_fractal > previous_lower_fractal )
{
//we have found that most recent lower fractal is higher than its predecessor, do rest of your logic here.
}